Go Get OAuth2 Giving Me Weird Errors on Linux Mint - linux

Attempting to follow along with https://jacobmartins.com/2016/02/29/getting-started-with-oauth2-in-go/
When I run go get golang.org/x/oauth2 nothing weird comes up, but when attempting to run the code using go run main.go
I get the following in my terminal:
# google.golang.org/grpc/credentials
../../../google.golang.org/grpc/credentials/credentials_util_pre_go17.go:58:32: error: reference to undefined field or method ‘GetCertificate’
GetCertificate: cfg.GetCertificate,
^
../../../google.golang.org/grpc/credentials/credentials_util_pre_go17.go:69:32: error: reference to undefined field or method ‘ClientSessionCache’
ClientSessionCache: cfg.ClientSessionCache,
^
../../../google.golang.org/grpc/credentials/credentials_util_pre_go17.go:72:32: error: reference to undefined field or method ‘CurvePreferences’
CurvePreferences: cfg.CurvePreferences,
^
../../../google.golang.org/grpc/credentials/credentials_util_pre_go17.go:58:3: error: unknown field ‘GetCertificate’ in ‘tls.Config’
GetCertificate: cfg.GetCertificate,
^
# golang.org/x/net/http2/hpack
../../../golang.org/x/net/http2/hpack/huffman.go:14:20: error: reference to undefined identifier ‘sync.Pool’
var bufPool = sync.Pool{
^
../../../golang.org/x/net/http2/hpack/huffman.go:14:24: error: expected ‘;’ or newline after top level declaration
var bufPool = sync.Pool{
^
# golang.org/x/net/context/ctxhttp
../../../golang.org/x/net/context/ctxhttp/ctxhttp_pre17.go:36:5: error: reference to undefined field or method ‘Cancel’
req.Cancel = cancel
^
# golang.org/x/oauth2/jws
../../../golang.org/x/oauth2/jws/jws.go:75:17: error: reference to undefined identifier ‘base64.RawURLEncoding’
return base64.RawURLEncoding.EncodeToString(b), nil
^
../../../golang.org/x/oauth2/jws/jws.go:93:16: error: reference to undefined identifier ‘base64.RawURLEncoding’
return base64.RawURLEncoding.EncodeToString(b), nil
^
../../../golang.org/x/oauth2/jws/jws.go:113:16: error: reference to undefined identifier ‘base64.RawURLEncoding’
return base64.RawURLEncoding.EncodeToString(b), nil
^
../../../golang.org/x/oauth2/jws/jws.go:124:25: error: reference to undefined identifier ‘base64.RawURLEncoding’
decoded, err := base64.RawURLEncoding.DecodeString(s[1])
^
../../../golang.org/x/oauth2/jws/jws.go:151:41: error: reference to undefined identifier ‘base64.RawURLEncoding’
return fmt.Sprintf("%s.%s", ss, base64.RawURLEncoding.EncodeToString(sig)), nil
^
../../../golang.org/x/oauth2/jws/jws.go:174:33: error: reference to undefined identifier ‘base64.RawURLEncoding’
signatureString, err := base64.RawURLEncoding.DecodeString(parts[2])
Go version is go version xgcc (Ubuntu 4.9.3-0ubuntu4) 4.9.3 linux/amd64
Running Linux Mint 17.3 Cinnamon
Anyone know what I'm doing wrong?

Looks like you are using go cgo installation. On Linux mint golang-go seems to be the distribution name.
But I would suggest installing the latest version of go (or version go 1.5 atleast) as mentioned in the below link and try again.
https://golang.org/doc/install
Remove your current installation before proceeding with the golang-go installation.

Related

Issue while setting up Bluez on Ubuntu NUC: tools/mesh-cfgtest.c:132:10:10: error: Initializer element is not constant

I am trying to setup BLE-Mesh Provisioner on my Ubuntu NUC. Since kernel is already build in NUC Ubuntu with version 4.15.0-76 generic. Now I am trying to compile Bluez from source. I have performed following steps on my system:
Compiling dependency needed for bluez
Installing Json-library and Embedded Linux Library
Compiling Bluez
While compiling I am getting an error as:
tools/mesh-cfgtest.c:132:10: error: initializer element is not constant
.path = cli_app_path,
^
tools/mesh-cfgtest.c:132:10: note: (near initialization for ‘client_app.path’)
tools/mesh-cfgtest.c:133:16: error: initializer element is not constant
.agent_path = cli_agent_path,
^
tools/mesh-cfgtest.c:133:16: note: (near initialization for
‘client_app.agent_path’)
tools/mesh-cfgtest.c:141:12: error: initializer element is not constant
.path = cli_ele_path_00,
^
tools/mesh-cfgtest.c:141:12: note: (near initialization for
‘client_app.ele[0].path’)
tools/mesh-cfgtest.c:150:10: error: initializer element is not constant
.path = srv_app_path,
^
tools/mesh-cfgtest.c:150:10: note: (near initialization for ‘server_app.path’)
tools/mesh-cfgtest.c:151:16: error: initializer element is not constant
.agent_path = srv_agent_path,
^
tools/mesh-cfgtest.c:151:16: note: (near initialization for
‘server_app.agent_path’)
tools/mesh-cfgtest.c:159:12: error: initializer element is not constant
.path = srv_ele_path_00,
^
tools/mesh-cfgtest.c:159:12: note: (near initialization for
‘server_app.ele[0].path’)
tools/mesh-cfgtest.c:165:12: error: initializer element is not constant
.path = srv_ele_path_01,
^
tools/mesh-cfgtest.c:165:12: note: (near initialization for
‘server_app.ele[1].path’)
tools/mesh-cfgtest.c:214:9: error: initializer element is not constant
.idx = import_netkey_idx,
^
tools/mesh-cfgtest.c:214:9: note: (near initialization for
‘init_add_netkey_req.idx’)
tools/mesh-cfgtest.c:219:14: error: initializer element is not constant
.ele_path = cli_ele_path_00,
^
tools/mesh-cfgtest.c:219:14: note: (near initialization for
‘init_add_netkey_data.ele_path’)
tools/mesh-cfgtest.c:242:14: error: initializer element is not constant
.ele_path = cli_ele_path_00,
^
tools/mesh-cfgtest.c:242:14: note: (near initialization for
‘init_add_appkey_data.ele_path’)
tools/mesh-cfgtest.c:243:9: error: initializer element is not constant
.dst = import_node_unicast,
^
tools/mesh-cfgtest.c:243:9: note: (near initialization for
‘init_add_appkey_data.dst’)
tools/mesh-cfgtest.c:244:12: error: initializer element is not constant
.subnet = import_netkey_idx,
^
tools/mesh-cfgtest.c:244:12: note: (near initialization for
‘init_add_appkey_data.subnet’)
tools/mesh-cfgtest.c:271:14: error: initializer element is not constant
.ele_path = cli_ele_path_00,
^
tools/mesh-cfgtest.c:271:14: note: (near initialization for
‘test_add_appkey.ele_path’)
tools/mesh-cfgtest.c:272:9: error: initializer element is not constant
.dst = import_node_unicast,
^
tools/mesh-cfgtest.c:272:9: note: (near initialization for
‘test_add_appkey.dst’)
tools/mesh-cfgtest.c:273:12: error: initializer element is not constant
.subnet = import_netkey_idx,
^
tools/mesh-cfgtest.c:273:12: note: (near initialization for
‘test_add_appkey.subnet’)
tools/mesh-cfgtest.c:278:14: error: initializer element is not constant
.ele_path = cli_ele_path_00,
^
tools/mesh-cfgtest.c:278:14: note: (near initialization for
‘common_route.ele_path’)
tools/mesh-cfgtest.c:279:9: error: initializer element is not constant
.dst = import_node_unicast,
^
tools/mesh-cfgtest.c:279:9: note: (near initialization for ‘common_route.dst’)
tools/mesh-cfgtest.c:280:12: error: initializer element is not constant
. subnet = import_netkey_idx,
^
tools/mesh-cfgtest.c:280:12: note: (near initialization for
‘common_route.subnet’)
Makefile:7521: recipe for target 'tools/mesh-cfgtest.o' failed
make[1]: *** [tools/mesh-cfgtest.o] Error 1
Makefile:4468: recipe for target 'all' failed
make: *** [all] Error 2
I am attaching the screenshot for your reference:
Error Message:
I am following this reference to setup Bluez in system:
https://budimir.cc/2022/01/08/compile-bluez-from-source/
Please help me to resolve this problem while setting up bluez on Ubuntu.
I am expecting the exact solution or guide. How to set up Bluetooth-Low-Energy on Ubuntu. Basically when I was trying with Raspberrypi I was not able to install pygattlib and pybluez .. So I switched to Ubuntu and now I am expecting that there would be solution to resolve this issue. Please help me to resolve this issue

How can I change the CONFIG_ARCH_OPTIONAL_KERNEL_RWX value? by changing arch/Kconfig file directly?

I had asked a quesion at kernelnewbies email list and later I thought I found the answer (I thought I can put it in my defconfig). But then later found it was my mistake. So I still have the question and I ask it here to get answer.
This is what I see when I search “KERNEL_RWX” during “make menuconfig” for arm64 kernel(5-10.0-rc5).
The Kconfig file says CONFIG_STRICT_KERNEL_RWX is for setting text and rodata read-only.
Symbol: ARCH_OPTIONAL_KERNEL_RWX [=n]
Type : bool
Defined at arch/Kconfig:928
Symbol: ARCH_OPTIONAL_KERNEL_RWX_DEFAULT [=n]
Type : bool
Defined at arch/Kconfig:931
Symbol: STRICT_KERNEL_RWX [=y]
Type : bool
Defined at arch/Kconfig:937
Prompt: Make kernel text and rodata read-only
Depends on: ARCH_HAS_STRICT_KERNEL_RWX [=y]
Visible if: ARCH_HAS_STRICT_KERNEL_RWX [=y] && ARCH_OPTIONAL_KERNEL_RWX [=n]
Location:
(1) -> General architecture-dependent options
I wanted to try setting STRICT_KERNEL_RWX to =n. The 'Visible if' descriptionn says this option is visible when ARCH_OPTIONAL_KERNEL_RWX is =y which is now =n. (The STRICT_KERNEL_RWX menu didn't appear as a configurable menu in the menuconfig at this time). This is the lines in arch/Kconfig.
config ARCH_OPTIONAL_KERNEL_RWX
def_bool n
So I modified to ARCH_OPTIONAL_KERNEL_RWX=y in arch/Kconfig line 928. (BTW, This is question : is it correct to modify this Kconfig file directly? I’m not sure at the moment)
Then I could see the STRICT_KERNEL_RWX menu in the menuconfig and I set it to =n as I wanted.
But when I build the kernel, I see this errors.
ckim#ckim-ubuntu:~/ProjX/LinuxDevDrv/kernel-release-RD-INFRA-2020.11.30$ makeit
CALL scripts/atomic/check-atomics.sh
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/arm64/mm/mmu.o
arch/arm64/mm/mmu.c: In function 'parse_rodata':
arch/arm64/mm/mmu.c:595:28: error: 'rodata_enabled' undeclared (first use in this function)
595 | int ret = strtobool(arg, &rodata_enabled);
| ^~~~~~~~~~~~~~
arch/arm64/mm/mmu.c:595:28: note: each undeclared identifier is reported only once for each function it appears in
arch/arm64/mm/mmu.c: In function 'map_entry_trampoline':
arch/arm64/mm/mmu.c:614:18: error: 'rodata_enabled' undeclared (first use in this function)
614 | pgprot_t prot = rodata_enabled ? PAGE_KERNEL_ROX : PAGE_KERNEL_EXEC;
| ^~~~~~~~~~~~~~
arch/arm64/mm/mmu.c: In function 'map_kernel':
arch/arm64/mm/mmu.c:669:23: error: 'rodata_enabled' undeclared (first use in this function)
669 | pgprot_t text_prot = rodata_enabled ? PAGE_KERNEL_ROX : PAGE_KERNEL_EXEC;
| ^~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:283: arch/arm64/mm/mmu.o] Error 1
make[1]: *** [scripts/Makefile.build:500: arch/arm64/mm] Error 2
make: *** [Makefile:1799: arch/arm64] Error 2
variable “rodata_enabled” is defined in init/main.c as below.
#if defined(CONFIG_STRICT_KERNEL_RWX) || defined(CONFIG_STRICT_MODULE_RWX)
bool rodata_enabled __ro_after_init = true;
static int __init set_debug_rodata(char *str)
{
return strtobool(str, &rodata_enabled);
}
__setup("rodata=", set_debug_rodata);
#endif
But now that CONFIG_STRICT_KERNEL_RWX=n, the above lines are not compiled here (CONFIG_STRICT_MODULE_RWX=n too). However, arch/arm64/mm/mmu.c code is still using rodata_enabled. Is this a bug of the code? Or am I missing something?
I can modify init/main.c and include/linux/init.h so that this rodata_enabled and related functions be defined regardless of these CONFIG values and make the errors go away, but I’m curious if this a kind of kernel bug raising compiler error.
So again my question is how should I change ARCH_OPTIONAL_KERNEL_RWX value? I tried setting it in my defconfig file but when I do make xxx_defonfig, the .config file shows still ARCH_OPTIONAL_KERNEL_RWX=n. Should I edit the arch/Kconfig file really?

How to implement a TBB input_node?

Apparently in tbb::flow the source_node has been deprecated, and starting in the 2021.1 version we are only supposed to use input_node. Simply replacing the class does not seem to work, though. I have a working code using source_node in version 2020.3. If I try using input_node I get a cryptic message.
It seems input_node expects Body to implement a function that takes a flow_control object. Is this the case? Otherwise what is wrong here?
I cannot seem to be able to run any example codes with input_body.
====================[ Build | capybara | Debug-System ]==========================
/home/nicolau/bin/clion-2020.1.1/bin/cmake/linux/bin/cmake --build /home/nicolau/src/capybara/cmake-build-debug-system --target capybara -- -j 9
Scanning dependencies of target capybara
[ 50%] Building CXX object CMakeFiles/capybara.dir/main.cpp.o
In file included from /home/nicolau/src/oneapi-tbb-2021.1-beta08/include/tbb/flow_graph.h:345:0,
from /home/nicolau/src/capybara/main.cpp:9:
/home/nicolau/src/oneapi-tbb-2021.1-beta08/include/tbb/detail/_flow_graph_body_impl.h: In instantiation of ‘Output tbb::detail::d1::input_body_leaf<Output, Body>::operator()(tbb::detail::d1::flow_control&) [with Output = std::tuple<cv::Mat, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> > > >; Body = main(int, char**)::<lambda(imgtv&)>]’:
/home/nicolau/src/capybara/main.cpp:424:1: required from here
/home/nicolau/src/oneapi-tbb-2021.1-beta08/include/tbb/detail/_flow_graph_body_impl.h:88:66: error: no match for call to ‘(main(int, char**)::<lambda(imgtv&)>) (tbb::detail::d1::flow_control&)’
Output operator()(flow_control& fc) override { return body(fc); }
^
/home/nicolau/src/capybara/main.cpp:350:58: note: candidate: main(int, char**)::<lambda(imgtv&)>
tbb::flow::input_node<imgtv> src(g, [&](imgtv &v) -> bool {
^~~~
/home/nicolau/src/capybara/main.cpp:350:58: note: no known conversion for argument 1 from ‘tbb::detail::d1::flow_control’ to ‘imgtv& {aka std::tuple<cv::Mat, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> > > >&}’
CMakeFiles/capybara.dir/build.make:82: recipe for target 'CMakeFiles/capybara.dir/main.cpp.o' failed
make[3]: *** [CMakeFiles/capybara.dir/main.cpp.o] Error 1
CMakeFiles/Makefile2:95: recipe for target 'CMakeFiles/capybara.dir/all' failed
make[2]: *** [CMakeFiles/capybara.dir/all] Error 2
CMakeFiles/Makefile2:102: recipe for target 'CMakeFiles/capybara.dir/rule' failed
make[1]: *** [CMakeFiles/capybara.dir/rule] Error 2
Makefile:138: recipe for target 'capybara' failed
make: *** [capybara] Error 2
Apparently the interface has changed compared to source_node, and the function is now supposed to take a flow_control reference and return the new input object as output.
https://github.com/oneapi-src/oneTBB/issues/270#issuecomment-683645172

How do I fix this libgcrypt cross-compilation error?

I'm trying to cross compile GPG for an ElinOS on a board with an imx6. I have a problem when I compile libgcrypt. First, here's what I do:
export PATH=/opt/elinos/cdk/arm/v7hf/glibc/bin:$PATH
./configure --host=arm-unknown-linux-gnueabihf --build=i686-pc-linux-gnu
make all
The configuration part shows no errors or warning, but the make displays this:
hwf-arm.c:31:3: error: #error Module build for wrong CPU.
# error Module build for wrong CPU.
^
hwf-arm.c: In function 'get_hwcap':
hwf-arm.c:126:26: error: 'AT_HWCAP' undeclared (first use in this function)
if (auxv.a_type == AT_HWCAP)
^
hwf-arm.c:126:26: note: each undeclared identifier is reported only once for each function it appears in
hwf-arm.c:132:26: error: 'AT_HWCAP2' undeclared (first use in this function)
if (auxv.a_type == AT_HWCAP2)
^
In file included from hwf-arm.c:27:0:
hwf-arm.c: In function 'detect_arm_at_hwcap':
hwf-arm.c:159:23: error: 'arm_features' undeclared (first use in this function)
for (i = 0; i < DIM(arm_features); i++)
^
g10lib.h:96:24: note: in definition of macro 'DIM'
#define DIM(v) (sizeof(v)/sizeof((v)[0]))
^
hwf-arm.c: In function 'detect_arm_proc_cpuinfo':
hwf-arm.c:250:23: error: 'arm_features' undeclared (first use in this function)
for (i = 0; i < DIM(arm_features); i++)
^
g10lib.h:96:24: note: in definition of macro 'DIM'
#define DIM(v) (sizeof(v)/sizeof((v)[0]))
The first error leads me to this part of the code :
#if !defined (__arm__) && !defined (__aarch64__)
# error Module build for wrong CPU.
#endif
Any idea where this comes from? It looks like a configuration problem, but I'm not sure where to look now.
In the config.log file, CC was setup correctly: CC='arm-unknown-linux-gnueabihf-gcc'.
Yet I needed to specify it in the make command. So instead of simply using make all, which didn't work, I had to use make all CC=arm-unknown-linux-gnueabihf-gcc.

Error while compiling native audio sample

I am new to Android native ,trying to compile the native audio sample (Android 2.3),
while compiling it showing the error :undeclared as follows
its is the part of my errors:
apps/na/project/jni/native-audio-jni.c:562: error: 'bqPlayerObject' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:565: error: 'bqPlayerPlay' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:566: error: 'bqPlayerBufferQueue' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:567: error: 'bqPlayerEffectSend' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:571: error: 'fdPlayerObject' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:574: error: 'fdPlayerPlay' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:575: error: 'fdPlayerSeek' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:579: error: 'uriPlayerObject' undeclared(first use in this function)
apps/na/project/jni/native-audio-jni.c:582: error: 'uriPlayerPlay' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:583: error: 'uriPlayerSeek' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:587: error: 'recorderObject' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:590: error: 'recorderRecord' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:591: error: 'recorderBufferQueue' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:595: error: 'outputMixObject' undeclared(first use in this function)
apps/na/project/jni/native-audio-jni.c:598: error: 'outputMixEnvironmentalReverb' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:602: error: 'engineObject' undeclared (first use in this function)
apps/na/project/jni/native-audio-jni.c:605: error: 'engineEngine' undeclared (first use in this function)
make: *** [out/apps/na/armeabi/objs/native-audio-jni/native-audio-jni.o] Error 1
Can any one help me to compile it? I never came across the openMAX api's before.

Resources