myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
История благодарностей участнику Gatsu. Спасибо сказали: 7
Дата поста: В теме: За сообщение: Спасибо сказали:
1.2.2012, 18:49 Медиаресурс обмена данными для локалки
Сайт для локальной сети
Сделал сайт для обмена магнетками.
http://dcp.city-hub.ru/
Может он слишком сложный для пользователей - я как разработчик не могу об этом судить, так как для меня все на сайте ясно.
Возможно я не прав.
Nickolya
1.2.2012, 12:32 PtokaX 0.4.2.0 server start failed
Цитата(freman_ @ 1.2.2012, 13:23) *
собственно вот сам файл Settings.xml который лежит у меня в папке /usr/home/vek/PtokaX/cfg/cfg.example

А файл Settings.xml скопирован в каталог "/usr/home/vek/PtokaX/cfg" ?

В каталоге "/usr/home/vek/PtokaX/cfg" должны быть все нижеперечисленные файлы
BanList.xml
Motd.txt
RegisteredUsers.xml
Scripts.xml
ClientTags.xml
Profiles.xml
ReservedNicks.xml
Settings.xml


У тебя файлы конфигурации не подцепились - в логе об этом сказано

"<Enter hub address here>" - это кусок строки дефолтного конфига, который ты и должен заменить на IP-адрес хаба. (предварительно перенеся файл Settings.xml в каталог "/usr/home/vek/PtokaX/cfg")
freman_
1.2.2012, 12:05 Сборка хаба PtokaX 0.4.1.2 с поддержкой Lua и luasocket в ОС Solaris 10 x86
Краткое описание сборки PtokaX 0.4.1.2 в ОС Solaris
Сборка хаба PtokaX 0.4.1.2 с поддержкой Lua и luasocket в ОС Solaris 10 x86

Необходимые условия для нормальной сборки:
- установленная (можно и в виртуальной машине) ОС Solaris 10 10/09 s10x_u8wos_08a X86 и выше (комплект ПО "Entire Group Plus OEM");
- комплект исходников PtokaX и сопутствующих библиотек;
- правильно указанные пути к утилитам сборки.


1. Загрузка исходников

Найти в Google следующие архивы:
0.4.1.2-nix-src.gz
tinyxml_2_6_2.tar.gz
lua-5.1.4.tar.gz
luasocket-2.0.2.tar.gz
compat-5.1r5.tar.gz


2. Размещение исходников в каталоге для сборки

Создан каталог - /export/home/username/compile/

Архивы скопированы:
/export/home/username/compile/0.4.1.2-nix-src.gz
/export/home/username/compile/tinyxml_2_6_2.tar.gz
/export/home/username/compile/lua-5.1.4.tar.gz
/export/home/username/compile/luasocket-2.0.2.tar.gz
/export/home/username/compile/compat-5.1r5.tar.gz


3. Распаковка

Архивы распакованы в каталоги:
/export/home/username/compile/PtokaX
/export/home/username/compile/tinyxml
/export/home/username/compile/lua-5.1.4
/export/home/username/compile/luasocket-2.0.2
/export/home/username/compile/compat-5.1r5


4. Перемещение каталогов для подготовки к сборке

Код
    mv /export/home/username/compile/tinyxml /export/home/username/compile/PtokaX/
    mv /export/home/username/compile/compat-5.1r5 /export/home/username/compile/luasocket-2.0.2/



5. Редактирование makefile в каталогах Lua и PtokaX

Код
vi /export/home/username/compile/lua-5.1.4/src/Makefile


В строке 115 производится добавление параметров "-lsocket" и "-lresolv"

