Re: make
> Hello!
> On Sunday 10 January 2010 14:38:46 Aleksey Cheusov wrote:
>> > Указывайте при сборке -Wl,-rpath,/usr/local/lib, а то, что ставится из
>> > пакетов и знать не должно, что в /usr/local/lib могут быть библиотеки.
>>
>> А вот у некоторых все пакеты собираются с rpath.
> Хм... интересный вопрос - а как правильно-то?
На мой взгляд правильно - это привязать НАМЕРТВО каждый экзешник со
всеми либами, которые ему нужны, т.е. гораздо жестче, чем -rpath и уж
куда лучше, чем /etc/ld.so.conf
Кажется, так сделано в HP-UX.
http://docs.hp.com/en/B2355-90689/ld.1.html
-lx
...
If a program uses shared libraries, the dynamic loader
/usr/lib/dld.sl for 32-bit or /usr/lib/pa20_64/dld.sl for 64-bit will
attempt to load each library from the same directory in which it was
found at link time (see the +s and +b options).
Каждая либа вроде бы хранит место, где она будет лежать после
инсталляции. Между делом: кто-нибудь знает, где можно раздобыть экоунт
на более-менее современный HP-UX?
В MacOS-X вот есть опция линкера -install_name.
http://developer.apple.com/mac/library/DOCUMENTATION/Darwin/Reference/ManPages/man1/ld.1.html
Описана более ясно, чем в хпуксе.
-install_name name
Sets an internal "install path" (LC_ID_DYLIB) in a dynamic
library. Any clients linked against the library will record that path
as the way dyld should locate this library. If this option is not
specified, then the -o path will be used. This option is also called
-dylib_install_name for compatibility.
Очень правильно сделано.
> По логике, в дебиане вообще не
> должно быть /usr/local, так как это противоречит всему принципу пакетного
> менеджмента
Нет. Никто не мешает с помощью пакетного мэнеджера поставить пакеты в
/usr/local. "Поставил админ только для этого хоста" не значит "поставил
руками". Читай hier(7).
--
Best regards, Aleksey Cheusov.
Reply to:
- Follow-Ups:
- Re: make
- From: Victor Wagner <vitus@wagner.pp.ru>
- Re: make
- From: Oleksandr Gavenko <gavenko@bifit.com.ua>
- References:
- make
- From: Andrei Lomov <lomov@math.nsc.ru>
- Re: make
- From: Victor Wagner <vitus@wagner.pp.ru>
- Re: make
- From: Aleksey Cheusov <vle@gmx.net>
- Re: make
- From: Alexey Pechnikov <pechnikov@mobigroup.ru>