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

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

MyDC.ru _ VerliHub _ freebsd + verlihub + luaсокеты

Автор: dsd10 23.10.2012, 21:16

Всем привет.
Может тема замыленая, но все же.
Собираю хаб на фре 9.0 i386
установил все подряд и по разным манам. Почему все подряд? Да потому что фря свежая и порты тоже. Кстати с удовольствием поставил бы Верли 1.0.0, но он не собрался (((
Ставил 0.9.8 из портов...
Я уже после всего и не помню всех шагов. Но эти сокеты.. они не работают.
Симлинки вроде все есть.

Вот что у меня понаустановлено:

CODE
dc# pkg_info | grep lua
lua-5.0.3 Small, compilable scripting language providing easy access
lua-5.1.4_6 Small, compilable scripting language providing easy access
lua50-compat-5.1.r5_1 Lua 5.1 package compatibility layer for Lua 5.0.x
lua51-luasocket-2.0.2_1 IPv4 Sockets support for the Lua language
verlihub-plugins-luascript-1.8.1 LuaScript plugin for the VerliHub - a Direct Connect protoc


Ошибка:
<VerliHub> [ Lua ERROR ] 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_getmetatable"

Файлик core.so присутствует.
Шо делать?

Автор: mariner 23.10.2012, 21:30

скомпилировать луаплагин и луасокет слинкованными с liblua. На linux это помогает.

Автор: Saymon21 24.10.2012, 20:49

Если луа плагин стоит сноим его нафиг.
Если из портов стоит, например так:

Код
cd /usr/ports/net-p2p/verlihub-plugins-luascript && make deinstall

И готовим занова.
Код
cd /usr/ports/lang/lua && make install clean # В принципе можно конечно не делать, если стоит.
cd /usr/ports/net/luasocket && make install clean # В принципе можно конечно не делать, если стоит.
cd ~
fetch http://sourceforge.net/projects/verlihub/files/VH_Lua/1.8.1/lua-1.8.1.tar.gz
tar zxf lua-1.8.1.tar.gz
ln /usr/local/lib/lua/5.1/socket/core.so /usr/local/lib/libluasocket.so
ln /usr/local/lib/lua/5.1/mime/core.so /usr/local/lib/libluamime.so
,/configure --with-luasocket CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
gmake
make install


Как-то так. В 9ой фрибсд должно работать.

Автор: vex112 24.10.2012, 22:52

tar zxf lua-1.8.1.tar.gz ??? на версии 1.0.0 луа плагин идет в комплекте и 1.8.1 не работает ,с луасокетом решил проблему так:Правим скрипт vh В начало скрипта после шебанга (#!/bin/bash) добавляем строку:

export LD_PRELOAD="$LD_PRELOAD /usr/lib/liblua.so"

(путь к liblua.so может быть не таким, в частности, нередко это /usr/local/lib/liblua.so).
у меня например путь такой:/usr/lib/liblua5.1.so.0"

Автор: Saymon21 24.10.2012, 23:24

Ок. Почему пишу про 1.8.1? А ты прочитал какие версии ставит ТС?

Автор: dsd10 25.10.2012, 7:51

Цитата(Saymon21 @ 24.10.2012, 20:49) *
Если луа плагин стоит сноим его нафиг.
Если из портов стоит, например так:
Код
cd /usr/ports/net-p2p/verlihub-plugins-luascript && make deinstall

И готовим занова.
Код
cd /usr/ports/lang/lua && make install clean # В принципе можно конечно не делать, если стоит.
cd /usr/ports/net/luasocket && make install clean # В принципе можно конечно не делать, если стоит.
cd ~
fetch http://sourceforge.net/projects/verlihub/files/VH_Lua/1.8.1/lua-1.8.1.tar.gz
tar zxf lua-1.8.1.tar.gz
ln /usr/local/lib/lua/5.1/socket/core.so /usr/local/lib/libluasocket.so
ln /usr/local/lib/lua/5.1/mime/core.so /usr/local/lib/libluamime.so
,/configure --with-luasocket CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
gmake
make install


Как-то так. В 9ой фрибсд должно работать.

Да, и у меня так же все гладенько проходило, да только вот не работало ))) Ну не знаю почему, но никак.

Вобщем бился, бился... и поставил ubuntu )) Сразу не хотел убунту ставить потому, что там по дурацки работает apache. У меня же много функциональная машина.
Но, кстати про установку на ubuntu, я месяц назад собрал verlihub 1.0.0 на 12ой убунте, а в этот раз ну никак и все... и после того как целый день намучился (ну не проходит make и все...), плюнул и поставил ubuntu 10.10. Каково же было мое удивление: 20 минут!!! и сервак стоит, старая база в нем крутится и пользователи рады. big_smile.gif Теперь буду изучать убунтовское строение апача.
При установке верли 1.0.0 действительно не нужен луа 1.8.1.

