LINUX.ORG.RU
ФорумAdmin

Не получается статическия компиляция

 , , ,


0

1

Иногда требуются статичные исполняемые файлы. Недавно мне потребовалось собрать в статическом исполнении утилиты для манипуляций с файлами метаданных GVFS.

Источник: https://www.linuxquestions.org/questions/linux-software-2/how-to-permanently-get-rid-of-this-horrible-gvfs-metadata-beast-4175530495/#post5978968

Сборка с помощью debuild успешна, однако, ldd говорит, что исполняемые файлы имеют зависимости. При установке флагов статической компиляции перед запуском debuild процесс сборки завершается ошибкой.

Научите, как правильно сделать сборку статичных исполняемых файлов используя debuild (в данном случае для GVFS, однако, интересен универсальный метод, который подойдёт для всех исходников).

★★

Сборка:

cd ~
mkdir src
cd src/
apt-get source gvfs
sudo apt-get build-dep gvfs
cd gvfs-1.28.2/
debuild -b -us -uc
sudo apt install devscripts
debuild -b -us -uc
cd metadata/.libs/
file meta-*
ll meta-*
mkdir bin
cp meta-* bin
mv bin ~
cd ~
rm -rf src
cd bin/
ldd *

zzdnx ★★ ()
Ответ на: комментарий от zzdnx

Установка флагов статической компиляции:

export CFLAGS=-static
export LDFLAGS=-static
export CPPFLAGS=-static
export CFLAGS_APPEND=-static
export LDFLAGS_APPEND=-static
export CPPFLAGS_APPEND=-static
или так:
CFLAGS=-static LDFLAGS=-static CPPFLAGS=-static CFLAGS_APPEND=-static LDFLAGS_APPEND=-static CPPFLAGS_APPEND=-static debuild -b -us -uc

zzdnx ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.