OpenSCADAWiki: Home Page En/Doc/ Build From Source ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageEn/Doc/BuildFromSource from 2011-09-06 12:21:39..
Russian (1 Kb) Русская версия?
Ukrainian (1 Kb) Українська версія

Manual for OpenSCADA building from sources


Contents

Introduction

This manual made for help on OpenSCADA building from sources. In process of accumulation of experience of building for different OS Linux distributions and others platforms generally, this document will be complement for tips and details of building for different environments.


The document also contain information about preset configuration of built system of OpenSCADA, for complete start with using of present, included to sources, demo DB (model "AGLKS").

System OpenSCADA direct building

Build system must be executed from normal system user name. Thus described variants of installing and execution how global and local, to user directory. Get what user login is - "user".


Before building enter as common user and change user login to your, get sources (from ftp/http-server or SVN-repository), select install method (global or local) and follow instruction:


Steps of preparation of the source tree to build:

  1. Make directory for project building:
    $ mkdir ~/projects; cd ~/projects
  2. Download sources package. It may be made from two ways:
  3. Resolve OpenSCADA dependents for build, on according demands. Exclude dependents in case of inability its by help of option --disable-{ModName} into comman "configure" below, for example --disable-SoundCard.
  4. Generate of build system, when download from the SVN-repository:
    $ autoreconf -ivf

