Installing TANGO
on Linux
Claudio Scafuri – ELETTRA
claudio.scafuri@elettra.trieste.it
Sincrotrone Trieste S.C.p.A.
Strada Statale 14 - km 163,5 in AREA Science Park
34012 Basovizza, Trieste ITALY
www.elettra.trieste.it

Foundation tools

decently up-to-date Linux

kernel version 2.4 or 2.6

Foundation tools

decently up-to-date Linux

kernel version 2.4 or 2.6

C++ development tools

gcc 3.3, make, autoconf, (CVS)

Foundation tools

decently up-to-date Linux

kernel version 2.4 or 2.6

C++ development tools

gcc 3.3, make, autoconf, (CVS)

Java development tools

jdk 1.4.2 or 1.5

Foundation tools

decently up-to-date Linux

kernel version 2.4 or 2.6

C++ development tools

gcc 3.3, make, autoconf, (CVS)

Java development tools

jdk 1.4.2 or 1.5

MySQL

full installation, version 4.0.x or 4.1.x

Foundation tools

decently up-to-date Linux

kernel version 2.4 or 2.6

C++ development tools

gcc 3.3, make, autoconf, (CVS)

Java development tools

jdk 1.4.2 or 1.5

MySQL

full installation, version 4.0.x or 4.1.x

from your distribution!

dep, rpm, tar.gz, ...

Foundation tools

decently up-to-date Linux

kernel version 2.4 or 2.6

C++ development tools

gcc 3.3, make, autoconf (CVS)

Java development tools

jdk 1.4.2 or 1.5

MySQL

full installation, version 4.0.x or 4.1.x

from your distribution!

dep, rpm, tar.gz, ...

access to Internet

CORBA libraries & tools

omniORB / omnithread

support for distributed objects

portable object oriented wrapper of the threading libraries

omniNotify

interoperable notification service support

used by the Tango event system

omniORB/omnithread – easy way

get it packaged for your distribution:

rpm packages for Mandrake, Fedora:

http://opensource.nederland.net/omniORB/

debian packages on the official mirrors for “sarge”

release 4.0.5 or newer

install all the components: libs, devel, utils, ...

omniORB/omnithread – custom way

get the sources:

http://sourceforge.net/projects/omniorb

unpack the sources, configure, build & install

use configure to customize your installation:

installation root or “prefix” (e.g. /usr/local/omniorb-4.0.5 )

debug level, static or shared libraries ...

configuring & building omniORB

tar xvfz omniORB-4.0.5.tar.gz

cd omniorbORB-4.0.5

mkdir build; cd build

../configure –prefix=/usr/local/omniorb-4.0.5

make

sudo make install

omniNotify – custom (only) way

get the sources:

http://sourceforge.net/projects/omninotify

unpack the sources, configure, build & install

use configure to customize your installation:

installation root or “prefix” (e.g. /usr/local/omniorb-4.0.5 )

debug level, static or shared libraries ...

configuring & building omniNotify

tar xvfz omniNotify-2.1.tar.gz

cd omniorbNotify

mkdir build; cd build

../configure –prefix=/usr/local/omniorb-4.0.5 \
--with-omni=/usr/local/omniorb-4.0.5

make

sudo make install

MySQL

You need a working MySQL database to configure Tango.

as of release 5.1

This limitation will be removed.

MySQL

install MySQL

get binaries from mysql (recommended!)

follow instructions for installation

add the appropriate mysql/bin directory to your PATH

MySQL

configure MySQL & start daemon:

follow instructions from MySQL.

set up your security policy for MySQL

for building Tango you should not be paranoid:

mysql accessible locally by user root with no password

(

time to start dancing Tango!

All the foundations are now in place. Get the Tango sources:

http://www.esrf.fr/Infrastructure/Computing/tango/download/

ftp://ftp.esrf.fr/pub/cs/tango/tango-5.1.0a.tar.gz

configure & build Tango

unpack the sources, configure, build & install

use configure to customize your installation:

installation root or “prefix” (e.g. /usr/local/tango-5.1 )

where omniORB is installed

path to your installed java

debug level, static or shared libraries ...

configure & build Tango

tar xvfz tango-5.1.tar.gz

cd tango-5.1

./configure –prefix=/usr/local/tango-5.1 \
--with-omni=/usr/local/omniorb-4.0.5 \
--with-java=/usr/local/java/bin/java

make

sudo make install

start & test Tango

start the database server:

tango start

define TANGO_HOST to point to your database:

export TANGO_HOME=myhost:10000

start & test Tango

start the database server:

tango start

define TANGO_HOST to point to your database:

export TANGO_HOME=myhost.mydomain:10000

$TANGO_HOST is the only information that must be shared among all the hosts using Tango

start & test Tango

start the test Device:

TangoTest test

start Jive, the Tango database & device explorer:

jive

start & test Tango

in jive look for sys/tg_test/1 under DEVICE

choose “test device” from context menu

test commands and reading/setting of attributes

start atkpanel:

atkpanel sys/tg_test/1

Tango from CVS

If you want the latest C++ Tango API and tools, get them from the CVS repository hosted on sourceforge:

http://sourceforge.net/projects/tango-cs

Tango from CVS

As a minimum, you must checkout (dowload):

cppapi/server

cppapi/client

cppapi/log4tango

Tango from CVS

build & install log4tango, use configure to prepare the build. You should set the “prefix”:

configure –prefix=/usr/local/tango-5.3

make

make check

sudo make install

Tango from CVS

build the Tango library: go to server directory and

edit Make.rules . Set TANGO_HOME to the directory where the CVS tree has been dowloaded.

Set your OS : linux=1 debian30=1

Set the path of omniORB

Set the path of log4tango for your OS

Tango from CVS

go to server directory and edit Makefile if you need to change the compiler options

build the Tango library:

make

You only need to run make from server directory, it also compiles the sources in client.

Tango from CVS

Beware: there is no install target. You have to install the CVS compiled Tango library and headers by hand.

Tip: clone the structure from the official Tango distribution and then copy all the needed files from the CVS directories

Tango online resources

http://opensource.nederland.net/omniORB/

http://sourceforge.net/projects/omniorb

http://sourceforge.net/projects/omninotify

http://dev.mysql.com/downloads/mysql/4.1.html

http://www.esrf.fr/Infrastructure/Computing/tango/download/

http://www-controle.synchrotron-soleil.fr:8001/collaboration/index.htm

http://sourceforge.net/projects/tango-cs

http://www.elettra.trieste.it/~tango/index.html

Installing TANGO

TANGO on Linux howto

TANGO Linux Java omniORB omniNotify JackORB Mysql

Prestenation for the TANGO workshop explaining how to start TANGO form scratch on a Linux box.

2005-09-27T13:36:31