[Comm] ЦЕРНовская графика ROOT, Desktop 4.0 и экскурсия в Ubuntu 7.10
=?iso-8859-1?q?panov_=CE=C1_dec1=2Esinp=2Emsu=2Eru?=
=?iso-8859-1?q?panov_=CE=C1_dec1=2Esinp=2Emsu=2Eru?=
Ср Мар 26 22:19:26 MSK 2008
On Tue, 25 Mar 2008, Pavlov Konstantin wrote:
> lib/libCint.so собралась неправильно -- нужно чтобы она была слинкована с
> libdl.
>
> Видимо в ее строчке линковки не хватает -ldl.
Спасибо за совет! Это действительно так!
Мой пример
#include <dlfcn.h>
int main()
{
dlopen("Test", 0); dlerror();
return 0;
}
действительно компилится в команде
g++ -m32 -O2 Test.c -ldl -rdynamic
и не находит функции dlopen dlerror в команде
g++ -m32 -O2 Test.c -rdynamic
Но как заставить lib/libCint.so (и др. *.so) компилиться с правильной
опцией? Система ROOT состоит изтысяч файлов, команды компиляции которых
закопаны где-то в глубине сташно разветвленного Makefile. При этом
почему-то предполгагается, что -ldl по умолчанию включено. И это
предположение оправдывается во всех предыдущих AltLinux и в Ubuntu-7.10,
почему это не работает в Desktop 4? Нельзя ли -ldl как-нибудь включить
заранее, перед компиляцией? Где задаются умолчания для компилятора?
Александр Панов
Подробная информация о списке рассылки community