- есть ли общий способ собрать пакет статически, vt, 10:43 , 23-Фев-06 (1)
>вот что делать когда ну надо и все!!!??? Есть один уникальный дистрибутив Bent Linux: small simple distro, statically linked against uClibc http://bent.latency.net/bent/ Можно посмотреть как автор это собирает, а можно просто взять готовые пакеты - есть ли общий способ собрать пакет статически, Wulf, 18:00 , 23-Фев-06 (2)
>вот что делать когда ну надо и все!!!??? еще можно сделать "финт ушами" - удалить динамические версии либ перед линковкой.
- есть ли общий способ собрать пакет статически, resu, 19:09 , 23-Фев-06 (3)
> Есть один уникальный дистрибутив > Bent Linux: small simple distro, statically linked against uClibc <http://bent.latency.net/bent>/ > Можно посмотреть как автор это собирает, спасибо, про этот дистри я не знал. посмотрел пару пакетов, но там было: LDFLAGS="-static" а такое у меня прокатило далеко не со всеми пакетами. я еще эту тему поковыряю. > еще можно сделать "финт ушами" - удалить динамические версии либ перед линковкой. я думаю не перед линковкой, а перед configure, но это не выход, т.к. они нужны для других программ а вот если бы можно было как-то пересобрать готовый динамически слинкованый бинарник в новый статически слинкованый. вот это бы решило много проблемм.
- есть ли общий способ собрать пакет статически, Аноним, 13:55 , 24-Фев-06 (4)
>> еще можно сделать "финт ушами" - удалить динамические версии либ перед линковкой. > >я думаю не перед линковкой, а перед configure, но это не выход, >т.к. они нужны для других программ можно поступить творчески и просто переименовать их на время компиляции, а не совсем удалять :-) В любом случае существует 2 способа: 1. подсунуть линковщику нужную опцию (-static для гнутых ld и cc) - требует ковыряния Makefile - что вам не понравилось. 2. Временно удалить некошерные версии библиотек. Вам тоже не понравилось. Вам не угодишь :-) > >а вот если бы можно было как-то пересобрать >готовый динамически слинкованый бинарник в новый статически слинкованый. вот это бы решило >много проблемм.Пересобирать - бессмысленно. Статические и динамические библиотеки компилируются с разными опциями (-FPIC), из-за этого такой процесс совершается с ними дважды, отдельно для статических и отдельно для динамических. Лучше поместить прогу с либами в отдельный каталог и для запуска использовать простейший shell-wrapper, который будет устанавливать LD_LIBRARY_PATH на нужную директорию с правильными либами.
- есть ли общий способ собрать пакет статически, Wulf, 14:05 , 24-Фев-06 (5)
Вредно постить непохмеленным. Анонимом, почему-то, становишся. Наверное, от этого куки в браузере дезинтегрируются.
- есть ли общий способ собрать пакет статически, Resu, 18:50 , 24-Фев-06 (6)
>Вредно постить непохмеленным. в любом случае спасибо >Пересобирать - бессмысленно. Статические и динамические библиотеки >компилируются с разными опциями (-FPIC), из-за этого такой процесс >совершается с ними дважды, отдельно для статических и отдельно для >динамических. а вот етого я не знал. думал, что компилятор всегда переводит .c в абсолютно стандартный .о, a вот линковщик (в зависимости от опций) подлкючает статику или динамику. спасибо >Лучше поместить прогу с либами в отдельный каталог и для >запуска использовать простейший shell-wrapper, который будет устанавливать >LD_LIBRARY_PATH на нужную директорию с правильными либами. пока что так и решил (точнее обошел) проблему, но как вы сказали: мне не угодишь. просто хотел сделать лучше чем "как всегда". ну а если по сути, то дело не в ковырянии файлов, а в отсутствии стандартного подхода по решению задачи (точнее не знании мной оного). мне (возможно по незнанию) приходиться ковырять то Makefile то libtool, кому достаточно сказать LDFLAGS=-static перед configure, кому етого мало, а с иными проектами вообще никак не получается. а было бы здорово если бы наряду со strip был бы некий инструмент relink --static
|