Автор: mariner 25.10.2012, 9:45

Цитата
что там по дурацки работает apache.

На правах оффтопа - напиши что именно не так.
Ну и 10.10 скоро снимут с поддержки.

Автор: Saymon21 25.10.2012, 10:23

dsd10, Значит что-то делал не так. У меня вот и на фрибсд, и на убунте 10.10 в своё время всё заводилось нормально. И сокеты работали, при сборке плагина тем методом, что описал. 1.0.0 не пробовал правда ставить, ибо уже начал юзать русхаб.

Автор: dsd10 25.10.2012, 13:36

Цитата(mariner @ 25.10.2012, 9:45) *
На правах оффтопа - напиши что именно не так.
Ну и 10.10 скоро снимут с поддержки.

ну раз на правах, то вот:
Привыкши, что в freebsd все находится в одном файле httpd.conf реально сложно сразу разобраться как работает апач в убунте. Какие то sites-enabled и прочее... Стоило только поставть его, пхп и пхпадмина, так сама убунта в такое место phpmyadmin'а прописала, что без команды locate вообще не найти. И эта тема с включением и выключение модулей через a2en жесть какая то.
Во фре реально все проще... Да даже в CentOS проще. ))
Но когда была задача за короткое время собрать верлю с сокетами и люди ждали, увы, не было времени разбираться ))
Теперь будем привыкать. курить маны и читать книжки про убунту, т.к. надо еще поднять хостинг ))

А про 10.10... я думаю можно сделать apt-get dist-upgrade и она будет новой. Но только страшновато его делать... лучше не буду, ведь первое правило: "работает - не трогай big_smile.gif"

Цитата(Saymon21 @ 25.10.2012, 10:23) *
dsd10, Значит что-то делал не так. У меня вот и на фрибсд, и на убунте 10.10 в своё время всё заводилось нормально. И сокеты работали, при сборке плагина тем методом, что описал. 1.0.0 не пробовал правда ставить, ибо уже начал юзать русхаб.

Думаю, что бсд была еще старого хорошего релиза? Вообще на старых версиях, как правило, собирается быстрее и удачнее.
Русхаб интереснее? Пользователей конвертировали с верли? или по новой заводили?

Автор: Saymon21 26.10.2012, 2:13

Цитата
Думаю, что бсд была еще старого хорошего релиза?

бсд была 9.0, на которой я проверил перед тем как написать mini-howto, Со всем дефолтным, Так сказать as is.
Насчёт багбунты и апача. А кто заставляет юзать sites-enabled и a2en* ??????
a2en* всего-то создаёт симлинки на нужные конфиг файлы в директориях, кототорые прописаны в конфиге апача.
Это не значит, что нельзя писать виртуалхосты в apache2.conf. httpd.conf есть, но его надо заинклюдить.
Цитата
Русхаб интереснее? Пользователей конвертировали с верли? или по новой заводили?

Русхаб - для кого как. Если есть навык в написании скриптов, то да, интересней.
Проконвертить юзеров можно.

Автор: Vizunchik 30.10.2012, 22:16

ставлю на такой же системе
может кому то понадобиться данная тема

для начала клонируем верлик с офф гита

Код
git clone git://github.com/VerliHub/verlihub.git

сейчас будем патчить луа плагин для работы с луасокетами
Качаем патч http://mydc.ru/r/?http://verlihub.aliki.ru/files/lua-wrapper.patch
Код
wget http://verlihub.aliki.ru/files/lua-wrapper.patch

Патч надо положить в каталог с хабом и сделать
Код
patch -p0 < lua-wrapper.patch

если будет писать что тог типа такого
Цитата
# patch -p0 < lua-wrapper.patch
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/src/cdbconf.cpp b/src/cdbconf.cpp
|index 15baf25..9f6c9cb 100755
|--- a/src/cdbconf.cpp
|+++ b/src/cdbconf.cpp
--------------------------
File to patch:


пробуем
Код
patch -p1 < lua-wrapper.patch
и так далее пока не заработаем -p1 , -p2 , -p3

затем переходим к сборке верлика
Код
cmake .
make && make install && make clean

дальше как обычно
Код
vh_install

Если vh_install не работает то используем команду
Код
vh -i

После установки верлика не спешим его запускать
а идём редактировать файл dbconfig в самом конце дописываем
Код
locale = ru_RU.CP1251

ну дальше уж запускаем и тестим