Как статически связать программное обеспечение Linux, которое использует./configure?

Я хотел бы скомпилировать статический NRPE, чтобы я мог скопировать скомпилированный двоичный файл на сервер OmniOS, где я не хочу, чтобы на нем был установлен gcc. Я бы предпочел установить NRPE с поддержкой SSl из репозитория, но такого не существует, поэтому я хотел бы скомпилировать его сам. Тем не менее ./configure скрипт не содержит статическую опцию

~/nrpe-2.15# ./configure --help | grep static
~/nrpe-2.15# ./configure --help | grep share
  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]

Вопрос

Как мне скомпилировать программу, которая использует configure статически?

1 ответ

Попробуй это:

./configure LDFLAGS="-static"

Для людей, приходящих из Google, я обнаружил, что если у вас есть libtool часть вашей сборки, вам необходимо:

  1. ./configure CFLAGS="-static" ....
  2. make LDFLAGS="-all-static"

Ты это видишь -all-static с libtool --help --mode=link

Другие вопросы по тегам