Розробка мікро-облікової системи на lua, частина перша. Установка Lua 5.3.2 на Alt Linux 7.0

Завдання: взяти / зробити микроучетную систему для запису приходу / витрати. Вихідна система: Alt Linux 7.0

На альті такі речі реалізуються через різні зв'язки: Framework + PostgreSQL, FPC + Firebird (superserver / portable). Оскільки мова йде про створення простої програми з базою (бо Firebird хоч і хороший для зберігання великих даних, у нього є «приколи» при роботі зі зв'язками і відображеннями; збережені процедури, звичайно, це круто, але без коректного механізму відображень та зв'язків це той ще геморой — чекати підтвердження кожної операції / запису не прикольно). Зв'язка Ananas + Firebird / MySQL / PostgreSQL (потрібне доповнити) не підходить з наступних причин:

  • Громіздкість програми під час виконання, навіть якщо мова йде про кількох довідниках з формами.
  • Сбойность самої платформи навіть при простому додаванні даних в довідник.
  • Необхідність шаманства з підключенням бази мало не при кожному запуску.
  • Некоректно описаний внутрішній мова бізнес-додатків — відсутні приклади, неудобочитаемый синопсис.
  • Важка переносимість бізнес-платформи між робочими станціями.
У підсумку вибір зупинився на зв'язці Lua + SQLite3. Оскільки все відбувалося в Alt Linux 7.0, з інтерпретатором довелося помучитися.

  • По-перше, в наявності була тільки версія 5.1.4.
  • По-друге, зазначена версія версія складалася тільки з інтерпретатора і базових бібліотек. Ні про яке-небудь luarocks або luasql мова просто не йшла. Окей, виклик прийнятий.

Для складання компиллятора будуть потрібні наступні пакети:

Пакети, зняті через rpm -qa last, необхідні для розробки.libsqlite3-devel-static-3.7.15.2-alt1 libsqlite-devel-static-2.8.17-alt2.2 libsqlite-devel-2.8.17-alt2.2 glib-devel-1.2.10-alt18 glib2-devel-2.36.4-alt0.M70P.2 libxcb-devel-1.9.1-alt2 zlib-devel-1.2.8-alt1 libsqlite3-devel-3.7.15.2-alt1 sqlite-2.8.17-alt2.2 libsqlite-2.8.17-alt2.2 libreadline-devel-static-5.2.14-alt3 glibc-devel-static-2.17-alt8.M70P.1 libreadline-devel-5.2.14-alt3 libgcov4.7-devel-4.7.2-alt7 gcc4.7-4.7.2-alt7 glibc-devel-2.17-alt8.M70P.1 glibc-kernheaders-3.8.4-alt1 gcc-common-1.4.16-alt1 glib-1.2.10-alt18

Не варто боятися цього списку пакетів, оскільки в реалі все встановлюється однією командою:

apt-get install libsqlite3-devel glib-devel libsqlite3-devel-static libxcb-devel zlib-devel sqlite libreadline-devel libreadline-devel-static libgcov4.7-devel gcc4.7 glib -y

Тут найбільш необхідні gcc, readline, libxcb, libsqlite3, curl та -devel- пакети. Без них исходники будуть гальмувати складання на кожному кроці.

Хинт.Якщо не збираються исходники, дивіться останній рядок збірки — там вказується пакет. Шукайте його в мережі і на порталах Alt Linux. Для прискорення процесу можна зробити пошук в базі пакетів:

apt-cache search програми

Команда подумає і видасть вам імена пакетів з купою найменувань. Далі ви обираєте і встановлюєте пакети вищевказаним способом. Увага! Всі зазначені в статті операції виконуються в консолі з правами адміністратора!

З сайту lua.org беремо tar — архів з исходниками (lua-5.3.2.tar.gz) і архів з бинарниками(luabinaries.sourceforge.net). Або беремо бінарники і виконуємо в консолі наступний скрипт:

curl -R -O http://www.lua.org/ftp/lua-5.3.2.tar.gz
tar zxf lua-5.3.2.tar.gz
cd lua-5.3.2
make test linux
make install linux

У підсумку в папці lua-5.3.2 знаходяться дві: doc та src. Заходимо у src і дивимося файли lua та luac. Це інтерпретатори мови, з якими ми зробимо одне збочення. В консолі потрібно набрати наступну команду:

rpm -ql lua5

У висновку дивимося розташування файлів. Найчастіше це /usr/bin. Копіюємо туди файли lua та luac з папки src. Потім заходимо в архів з бинарниками, бачимо папку include та знаходяться в ній файли копіюємо в папку /usr/local/include (або будь-яку іншу, яку вкаже luarocks при помилці компілляціі).

Тепер йдемо на keplerproject.github.io/luarocks/releases/ — тут забираємо архів luarocks-2.3.0.tar.gz. Витягуємо його в каталог і заходимо з консолі. Виконуємо по черзі наступну послідовність команд:

./configure
make
make build
make install

Ця послідовність необхідна для того, щоб luarocks не встановлювався, як «камінь»("rocks"), а записувався, як бібліотека в системі. Тепер заходимо на luarocks.org, у верхньому рядку пошуку вводимо "luasql". Тиснемо на газ. У вікні вибираємо посилання на "LuaSQL-SQLite3" (LuaSQL-SQLite3).

За аналогією з інформацією в статті командою набираємо в консолі:

luarocks-5.3 install luasql-sqlite3

Чому luarocks-5.3? Раніше ми підмінили стандартний інтерпретатор з версії 5.1 до версії 5.3 і цілком логічно для сумісності бібліотек використовувати установку модулів більш високої версії. В консолі виконуємо команди:

lua
driver = require "luasql.sqlite3"

Якщо після цих команд інтерпретатор lua видав запрошення ">", ви правильно підготували середовище розробки.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.