[Comm] Сборка mongoose web server и cc -ldl

Vladimir Zhirov vvzh.lists на gmail.com
Ср Дек 1 07:51:36 UTC 2010


Всем привет.

Возникла задача собрать веб-сервер mongoose
http://code.google.com/p/mongoose/. 
Пока не пакет, только бинарный исполняемый файл.

Поскольку в проекте используется динамическая загрузка
библиотек, в командной строке cc необходимо передавать 
опцию -ldl. Возникла проблема с расположением этой опции.

Строка в makefile выглядит примерно так:
$(CC) -ldl <другие опции> mongoose.c main.c -o $(PROG)

У меня на Simply Linux в результате получается:
main.c -o mongoose /tmp/.private/vvzh/ccwJbBvT.o: In function `load_dll':
mongoose.c:(.text+0x110b): undefined reference to `dlopen'
mongoose.c:(.text+0x1123): undefined reference to `dlsym' 
collect2: ld returned 1 exit status
make: *** [linux] Error 1

Если я перемещаю -ldl так:
$(CC) <другие опции> mongoose.c main.c -ldl -o $(PROG)
Всё нормально собирается.

Разработчику был направлен багрепорт c предложением переместить опцию, 
на что был получен ответ:

> It looks like "cc" command does something weird on your distribution.
> It does not behave like it needs to.

В связи с чем вопрос: есть ли отличия в gcc из p5, по сравнению
с другими бранчами/дистрибутивами (от ALT и не от ALT),
которые могли бы вызвать такое поведение?


Подробная информация о списке рассылки community