[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