Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

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
действовал согласно инструкции: http://mydc.ru/r/?http://forum.ubuntu.ru/index.php?topic=144102.0
она же приведена в readme исходников
тини и собирается без проблем
луа собирается после изменения мэйкфайла, а вот с самим хабом - затык.
Система Altlinux, возможно не хватает библиотек которых нет в описании?
Скачал с sf версию 2.3.0 попытался собрать на другом компе, та же проблема...
какая версия компилятора используется в ubuntu?
gcc4.4-c++ - (дефолт)
gcc4.3-c++ - без изсенений
gcc4.1-c++ - без изменений + куча варнингов

Автор: Alexey 8.8.2011, 21:24

По http://mydc.ru/r/?http://wiki.mydc.ru/%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_RusHub_%D0%B8_Lua_%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0_%D0%B8%D0%B7_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2_%D0%BD%D0%B0_Ubuntu_10.10 инструкции собери. Если из транка не собирается, то последняя из тэгов точно должна собраться.

Автор: kotuk 8.8.2011, 21:55

Цитата(Alexey @ 8.8.2011, 20:24) *
По http://mydc.ru/r/?http://wiki.mydc.ru/%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_RusHub_%D0%B8_Lua_%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0_%D0%B8%D0%B7_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2_%D0%BD%D0%B0_Ubuntu_10.10 инструкции собери. Если из транка не собирается, то последняя из тэгов точно должна собраться.


Последняя из тагов 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



Собственно, логично предположить, что проблема не с исходниками, а с моим дистрибутивом. extreme_sexy_girl.gif Буду признателен если подскажут где копать...

Автор: Setuper 8.8.2011, 22:25

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

http://mydc.ru/r/?http://www.altlinux.org/UpStream/AsNeeded

То есть, во всей видимости, предлагается собирать так:

Код
RusHub: $(OBJS)
    $(CXX) -lrt -o RusHub $(OBJS) -ldl $(CURDIR)/tinyxml/tinyxml.a

Автор: kotuk 11.8.2011, 10:07

Благодарю, всё собралось.

Автор: mariner 11.8.2011, 10:56

А потом люди удивляются - а почему на альте так мало народа. Да потому, что они программные фашисты super_man.gif