Код
solaris:
    $(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-lsocket -lresolv -lrt -ldl"


Код
vi /export/home/username/compile/PtokaX/makefile


В строке 42 производится добавление параметров "-lsocket", "-lresolv" и "-lnsl"
при этом "-llua5.1" заменяется на "-llua"

Код
    $(CXX) -lpthread -lz -lrt -lsocket -lresolv -llua -lnsl -o PtokaX \


В строке 48 производится добавление библиотеки liblua.a ("/usr/local/lib/liblua.a")

Код
    $(CURDIR)/tinyxml/tinyxml.a /usr/local/lib/liblua.a



6. Создание сборочного скрипта (с учетом того, что "/usr/local" основной каталог для установки Lua и luasocket)

Код
    vi /export/home/username/compile/mk.sh


Код
#!/bin/sh

LD_LIBRARY_PATH=/usr/sfw/lib:/usr/local/lib:/usr/ccs/lib
export LD_LIBRARY_PATH

PATH=$PATH:/usr/sfw/bin:/usr/local/bin:/usr/ccs/bin:/usr/ucb
export PATH

cd lua-5.1.4
gmake clean
gmake solaris
gmake solaris install
cd ..

cd luasocket-2.0.2
gmake clean
gmake
gmake install
cd ..

cd PtokaX
cd tinyxml
gmake clean
gmake
cd ..
gmake clean
gmake


Запуск сборочного скрипта.

Сборка завершена.

PtokaX собран в каталоге "/export/home/username/compile/PtokaX"

Действия по конфигурированию PtokaX для использования выполнены согласно документации разработчика PtokaX.


7. Проверка работы luasocket скриптом ls.lua

Код
cat ls.lua


Код
socket = require("socket")
print(socket._VERSION)


После запуска PtokaX в консоль выдается сообщение о работе luasocket

Код
LuaSocket 2.0.2
PtokaX DC Hub 0.4.1.2 running...


Все вышеописанное справедливо и при сборке PtokaX 0.4.2.0

Собранный PtokaX работает на Solaris 10 x86 dchub://city-hub.ru


Для работы с MySQL из PtokaX, используя Lua требуется сборка библиотеки luasql-mysql

MySQL должен быть уже установлен (Шпаргалку по установке mysql в ОС Solaris 10 из пакетов взятых на sunfreeware.com я написал тут Установка MySQL в Solaris)

Исходники для сборки luasql-mysql

Найти в Google и загрузить следующий архив:
luasql-2.1.1.tar.gz

так же потребуется (загружен ранее)
compat-5.1r5.tar.gz

Архивы скопированы:

/export/home/username/compile/luasql-2.1.1.tar.gz
/export/home/username/compile/compat-5.1r5.tar.gz

Архивы распакованы в каталоги:

/export/home/username/compile/luasql-2.1.1
/export/home/username/compile/compat-5.1r5

Вносятся изменения в конфигурационные файлы:

/export/home/username/compile/luasql-2.1.1/config

Отредактировать так как показано ниже:

Пример файла config
# Driver (leave uncommented ONLY the line with the name of the driver)
T= mysql
#T= oci8
#T= odbc
#T= postgres
#T= sqlite
#T=sqlite3

# Installation directories

# Default prefix
PREFIX = /usr/local

# System's libraries directory (where binary libraries are installed)
LUA_LIBDIR= $(PREFIX)/lib

# System's lua directory (where Lua libraries are installed)
LUA_DIR= $(PREFIX)/share

# Lua includes directory
LUA_INC= $(PREFIX)/include

# Lua version number (first and second digits of target version)
LUA_VERSION_NUM= 501

# OS dependent
LIB_OPTION= -shared -llua #for Linux
#LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X

LIBNAME= $T.so
COMPAT_DIR= ../compat-5.1r5

# Compilation parameters
# Driver specific
######## MySQL
DRIVER_LIBS= -L/usr/local/mysql/lib/mysql -lmysqlclient -lz
DRIVER_INCS= -I/usr/local/mysql/include/mysql
######## Oracle OCI8
#DRIVER_LIBS= -L/home/oracle/OraHome1/lib -lz -lclntsh
#DRIVER_INCS= -I/home/oracle/OraHome1/rdbms/demo -I/home/oracle/OraHome1/rdbms/public
######## PostgreSQL
#DRIVER_LIBS= -L/usr/local/pgsql/lib -lpq
#DRIVER_INCS= -I/usr/local/pgsql/include
######## SQLite
#DRIVER_LIBS= -lsqlite
#DRIVER_INCS=
######## SQLite3
#DRIVER_LIBS= -L/opt/local/lib -lsqlite3
#DRIVER_INCS= -I/opt/local/include
######## ODBC
#DRIVER_LIBS= -L/usr/local/lib -lodbc
#DRIVER_INCS= -DUNIXODBC -I/usr/local/include

WARN= -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic
INCS= -I$(LUA_INC)
CFLAGS= -fPIC -O2 $(WARN) -I$(COMPAT_DIR) $(DRIVER_INCS) $(INCS) $(DEFS)
CC= gcc

# $Id: config,v 1.8 2007/10/27 22:55:27 carregal Exp $


Кратко о внесенных в файл config изменениях:

Выбран mysql

Изменены пути к библиотекам

В переменную "LIB_OPTION= -shared #for Linux" добавлен параметр "-llua"

Выбран драйвер mysql и указаны пути к его библиотекам в 60-61 строках:

Код
DRIVER_LIBS= -L/usr/local/mysql/lib/mysql -lmysqlclient -lz
DRIVER_INCS= -I/usr/local/mysql/include/mysql


В переменную "CFLAGS= -O2 $(WARN) -I$(COMPAT_DIR) $(DRIVER_INCS) $(INCS) $(DEFS)" добавлен параметр "-fPIC"

Далее отредактировать файл:
/export/home/username/compile/luasql-2.1.1/Makefile

В 26 строке изменения должны быть такими:
Код
src/$(LIBNAME): $(OBJS)
    MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) $(CFLAGS) -o $@ $(LIB_OPTION) $(OBJS) $(DRIVER_LIBS)
    export MACOSX_DEPLOYMENT_TARGET

К МАКОС(и) отношения не имеет в случае сборки на Солярис, но как переменная участвует в процессе сборки.

В консоли необходимо настроить переменные окружения:

Код
LD_LIBRARY_PATH=/usr/sfw/lib:/usr/local/lib:/usr/ccs/lib:/usr/local/mysql/lib/mysql
export LD_LIBRARY_PATH

PATH=$PATH:/usr/sfw/bin:/usr/local/bin:/usr/ccs/bin:/usr/ucb
export PATH


Далее сборка:

Код
cd luasql-2.1.1
gmake clean
gmake
gmake install


Библиотека "mysql.so" установлена в каталог "/usr/local/lib/luasql"

Проверить работу "libqsl-mysql" можно командой "lua /export/home/username/compile/luasql-2.1.1/tests/test.lua" с параметрами.
Nickolya, Tsd, mariner, KT315, Saymon21

RSS Сейчас: 23.11.2024, 0:24