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

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

MyDC.ru _ Технические вопросы по RusHub'у _ linux luaplugin

Автор: Тимофей 26.12.2011, 13:51

Собственно, библиотека компилируется, но с варнингом:

Спойлер
Код
[root@gta src]# make      
g++ -O2 -Wall -Wextra -pipe -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/include/lua -I/usr/include/lua/5.1 -c -o /home/dc/rushub/lua_plugin/src/api.o /home/dc/rushub/lua_plugin/src/api.cpp
g++ -O2 -Wall -Wextra -pipe -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/include/lua -I/usr/include/lua/5.1 -c -o /home/dc/rushub/lua_plugin/src/Dir.o /home/dc/rushub/lua_plugin/src/Dir.cpp
g++ -O2 -Wall -Wextra -pipe -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/include/lua -I/usr/include/lua/5.1 -c -o /home/dc/rushub/lua_plugin/src/HubConfig.o /home/dc/rushub/lua_plugin/src/HubConfig.cpp
g++ -O2 -Wall -Wextra -pipe -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/include/lua -I/usr/include/lua/5.1 -c -o /home/dc/rushub/lua_plugin/src/LuaInterpreter.o /home/dc/rushub/lua_plugin/src/LuaInterpreter.cpp
g++ -O2 -Wall -Wextra -pipe -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/include/lua -I/usr/include/lua/5.1 -c -o /home/dc/rushub/lua_plugin/src/LuaPlugin.o /home/dc/rushub/lua_plugin/src/LuaPlugin.cpp
g++ -O2 -Wall -Wextra -pipe -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/include/lua -I/usr/include/lua/5.1 -c -o /home/dc/rushub/lua_plugin/src/LuaUtils.o /home/dc/rushub/lua_plugin/src/LuaUtils.cpp
g++ -O2 -Wall -Wextra -pipe -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/include/lua -I/usr/include/lua/5.1 -c -o /home/dc/rushub/lua_plugin/src/TaskList.o /home/dc/rushub/lua_plugin/src/TaskList.cpp
g++ -O2 -Wall -Wextra -pipe -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/include/lua -I/usr/include/lua/5.1 -c -o /home/dc/rushub/lua_plugin/src/TimerList.o /home/dc/rushub/lua_plugin/src/TimerList.cpp
g++ -O2 -Wall -Wextra -pipe -I/usr/include -I/usr/local/include -I/usr/include/lua5.1 -I/usr/include/lua -I/usr/include/lua/5.1 -c -o /home/dc/rushub/lua_plugin/src/Uid.o /home/dc/rushub/lua_plugin/src/Uid.cpp
g++ -llua -shared -fpic -lrt -o lua.so /home/dc/rushub/lua_plugin/src/api.o /home/dc/rushub/lua_plugin/src/Dir.o /home/dc/rushub/lua_plugin/src/HubConfig.o /home/dc/rushub/lua_plugin/src/LuaInterpreter.o /home/dc/rushub/lua_plugin/src/LuaPlugin.o /home/dc/rushub/lua_plugin/src/LuaUtils.o /home/dc/rushub/lua_plugin/src/TaskList.o /home/dc/rushub/lua_plugin/src/TimerList.o /home/dc/rushub/lua_plugin/src/Uid.o /home/dc/rushub/lua_plugin/src/tinyxml/tinyxml.a
/usr/bin/ld: warning: creating a DT_TEXTREL in a shared object.


Поле копирования в логе хаба имеется ошибка:
Спойлер2

Код
[Mon Dec 26 11:49:45 2011|982] INFO PluginList(41): Using plugins in: ./plugins/
[Mon Dec 26 11:49:45 2011|983] ERROR [./plugins/lua.so] PluginLoader(82): Can't open file './plugins/lua.so' because:./plugins/lua.so: undefined symbol: lua_gettop hand
le(0)
[Mon Dec 26 11:49:45 2011|983] WARN PluginList(139): Failure loading plugin: ./plugins/lua.so (./plugins/lua.so: undefined symbol: lua_gettop)
[Mon Dec 26 11:49:45 2011|983] INFO DcServer(207): Listening on 10.1.0.133:4111 TCP
[Mon Dec 26 11:49:45 2011|983] INFO DcServer(255): NMDC Server RusHub 2.3.8[beta] is running on [10.1.0.133]:4111 TCP
[Mon Dec 26 11:49:45 2011|983] INFO DcServer(231): Main loop start
[Mon Dec 26 11:49:47 2011|612] INFO DcServer(67): Received a 2 signal, quiting
[Mon Dec 26 11:49:47 2011|613] INFO DcServer(266): Main loop stop(0)
[Mon Dec 26 11:49:47 2011|613] INFO DcServer(141): Destruct DcServer
[Mon Dec 26 11:49:47 2011|614] ERROR [sock:4] Conn(407): Socket not closed: Interrupted system call [4]



Просьба откликнуться кто сталкивался, либо имеет представление как бороться с этой напастью...
UPD: платформа AltLinux =)

Автор: mariner 26.12.2011, 13:59

Цитата
AltLinux

Извини, брат, но у нас его нет.

Автор: Тимофей 26.12.2011, 14:26

Проблему удалось победить доставив статические версии библиотек:

Код
apt-get install liblua5-devel-static


Изменения в Makefile
Код
linux: $(OBJS)
$(CXX)  -llua -shared -lrt -fpic -o lua.so $(OBJS) $(CURDIR)/tinyxml/tinyxml.a /usr/lib/liblua.a

Автор: mariner 26.12.2011, 14:54

Код
$(CXX) -shared -lrt -fpic -o lua.so $(OBJS) $(CURDIR)/tinyxml/tinyxml.a /usr/lib/liblua.a

Тогда уж так. Только никто не гарантирует, что все расширения луа будут работать.

Автор: Тимофей 26.12.2011, 16:17

Вроде всё работает, но еще один вопросик назрел:
Лог хаба:
Mon Dec 26 14:24:34 2011] ./scripts/FirstRusHubBot/cmds.lua:105: warning: function 'SetUser' was deprecated. Use 'UID[sName] = Value' instead
Скрипт скачан с этого же сайта с поста автора, так и должно быть?

Автор: Saymon21 26.12.2011, 16:28

Core.SetUser устарела. Надо использовать UID[sName] = Value

Автор: Тимофей 27.12.2011, 15:46

Цитата(Saymon21 @ 26.12.2011, 16:28) *
Core.SetUser устарела. Надо использовать UID[sName] = Value

это был тонкий намек , что пора бы внести изменения в скрипт в первом посте соответствующей темы.. big_smile.gif

Автор: mariner 27.12.2011, 15:48

Перенеси, код же открыт.

Автор: Setuper 27.12.2011, 16:06

Поправил скрипт