- cross build openssl
- cross build xz
- cross build mender (client)
即使有把 libz.so 也放到 -L libpath,結果也一樣。
應該是沒有加上 -lz
所以只好依照官方文件,corss build openssl,這樣就會 disable zlib support,就不會需要 libz。
最後是偷懶把 openssl, xz 的 include/* copy 到 mylib/include,把 lib/* copy 到 mylib/lib
先加入 cross-compile toolpath
在宣告 cross compile tool:
export CC=aarch64-linux-gnu-gcc然後 make
make CGO_CFLAGS="-I/home/charles-chang/mylib/include" CGO_LDFLAGS="-L/home/charles-chang/mylib/lib" CGO_ENABLE=1 GOOS=linux GOARCH=arm64 TAGS=nodbus如果要 dbus 的話,還要 cross compile glib
其他這注意事項:
用 go 1.10 版失敗,先是說 main.go app 找不到,他一定要在 $GOPATH/src/github.com/mendersoftware,
但是照著 set GOPATH,clone ,error 變成語法錯誤。
最後還是改用 go 1.13 直接就成功了。
就 apt install golang-1.13,然後手動改 /usr/bin/go link 到 ../lib/go-1.13.0/bin/go
沒有留言:
張貼留言