Hello I tried to compile a Go program on ARM with dynamic link. 
Why dynamic? Because the libs I use in C are proprietary and the 
constructor does not want to compile in static.

I build like this:

export PATH=$PATH:/home/ronron/aml_npu_sdk_6.4.3/toolchains/
export CGO_ENABLED=1
export LIB_DIR=$TOOLCHAIN/../aarch64-linux-gnu/libc/lib
export ROOTSDK=/home/ronron/aml_npu_sdk_6.4.3/
export 
VIVANTE_SDK_INC="/home/ronron/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk_6.4.2.1/build/sdk/include"
export 
AQROOT="/home/ronron/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk_6.4.3/build"
export OVXLIB_DIR="$ROOTSDK/linux_sdk/linux_sdk_6.4.3/acuity-ovxlib-dev"
export 
OPENCV_ROOT="/home/ronron/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk_6.4.0.10/build/sdk/opencv3-3.4.3"
export CGO_CFLAGS="-I$VIVANTE_SDK_INC -I$VIVANTE_SDK_INC/HAL 
-I$AQROOT/sdk/inc  -I./ -I$OVXLIB_DIR/include/utils 
-I$OVXLIB_DIR/include/client  -I$OVXLIB_DIR/include/ops 
-I$OVXLIB_DIR/include -I$OVXLIB_DIR/third-party/jpeg-9b -DgcdSTATIC_LINK=0"
export CGO_CPPFLAGS="-I$VIVANTE_SDK_INC -I$VIVANTE_SDK_INC/HAL 
-I$AQROOT/sdk/inc  -I./ -I$OVXLIB_DIR/include/utils 
-I$OVXLIB_DIR/include/client  -I$OVXLIB_DIR/include/ops 
-I$OVXLIB_DIR/include -I$OVXLIB_DIR/third-party/jpeg-9b -DgcdSTATIC_LINK=0"
export CGO_LDFLAGS=" -lpthread -ldl -L$OVXLIB_DIR/lib -L $OPENCV_ROOT/lib 
-L$AQROOT/sdk/lib 
-L/home/ronron/aml_npu_sdk_6.4.3/linux_sdk/linux_sdk_6.4.3/build/sdk/drivers_32 
-ljpeg -lovxlib -L$VIVANTE_SDK_LIB -lOpenVX  -lovxlib  -shared   
-lopencv_imgproc -lopencv_core -lopencv_videoio -lopencv_imgcodecs 
-lopencv_highgui -lz -lm"
go build  -linkshared  -a

when I run program:
rron:~/test_go$ strace ./test_go te
execve("./test_go", ["./test_go", "te"], 0x7ff746a528 /* 27 vars */) = 0
--- SIGILL {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x7fadb45000} ---
+++ killed by SIGILL +++
Illegal instruction

I don't make crosscompiling and I don't see my error :( one idea ?

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/e8812dec-f788-4bb8-8ba0-0a8ab9a725aan%40googlegroups.com.

Reply via email to