MyDC.ru _ Технические вопросы по RusHub'у _ freebsd 8.2 & RusHub
Автор: gor1k 24.8.2011, 16:23
Есть система
Код
[root@ns3 /]# uname -a FreeBSD ns3.nkstv.net 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
и собственно RusHub c
Код
[root@ns3 /]# pkg_info | grep lua lua-5.1.4_6 Small, compilable scripting language providing easy access lua51-luasocket-2.0.2_1 IPv4 Sockets support for the Lua language luasql-sqlite3-2.1.1_1 Lua interface to SQLite3
вот скрипты
Код
17:18:49] <RusHubBot> *** Скрипты:
№ 01 [ вкл ] FirstRusHubBot.lua (145 Кб) № 02 [ вкл ] announcements.lua (38 Кб) № 03 [ вкл ] Informer.lua (25 Кб) № 04 [ вкл ] EasyChat.lua (36 Кб) № 05 [ вкл ] BanManager.lua (58 Кб) № 06 [ вкл ] talkingbot_for_RusHub.lua (31 Кб) № 07 [ вкл ] Ban.lua (31 Кб) № 08 [ выкл ] logger.lua № 09 [ вкл ] chathist.lua (62 Кб) № 10 [ вкл ] actions.lua (179 Кб) № 11 [ выкл ] Weather.lua
*** Общее использование памяти скриптами: 605 Кб
Weather.lua & logger.lua на работают. ковырял ковырял, так и не понял что с этим делать. в логах вот такая ошибка
Код
more logs/lua_errors.log [Thu Jan 1 03:00:00 1970] error loading module 'luasql.sqlite3' from file '/usr/local/lib/lua/5.1/luasql/sqlite3.so': /usr/local/lib/lua/5.1/luasql/sqlite3.so: Undefined symbol "lua_touserdata" [Thu Jan 1 03:00:00 1970] error loading module 'socket.core' from file '/usr/local/lib/lua/5.1/socket/core.so': /usr/local/lib/lua/5.1/socket/core.so: Undefined symbol "lua_insert"
подскажите что не так сделал и как жить дальше.
Автор: mariner 24.8.2011, 16:28
Проблема в линковке. Русхаб проверенно работает только в случае динамической линковки луа. Пересоберите луа.
Автор: gor1k 24.8.2011, 17:28
Цитата(mariner @ 24.8.2011, 16:28)
Проблема в линковке. Русхаб проверенно работает только в случае динамической линковки луа. Пересоберите луа.
скачал исходники lua-5.1.4 luasocket-2.0.2 как реализовать
копирую lua.so -> plugins запускаю хаб.. и т.д. потом у меня все работает за исключением тех двух скриптов.
Автор: mariner 24.8.2011, 18:15
я написал почему. неверная линковка.
Автор: gor1k 24.8.2011, 18:28
Цитата(mariner @ 24.8.2011, 18:15)
я написал почему. неверная линковка.
я что то не втыкаю что сделать то нужно, чтобы все заработало.. в исходниках lua & luasocket я не нашел ничего такого что указывало бы на динамические линки. на пальцах, если можно, распиши. что, как и где. исходники у меня есть. последние версии.
Автор: mariner 24.8.2011, 19:19
Ну в общем смотри. Что тебе надо сделать. 1ое - скачай сурцы луа, а потом распакуй и перейди в директорию src. Теперь замени Makefile на вот этот: http://mydc.ru/r/?http://paste.ubuntu.com/673928/ А потом make liblua.so выполняешь и вуаля. У тебя динамическая либа луа. А дальше тебе надо с ней линковаться. Думаю статья http://mydc.ru/r/?http://www.adp-gmbh.ch/cpp/gcc/create_lib.html поможет понять что к чему.
UPD А рассылке луа нашел отличную ссылку. http://mydc.ru/r/?http://lua-users.org/lists/lua-l/2006-10/msg00091.html
Автор: ShadoWx 25.8.2011, 11:15
Николай, стал заменять ваш makefile и вот что пишет при старте компиляции:
Код
[root@godc /usr/rhub/lua-5.1.4]#gmake freebsd cd src && gmake freebsd gmake[1]: Entering directory `/usr/rhub/lua-5.1.4/src' Makefile:53: *** missing separator (did you mean TAB instead of 8 spaces?). Stop. gmake[1]: Leaving directory `/usr/rhub/lua-5.1.4/src' gmake: *** [freebsd] Error 2
заменял пробелы табами ..в итоге он не собирает .
Автор: mariner 25.8.2011, 15:09
как бы все собралось. Ждите инструкцию.
Автор: gor1k 25.8.2011, 15:30
Цитата(mariner @ 25.8.2011, 15:09)
как бы все собралось. Ждите инструкцию.
+1, не собирается. Makefile кривой оператора нет перед строчкой
Автор: mariner 25.8.2011, 15:40
У вас табуляция побилась. Таб поставьте.
Автор: ShadoWx 26.8.2011, 20:49
как и обещал вот инструкция: http://mydc.ru/topic4958.html