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!