Steps of global building:

  1. Configuring building system of OpenSCADA:
    $ ./configure
  2. Make OpenSCADA project:
    $ make
  3. Install OpenSCADA:
    $ su; make install
  4. Copy start script and configuration file of demonstration:
    $ cp data/ModelsDB/AGLKS/openscada_demo /usr/bin
    $ cp data/ModelsDB/AGLKS/oscada_AGLKS.xml /etc
  5. Make data directory and fill it:
    $ mkdir /var/spool/openscada
    $ mkdir /var/spool/openscada/{DATA,icons,LibsDB,AGLKS}
    $ cp data/LibsDB/*.db /var/spool/openscada/LibsDB
    $ cp data/ModelsDB/AGLKS/*.db /var/spool/openscada/AGLKS
    $ cp data/icons/* /var/spool/openscada/icons
    $ install -m 777 -d /var/spool/openscada/ARCHIVES/{MESS,VAL}
  6. System ready to start:
    $ exit; openscada_demo

Steps of local building:

  1. Configuring building system of OpenSCADA:
    $ mkdir ~/OScadaW; ./configure --prefix=/home/user/OScadaW
  2. Make OpenSCADA project:
    $ make
  3. Install OpenSCADA:
    $ make install
  4. Copy start script and configuration file of demonstration:
    $ cp data/ModelsDB/AGLKS/openscada_demo_local ~/OScadaW/bin/openscada_demo
    $ mkdir ~/OScadaW/etc
    $ cp data/ModelsDB/AGLKS/oscada_demo_local.xml ~/OScadaW/etc/oscada_demo.xml
  5. Make data directory and fill it:
    $ mkdir ~/OScadaW/share/openscada
    $ mkdir ~/OScadaW/share/openscada/{DATA,icons,LibsDB,AGLKS}
    $ cp data/LibsDB/*.db ~/OScadaW/share/openscada/LibsDB
    $ cp data/ModelsDB/AGLKS/*.db ~/OScadaW/share/openscada/AGLKS
    $ cp data/icons/* ~/OScadaW/share/openscada/icons
    $ install -m 777 -d ~/OScadaW/share/openscada/ARCHIVES/{MESS,VAL}
  6. System ready to start:
    $ cd ~/OScadaW/bin; ./openscada_demo

Сборка пакетов системы OpenSCADA для дистрибутива Linux

Redhat-based дистрибутивы - пакет RPM

Для сборки RPM-пакетов OpenSCADA Вам понадобятся архивы исходных текстов, ресурсов и файл спецификации RPM пакета (openscada.spec, openscada_mod.spec) или же SRPM-пакет всех этих исходных материалов (openscada-0.7.1-2.src.rpm), которые можно загрузить с ftp или http-сервера проекта.


Файл спецификации RPM-пакетов и SRPM-пакет могут отличаться для разных дистрибутивов Linux, учитывая их особенности, поэтому нужно стараться загружать их в соответствии с дистрибутивом. Если специальный SRPM пакет отсутствует то можно попробовать собрать из унифицированного файла спецификации в основном SRPM пакете.


Сборка RPM-пакетов производится в директории со специальной структурой, которая обычно создаётся при установке соответствующего пакета дистрибутива (например: rpm-build). Эта директория, в зависимости от дистрибутива, располагается в домашней директории пользователя или в директории /usr/src. Известные факты расположения директории сборки RPM-пакетов различных дистрибутивов:


Если, после установки специализированного пакета, директории создания RPM пакетов нет то её нужно создать командой:

$ install -m 755 -d Директория дистрибутива/{SPECS,SOURCES}

Этапы сборки по файлу спецификации RPM:

  1. Размещение архивов OpenSCADA и файла спецификации в директории сборки RPM (исходные файлы предварительно помещены в текущей директории):
    $ cp openscada-0.7.1.tar.lzma openscada-res-0.7.1.tar.lzma Директория дистрибутива/SOURCES
    $ cp openscada.spec Директория дистрибутива/SPECS
  2. Удовлетворение зависимостей проекта OpenSCADA для сборки в соответствии с требованиями. Исключение зависимостей, в случае невозможности их удовлетворения, путём отключения сборки ненужных модулей опцией --disable-{ModName} к команде "configure" в файле "openscada.spec", например: --disable-SoundCard.
  3. Сборка пакетов
    • сборка с начала:
      $ rpmbuild -bb Директория дистрибутива/SPECS/openscada.spec
    • только установка и упаковка, из пакета rpm-утилит etersoft (удобно при настройке openscada.spec файла):
      $ rpmbb -i Директория дистрибутива/SPECS/openscada.spec
  4. Пакеты готовы и доступны в директории Директория дистрибутива/RPMS , для соответствующей архитектуры

Этапы сборки из SRPMS пакета:

  1. Удовлетворение зависимостей проекта OpenSCADA для сборки в соответствии с требованиями.
  2. Сборка пакетов (исходные файлы предварительно помещены в текущей директории):
    $ rpmbuild --rebuild openscada-0.7.1-2.src.rpm
  3. Пакеты готовы и доступны в директории Директория дистрибутива/RPMS , для соответствующей архитектуры

Debian-based дистрибутивы - пакет Deb

Для сборки Deb-пакетов OpenSCADA Вам понадобятся архивы исходных текстов и ресурсов, которые можно загрузить с ftp или http-сервера проекта.


Сборка Deb-пакетов производится в директории "debian" со скриптами сборки, которая содержится в архивах исходных текстов OpenSCADA.


Этапы сборки:

  1. Создание директории для сборки проекта:
    $ mkdir ~/build; cd ~/build
  2. Загрузка пакета с исходными текстами. Загрузка тарбола исходных текстов и ресурсов с ftp-сервера проекта ftp://ftp.oscada.org/OpenSCADA/ и распаковка, например так:
    $ wget ftp://ftp.oscada.org/OpenSCADA/0.7.1/openscada-0.7.1.tar.lzma
    $ wget ftp://ftp.oscada.org/OpenSCADA/0.7.1/openscada-res-0.7.1.tar.lzma
    $ tar --lzma -xvf openscada-0.7.1.tar.lzma
    $ cd openscada-0.7.1
    $ tar --lzma -xvf ../openscada-res-0.7.1.tar.lzma
  3. Удовлетворение зависимостей проекта OpenSCADA для сборки в соответствии с требованиями. Исключение зависимостей, в случае невозможности их удовлетворения, путём отключения сборки ненужных модулей опцией --disable-{ModName} к команде "configure" в файле openscada-0.7.1/debian/rules, например: --disable-SoundCard.
  4. Переход в директорию OpenSCADA и запуск сборки:
    $ cd openscada-0.7.1
    • сборка с начала:
      $ dpkg-buildpackage -rfakeroot
    • пропустить сборку и переупаковать, удобно при отладке openscada-0.7.1/debian/rules:
      $ fakeroot debian/rules binary
      $ fakeroot debian/rules build
  5. Пакеты готовы и доступны в директории уровнем выше.

Gentoo - метадистрибутив

OpenSCADA не входит в официальное дерево portage Gentoo, поэтому сборка производится из оверлея. Подробно про работу с оверлеем можно найти на сайтах документации Gentoo, например: http://ru.gentoo-wiki.com/wiki/Portage_Overlay. Перед сборкой самого пакета OpenSCADA, portage удовлетворит зависимости, т.е., соберет недостающие пакеты (если необходимо).


  1. Создание оверлея portage сводится к описанию пути для оверлейного дерева, т.е., в /etc/make.conf необходимо прописать строку:
    PORTDIR_OVERLAY="/usr/local/portage"
  2. Создать каталог /usr/local/portage/dev-util/openscada/, затем скачать файл архива ebuild c официального сайта и распаковать его в созданном каталоге.
    $ cd /usr/local/portage/dev-util/openscada
    $ wget ftp://ftp.oscada.org/OpenSCADA/0.7.1/Gentoo/openscada-0.7.1.ebuild-010611.tar.gz
    $ tar -xzf openscada-0.7.1.ebuild-010611.tar.gz
  3. Необходимо указать portage, что OpenSCADA разрешена для сборки на Вашей платформе. Для этого надо внести следующую строку в файл /etc/portage/package.keywords:
    dev-util/openscada
  4. Проверка:
    $ emerge -vp openscada
    These are the packages that would be merged, in order:
    Calculating dependencies... done!
    [ebuild   R   ~] dev-util/openscada-0.7.1  USE="mysql ssl -bfn -blockcalc -daqgate -dbarch -dbase -dcon -demo -diamondboards -doc (-firebird) -flibcomplex1 -flibmath -flibsys -fsarch -http -icp_das -javalikecalc -logiclev -modbus -portaudio -qtcfg -qtstarter -selfsystem -serial -simens -snmp -sockets -sqlite -system -systemtest -vcaengine -vision -webcfg -webcfgd -webvision" 79,647 kB [1]

    Total: 1 package (1 reinstall), Size of downloads: 79,647 kB
    Portage tree and overlays:
     [0] /usr/portage
     [1] /usr/local/portage

  5. Если у Ваc нет подключения к интернету, то надо загрузить тарбол исходных текстов и ресурсов с ftp-сервера проекта и расположить их заранее в каталоге исходников portage (/usr/portage/distfiles). Если же у Вас есть подключение к интернету, то все необходимое для сборки будет взято с сервера проекта автоматически.
  6. Необходимо выставить нужные Вам USE-флаги, с которыми будет собрана OpenSCADA. Это можно сделать в файле /etc/portage/package.use, например:
    dev-util/openscada dcon demo http javalikecalc mysql qtcfg qtstarter ssl vision webcfg webcfgd webvision blockcalc dbarch dbase doc flibcomplex1 flibmath flibsys fsarch logiclev modbus serial sockets sqlite vcaengine
  7. Непосредственно сборка:
    $ emerge -q openscada
  8. Файлы БД и ресурсов OpenSCADA готовы и будут размещены в каталоге /var/spool/openscada/, исполняемые файлы - /usr/bin/, документация - /usr/share/doc/openscada-0.7.1/.

Links

Referring pages: HomePageEn/Doc
HomePageEn/Doc/ModuleBuild


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]