Tango 9 installation error on ubuntu

+1 with Andy.
You normally don't have to add any tricky options to any of the "configure" processes.
IMHO, it's a good idea to recompile the WHOLE software chain (zmq, omniorb and tango).
After 200 edits of this post, here is the ultimate recipe to compile Tango 9.2.2 under Ubuntu 14.04 using gcc 4.8.

NB: In the following, we assume that we want to install the Tango runtime into a single directory which path is: /home/me/tango-9.2.2-gcc-4.8-gstabs+.

zmq:

download:
https://archive.org/download/zeromq_4.0.7/zeromq-4.0.7.tar.gz

configure zmq:
./configure –prefix=/home/me/tango-9.2.2-gcc-4.8-gstabs+ CFLAGS=-gstabs+ CXXFLAGS=-gstabs+

compile zmq:
make

install zmq:
make install

omniorb:

download src:
https://sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.2.1/omniORB-4.2.1-2.tar.bz2/download

download patch:
http://ftp.esrf.fr/pub/cs/tango/Patches/dii_race.patch

apply patch:
small problem here: files to be patched must be specified by hand
patch -p1 < dii_race.patch 
(Stripping trailing CRs from patch; use –binary to disable.)
can't find file to patch at input line 5
Perhaps you used the wrong -p or –strip option?
The text leading up to this was:
————————–
|Index: include/omniORB4/internal/request.h
|===================================================================
|— include/omniORB4/internal/request.h	(revision 6323)
|+++ include/omniORB4/internal/request.h	(working copy)
————————–
File to patch: ./include/omniORB4/internal/request.h
patching file ./include/omniORB4/internal/request.h
(Stripping trailing CRs from patch; use –binary to disable.)
can't find file to patch at input line 37
Perhaps you used the wrong -p or –strip option?
The text leading up to this was:
————————–
|Index: src/lib/omniORB/dynamic/request.cc
|===================================================================
|— src/lib/omniORB/dynamic/request.cc	(revision 6323)
|+++ src/lib/omniORB/dynamic/request.cc	(working copy)
————————–
File to patch: ./src/lib/omniORB/dynamic/request.cc
patching file ./src/lib/omniORB/dynamic/request.cc

configure omniorb:
./configure –prefix=/home/me/tango-9.2.2-gcc-4.8-gstabs+ CFLAGS=-gstabs+ CXXFLAGS=-gstabs+ –enable-static

compile omniorb:
make

install omniorb:
make install

tango:

download src:
https://sourceforge.net/projects/tango-cs/files/tango-9.2.2.tar.gz/download

download patch:
http://ftp.esrf.fr/pub/cs/tango/Patches/p922_1.diff

apply patch:
patch -p1 < p922_1.diff
patching file lib/cpp/server/device_3.cpp
patching file lib/cpp/server/pollobj.cpp
patching file lib/cpp/server/except.h
patching file lib/cpp/server/pollobj.h
patching file lib/cpp/server/except.cpp
patching file lib/cpp/client/proxy_asyn.cpp
patching file lib/cpp/client/proxy_asyn_cb.cpp
patching file lib/cpp/client/cbthread.h
patching file lib/cpp/client/zmqeventconsumer.cpp
patching file lib/cpp/client/devapi_base.cpp
patching file lib/cpp/client/eventkeepalive.cpp
patching file lib/cpp/client/devasyn.h
patching file lib/cpp/client/asynreq.cpp

env.var.:
The following was set while compiling and might have played some role to complete the compilation successfully:
export LD_LIBRARY_PATH=/home/me/tango-9.2.2-gcc-4.8-gstabs+/lib:$LD_LIBRARY_PATH

configure:
./configure –prefix=/home/me/tango-9.2.2-gcc-4.8-gstabs+ –enable-static –with-omni=/home/me/tango-9.2.2-gcc-4.8-gstabs+ –with-zmq=home/me/tango-9.2.2-gcc-4.8-gstabs+ CFLAGS=-gstabs+ CXXFLAGS=-gstabs+ LDFLAGS="-L/home/me/tango-9.2.2-gcc-4.8-gstabs+/lib" 

NB: the LDFLAGS configure option is THE trick!

configure summary:
Configuration (tango):
	Source code location:   .
	Version:                9.2.2
	Compiler:               gcc,g++
	OMNIORB PATH:           /home/me/tango-9.2.2-gcc-4.8-gstabs+
	OMNIORB VERSION:        "4.2.1"
	ZMQ PATH:               /home/me/tango-9.2.2-gcc-4.8-gstabs+
	ZMQ VERSION:            4.0.7
	JAVA PATH:              /usr/bin/java
	JAVA VERSION:           1.8.0_77
	MYSQL CLIENT LIB:        -lmysqlclient_r
	MYSQL VERSION:          5.5.47
	MYSQL CONNECTION:       failed
    build:
	libraries:              yes
	java application:       yes
	access control server:	yes
	database server:        yes
	database schema create: no

compile:
make
install:
make install

done!
Edited 8 years ago
Forgot to mention that the "DSO error" was due to a conflict between omniORB 4.1 (debian package previously installed) and omniORB 4.2 (the one we are using with Tango 9). This has been solved adding the LDFLAGS option to the Tango configure command line.
Hi all,

I tried to install as mentioned above.
There was no any error but tango database is not created and that's why I am unable to start TangoTest device server.
Please provide necessary guidance.

Thanks & Regards,
TCS-GMRT
Regards,
TCS_GMRT
I suspect a mysql USER and/or PASSWORD problem. It was the case in the example above (configure -> database schema create: no).
Please provide the log of your Tango configure command line.
Hi all,

Please find an attachment of logfile created during configure, make and make install of tango 9.

Thanks & Regards,
TCS-GMRT
Regards,
TCS_GMRT
Dear TCS-GMRT,
Here is what you log file says. I let you conclude…
N.

The tango database is already defined on localhost
Please run 
/usr/bin/mysql -uroot -pp@ssw0rd -hlocalhost tango < ./update_db.sql
manually to force a db update
Edited 8 years ago
Hi,

I tried command to manually update db but still tables are not created.
Additionally I have tried to replicate whole installation on different Ubuntu machine but I am facing some problem while configuring tango.
Here is an attached log file of output of configuring tango.

Thanks & Regards,
TCS-GMRT
Regards,
TCS_GMRT
What was the output of the manual update of the database? Without this output we cannot help you. Are you sure the mysql password is correctly specified? Can you connect to mysql with "mysql -u root -p" or whatever user you specified?

The logfile you attached is incomplete. From the summary it looks like you do not have the mysql development libraries installed nor the mysql user and password specified. Have you read the README for the source code distribution carefully? All the options are described there.

Andy
Hi,

I am able to connect to mysql with "mysql -u root -p". So if I am not wrong, mysqlclient is installed properly.
But while configuring tango, it is not able to find mysqlclient library.
Further I have attached default generated "config.log" for your reference.

Thanks & Regards,
TCS-GMRT
Regards,
TCS_GMRT
 
Register or login to create to post a reply.