[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