Сборка бинарного статического кода для запуска в другом дистрибутиве (AqBanking) - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу запустить 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, просто не могу установить системные пакеты в целевой системе.

...