静态构建二进制文件以在另一个发行版(AqBanking)上运行

时间:2018-11-29 17:14:19

标签: static-linking

出于安全原因,我想在不允许安装软件包的服务器上运行AqBanking。

我的想法是链接静态二进制文件。

我基本上是这样做的:

apt-get source aqbanking-tools
apt-get build-dep aqbanking-tools
./configure
make SHARED=0 CC='gcc -static'

我似乎也应用了该选项:

/bin/bash ../../../libtool  --tag=CC   --mode=link gcc -static -fvisibility=hidden -g -O2 -g -Wall -Wdeclaration-after-statement  -g -o aqbanking-cli main.o /home/self/libaqbanking-5.7.8/src/plugins/backends/aqhbci/plugin/libaqhbci.la /home/self/libaqbanking-5.7.8/src/libs/aqbanking/libaqbanking.la -L/usr/lib/x86_64-linux-gnu -lgwenhywfar -lstdc++ 
libtool: link: gcc -fvisibility=hidden -g -O2 -g -Wall -Wdeclaration-after-statement -g -o aqbanking-cli main.o  /home/self/libaqbanking-5.7.8/src/plugins/backends/aqhbci/plugin/.libs/libaqhbci.a -L/usr/lib/x86_64-linux-gnu /home/self/libaqbanking-5.7.8/src/libs/aqbanking/.libs/libaqbanking.a -lgmp -lgwenhywfar -lstdc++

但是将aqbanking-cli复制到另一台计算机后,我得到了:

./aqbanking-cli 
./aqbanking-cli: error while loading shared libraries: libgwenhywfar.so.60: cannot open shared object file: No such file or directory

如何获取可在任何地方运行的二进制文件?

EDIT :libgwenhywfar是一个不在包源中的库。它已经存在于构建系统中。如何将其链接到最终的二进制文件?

EDIT2 :我正在Ubuntu 18.04上构建并想在Debian 8上运行---也许这也是一个问题。我也可以在Debian 8上构建,只是不能在目标系统上安装系统软件包。

0 个答案:

没有答案