MyDC.ru _ Технические вопросы по RusHub'у _ Компиляция из SVN
Автор: kotuk 8.8.2011, 20:02
собственно subj вчера я пробовал собирать из svn: ошибка при сборке AdcProtocol.o сегодня свн обновился (rev 515 ) но опять таки собрать не получается:
Код
/var/srv/home/kotuk/dc/rushub/rushub/src/PluginLoader.o: In function `plugin::PluginLoader::isError()': PluginLoader.cpp:(.text+0x162): undefined reference to `dlerror' /var/srv/home/kotuk/dc/rushub/rushub/src/PluginLoader.o: In function `plugin::PluginLoader::loadSym(char const*)': PluginLoader.cpp:(.text+0x1be): undefined reference to `dlsym' /var/srv/home/kotuk/dc/rushub/rushub/src/PluginLoader.o: In function `plugin::PluginLoader::close()': PluginLoader.cpp:(.text+0x3d1): undefined reference to `dlclose' /var/srv/home/kotuk/dc/rushub/rushub/src/PluginLoader.o: In function `plugin::PluginLoader::open()': PluginLoader.cpp:(.text+0x700): undefined reference to `dlopen' collect2: ld returned 1 exit status make: *** [RusHub] Error 1
Автор: Saymon21 8.8.2011, 20:15
В хеад не всегда стабильные версии. Бери релизы в файловом архиве на sf
Автор: kotuk 8.8.2011, 20:19
Цитата(Saymon21 @ 8.8.2011, 19:15)
В хеад не всегда стабильные версии. Бери релизы в файловом архиве на sf
Только что попробовал с sf та же беда.... версия с 27.07.11 действовал согласно инструкции: она же приведена в readme исходников тини и собирается без проблем луа собирается после изменения мэйкфайла, а вот с самим хабом - затык. Система Altlinux, возможно не хватает библиотек которых нет в описании? Скачал с sf версию 2.3.0 попытался собрать на другом компе, та же проблема... какая версия компилятора используется в ubuntu? gcc4.4-c++ - (дефолт) gcc4.3-c++ - без изсенений gcc4.1-c++ - без изменений + куча варнингов
Автор: Alexey 8.8.2011, 21:24
По инструкции собери. Если из транка не собирается, то последняя из тэгов точно должна собраться.
Автор: kotuk 8.8.2011, 21:55
Цитата(Alexey @ 8.8.2011, 20:24)
По инструкции собери. Если из транка не собирается, то последняя из тэгов точно должна собраться.
Последняя из тагов 2.3.5_2.5
Код
src/WebProtocol.o /home/kotuk/dc/rushub/2.3.5_2.5/rushub/src/tinyxml/tinyxml.a /home/kotuk/dc/rushub/2.3.5_2.5/rushub/src/PluginLoader.o: In function `plugin::PluginLoader::isError()': PluginLoader.cpp:(.text+0x12c): undefined reference to `dlerror' /home/kotuk/dc/rushub/2.3.5_2.5/rushub/src/PluginLoader.o: In function `plugin::PluginLoader::loadSym(char const*)': PluginLoader.cpp:(.text+0x184): undefined reference to `dlsym' /home/kotuk/dc/rushub/2.3.5_2.5/rushub/src/PluginLoader.o: In function `plugin::PluginLoader::close()': PluginLoader.cpp:(.text+0x359): undefined reference to `dlclose' /home/kotuk/dc/rushub/2.3.5_2.5/rushub/src/PluginLoader.o: In function `plugin::PluginLoader::open()': PluginLoader.cpp:(.text+0x661): undefined reference to `dlopen' collect2: ld returned 1 exit status make: *** [RusHub] Error 1
Ради спортивного интереса попробовал 2.2.8_1.27
Код
/home/kotuk/dc/rushub/2.2.8_1.27/rushub/src/cpluginloader.o: In function `nPlugin::cPluginLoader::LoadSym(char const*)': cpluginloader.cpp:(.text+0x4a): undefined reference to `dlsym' cpluginloader.cpp:(.text+0x51): undefined reference to `dlerror' /home/kotuk/dc/rushub/2.2.8_1.27/rushub/src/cpluginloader.o: In function `nPlugin::cPluginLoader::Close()': cpluginloader.cpp:(.text+0x452): undefined reference to `dlclose' cpluginloader.cpp:(.text+0x457): undefined reference to `dlerror' /home/kotuk/dc/rushub/2.2.8_1.27/rushub/src/cpluginloader.o: In function `nPlugin::cPluginLoader::Open()': cpluginloader.cpp:(.text+0x597): undefined reference to `dlopen' cpluginloader.cpp:(.text+0x5a7): undefined reference to `dlerror' cpluginloader.cpp:(.text+0x6fc): undefined reference to `dlerror' collect2: ld returned 1 exit status make: *** [RusHub] Error 1
Собственно, логично предположить, что проблема не с исходниками, а с моим дистрибутивом. Буду признателен если подскажут где копать...
Автор: Setuper 8.8.2011, 22:25
Проблема в линковке под данную платформу линукса. Возможно требуется поиграть с опцией -ldl.
То есть, во всей видимости, предлагается собирать так: