myDC.ru

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

 
 
Ответить в данную темуНачать новую тему

> Сборка хаба PtokaX 0.4.1.2 с поддержкой Lua и luasocket в ОС Solaris 10 x86, Краткое описание сборки PtokaX 0.4.1.2 в ОС Solaris

Теги
Нет тегов для показа
Gatsu
сообщение 1.2.2012, 12:05
Сообщение #1


Начинающий
*

Группа: Пользователи
Сообщений: 10
Регистрация: 24.1.2012
Пользователь №: 10 219
Спасибо сказали: 7 раз




Сборка хаба 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" с параметрами.


Спасибо сказали:
Go to the top of the page
+Quote Post
mariner
сообщение 1.2.2012, 18:04
Сообщение #2


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




У меня тока один вопрос - как вас на соляру занесло. Брендовое санковское железо?
Go to the top of the page
+Quote Post
Gatsu
сообщение 1.2.2012, 18:35
Сообщение #3


Начинающий
*

Группа: Пользователи
Сообщений: 10
Регистрация: 24.1.2012
Пользователь №: 10 219
Спасибо сказали: 7 раз




Цитата(mariner @ 1.2.2012, 19:04) *
У меня тока один вопрос - как вас на соляру занесло. Брендовое санковское железо?


Начал с брэндового на Sparc. Теперь на х86.
С 2005 года на Солярке и сижу.
Как серверная платформа устраивает.
Для десктопа админа - Opensolaris.

Насчет сборки скажу, что пакеты Lua собранные сообществами не поддерживают luasocket
Поэтому описал свой удачный опыт сборки.
Тем более, что виндовый сервер с хабом навернулся из-за атаки извне... Ну и пришлось на Солярке пересобрать PtokaX с нужными опциями.
Go to the top of the page
+Quote Post
mariner
сообщение 1.2.2012, 19:31
Сообщение #4


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Цитата
Теперь на х86.

ну не знаю. На x86 систем хватает, а вот на спархках да, соляра рулит. Хотя она везде рулит.
Go to the top of the page
+Quote Post
Gatsu
сообщение 1.2.2012, 19:41
Сообщение #5


Начинающий
*

Группа: Пользователи
Сообщений: 10
Регистрация: 24.1.2012
Пользователь №: 10 219
Спасибо сказали: 7 раз




Цитата(mariner @ 1.2.2012, 20:31) *
ну не знаю. На x86 систем хватает, а вот на спархках да, соляра рулит. Хотя она везде рулит.


К сожалению на Спарке PtokaX не работает.
Спарки еще есть в запасе, правда 1998 года выпуска, но на них спокойно устанавливается и работает ОС Solaris 10

Однако, из-за особенности архитектуры процессоров Спарк, которая не учтена разработчиками PtokaX, заставить работать PtokaX на Спарке мне не удалось.
Вот обсуждение по сборке PtokaX на Спарк, в котором я делился опытом...
Сборка PtokaX 0.4.1.2 под разные архитектуры

Но тогда я не собирался использовать PtokaX на Solaris x86 и не заботился о поддержке luasocket
Go to the top of the page
+Quote Post
mariner
сообщение 1.2.2012, 19:52
Сообщение #6


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




ясно. Хех, я помнится срался с автором птоки по аналогичному вопросу, как у вас описано в той теме. Сам же собирал птоку на power, arm и mips, но на linux-платформе
Go to the top of the page
+Quote Post
KT315
сообщение 2.2.2012, 19:41
Сообщение #7


Продвинутый участник
****

Группа: Пользователи
Сообщений: 113
Регистрация: 20.1.2009
Из: г. Москва САО
Пользователь №: 1 889
Спасибо сказали: 37 раз




Спасибо, так же подходит для Solaris 11 x86
Go to the top of the page
+Quote Post
Gatsu
сообщение 2.2.2012, 19:49
Сообщение #8


Начинающий
*

Группа: Пользователи
Сообщений: 10
Регистрация: 24.1.2012
Пользователь №: 10 219
Спасибо сказали: 7 раз




Цитата(KT315 @ 2.2.2012, 20:41) *
Спасибо, так же подходит для Solaris 11 x86


Да. Проверял на OpenSolaris x86 06.2009
Забыл об этом упомянуть.
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsПрошивка LEDE 17.01.4 для 740n v4,v5 c PtokaX 0.5.0.1
Готовая прошивка с поддержкой сервера DC++, все влезло в 4мб ))
1 мамин_парень 564 10.3.2018, 15:29 Посл. сообщение: мамин_парень
No New Posts Topic has attachmentsУстановка хаба PtokaX 0.5.2.2 на роутер под прошивкой LEDE 2017
DC++ сервер в роутере
13 мамин_парень 3 240 13.1.2018, 19:05 Посл. сообщение: мамин_парень
No New Posts Topic has attachmentsСоздание хаба
не получается
7 sadira 2 275 29.8.2017, 18:21 Посл. сообщение: Tsd
No New Posts Ptokax, opendchub (DC++) - Сборка пакета для OpenWRT, LEDE 2017
Пакеты хабов для прошивки роутера
0 мамин_парень 1 293 29.8.2017, 7:00 Посл. сообщение: мамин_парень
No new Topic has attachmentsАнтиреклама для PtokaX
API1, API2 | Скрипт антирекламы для чата и лички
39 Damaks 30 639 9.8.2017, 14:26 Посл. сообщение: Ksan
No New Posts Установка Linux хаба DC++ в ANDROID
Теперь ты видел все ))
0 мамин_парень 1 102 5.8.2017, 9:49 Посл. сообщение: мамин_парень
No new Topic has attachmentsPtokaX 0.5.2.1 Mod
Модификация PtokaX от alex82
16 alex82 5 869 12.4.2017, 12:08 Посл. сообщение: Saymon21
No new ВАЖНО: Topic has attachmentsPtokaX
Описание. Публикация новых версий
94 Svyat 118 071 11.4.2017, 23:08 Посл. сообщение: Alexey
No new Topic has attachmentsPtokaX в OpenWrt (Linux)
Ребята как собрать под эту систему?
21 мамин_парень 12 495 10.4.2017, 15:19 Посл. сообщение: мамин_парень
No New Posts Автозапуск PtokaX на Rassberry Pi?
Не могу запустить
13 Sezam 3 348 7.11.2016, 9:14 Посл. сообщение: Saymon21
No new ВАЖНО: Домены Для Вашего Хаба
Как думаете?
228 Nickolya 101 454 25.9.2016, 13:16 Посл. сообщение: Saymon21
No New Posts Доска обьявлений для Ptokax 0.5.0.x
3 NightmareUA 2 926 11.8.2016, 16:22 Посл. сообщение: Ksan
No new ВАЖНО: Topic has attachmentsPtokaX 0.5.0.1 Mod
Модификация PtokaX от alex82
111 alex82 46 850 26.4.2016, 19:44 Посл. сообщение: Karumo
No New Posts FreeBSD 11.0 & PtokaX
Проблема подключения в клиенте PtokaX по имени
5 nsd7 2 086 22.4.2016, 3:47 Посл. сообщение: Saymon21
No New Posts От: PtokaX 0.5.2.1 Mod
От темы с ID: 5784
0 Alexey 1 184 21.4.2016, 18:16 Посл. сообщение: Alexey

 



RSS Сейчас: 25.6.2018, 5:23