Problems with omniorb4 when installing Tango 9.3.4 on Ubuntu 20.04.5

I've tried installing Tango 9.3.4 on Ubuntu 20.04.5 following https://tango-controls.readthedocs.io/en/latest/installation/tango-on-linux.html#debian-ubuntu

Unfortunately,
./configure –enable-java=yes –enable-mariadb=yes –enable-dbserver=yes –enable-dbcreate=yes –with-mysql-admin=root –with-mysql-admin-passwd='mypassword' –prefix=/usr/local/tango

fails with
checking omniORB4/CORBA.h usability… no
checking omniORB4/CORBA.h presence… no
checking for omniORB4/CORBA.h… no
checking for omniORB4… no
configure: error: Package requirements (omniORB4 >= 4.1.2) were not met:

No package 'omniORB4' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables omniORB4_CFLAGS
and omniORB4_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

But libomniorb4-dev has been installed with apt-get at the beginning.

Can I point ./configure manually to the omniorb paths? If so, how can I find out which those are?
Hi,

It's indeed strange that it does not find omniORB4 if you installed libomniorb4-dev package.
Is pkg-config installed on your host?

What does
pkg-config –list-all | grep omni
return?

Here is the filelist of the libomniorb4-dev package for amd64: https://packages.ubuntu.com/bionic/amd64/libomniorb4-dev/filelist

Hoping this helps,
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Thanks for the quick reply!
pkg-config –list-all | grep omni

returns nothing, nor does
pkg-config –-list-all

But pkg-config is installed, as verified by
pkg-config –help


find /usr/ -iname "*omni*.pc*"

gives
/usr/lib/x86_64-linux-gnu/pkgconfig/omniORB4.pc
,
among others.

But even after
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig

no packages are listed by
pkg-config –-list-all


I have the files which are listed under the link, so I assume libomniorb4-dev is fully installed.
Edited 1 year ago
Very strange behaviour. It should work with the export PKG_CONFIG_PATH environment variable as you've set it…
And the –list-all option should return some packages, even when PKG_CONFIG_PATH is not set.
It looks like you have a problem with your pkg-config installation.

Could it be a file permission problem?
Can you read the content of /usr/lib/x86_64-linux-gnu/pkgconfig/omniORB4.pc?

Could it be that you have a dummy or degraded version of pkg-config or you are using another script or binary named pkg-config?

which pkg-config
to know which exe or script you're using.

What does
sudo apt list –installed | grep pkg-config
return for you?
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
I've just setup a new ubuntu 20.04 virtual machine and followed the steps at https://tango-controls.readthedocs.io/en/latest/installation/tango-on-linux.html#debian-ubuntu. Worked like a charm.

@kfrank: Did you install all required packages as required? There are multiple omniORB packages required.
And in case you are not tied to 9.3.4 specially we also have a more recent 9.3.5. And a new 9.4.1. All at https://gitlab.com/tango-controls/TangoSourceDistribution/-/releases.
@Reynald:

I can read /usr/lib/x86_64-linux-gnu/pkgconfig/omniORB4.pc.

which pkg-config

yields
/software/opt/focal/x86_64/python/3.9-2021.11/bin/pkg-config

sudo apt list –installed | grep pkg-config

yields only
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

but no packages (but sudo apt list –installed lists many packages).

@t-b:

I've followed the same steps and installed the packages as required
sudo apt-get install g++ openjdk-8-jdk mariadb-server libmariadb-dev zlib1g-dev libomniorb4-dev libcos4-dev omniidl libzmq3-dev make

If I repeat this now, I get
Reading package lists… Done
Building dependency tree
Reading state information… Done
g++ is already the newest version (4:9.3.0-1ubuntu2).
make is already the newest version (4.2.1-1.2).
libcos4-dev is already the newest version (4.2.2-0.9build4).
libomniorb4-dev is already the newest version (4.2.2-0.9build4).
libzmq3-dev is already the newest version (4.3.2-2ubuntu1).
omniidl is already the newest version (4.2.2-0.9build4).
zlib1g-dev is already the newest version (1:1.2.11.dfsg-2ubuntu1.5).
libmariadb-dev is already the newest version (1:10.3.37-0ubuntu0.20.04.1).
mariadb-server is already the newest version (1:10.3.37-0ubuntu0.20.04.1).
openjdk-8-jdk is already the newest version (8u352-ga-1~20.04).
The following packages were automatically installed and are no longer required:
apt-config-icons-large apt-config-icons-large-hidpi fprintd fwupd-signed libabw-0.1-1 libandroid-json-java
libcdr-0.1-1 libcfitsio-dev libcfitsio-doc libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5
libdap-dev libdapserver7v5 libe-book-0.1-1 libeot0 libepsilon-dev libepubgen-0.1-1 libetonyek-0.1-1
libexttextcat-2.0-0 libfprint-2-2 libfreexl-dev libfwupd2 libfwupdplugin5 libfyba-dev libgcab-1.0-0
libgeotiff-dev libgl2ps-dev libglazedlists-java libhttpasyncclient-java libhttpmime-java
libjava-string-similarity-java libjcat1 libjcip-annotations-java libjempbox-java libjgoodies-forms-java
libjhlabs-filters-java libjson-c-dev libjsoncpp-dev libjuh-java libjurt-java libkml-dev libkmlconvenience1
libkmlregionator1 libkmlxsd1 liblangtag-common liblangtag1 libmbim-glib4 libmbim-proxy libmicroba-java
libminizip-dev libmwaw-0.3-3 libnetcdf-cxx-legacy-dev libodfgen-0.1-1 libogdi-dev libopenjp2-7-dev
liborcus-0.15-0 libpam-fprintd libpoppler-dev libpoppler-private-dev libpotrace0 libqmi-glib5 libqmi-proxy
libreoffice-style-colibre libreoffice-style-tango libridl-java libsmbios-c2 libsnapd-qt1 libspatialite-dev
libspin-java libtheora-dev libunirest-java-java libuno-cppu3 libuno-cppuhelpergcc3-3
libuno-purpenvhelpergcc3-3 libuno-sal3 libuno-salhelpergcc3-3 libunoil-java libunoloader-java
liburiparser-dev libvisio-0.1-1 libvtk7-java libvtk7-jni libwps-0.4-4 libxerces-c-dev libxmlb2 libxmlsec1
libxmlsec1-nss qttools5-dev qttools5-private-dev tcl-dev tcl-vtk7 tk-dev uno-libs-private ure vtk7
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 174 not upgraded.

I think this is fine but I'm doubtful about the pkg-config.
kfrank
I think this is fine but I'm doubtful about the pkg-config.

I agree with you. This is very suspicious that you get it from a python 3.9 related directory.

What does
pkg-config –version
return?

On my Ubuntu 20.04, it returns 0.29.1.

Did you try to reinstall pkg-config package?
sudo apt update; sudo apt install pkg-config


Kind regards,
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
pkg-config –version

returns 0.29.2.
After reinstalling it I get past the omniORB4 error, but now ./configure gets stuck at
checking for LIBZMQ… yes
basename: missing operand
Try 'basename –help' for more information.
basename: missing operand
Try 'basename –help' for more information.
checking for zmq.hpp… no
configure: error: Couldn't find a compatible zmq.hpp

But
find /usr/include -name "zmqpp.hpp"

returns
/usr/include/zmqpp/zmqpp.hpp

I think I need the zmqpp.hpp from cppzmq. So far I tried building it from source and installing it with conda, but I think I don't have the necessary permissions. I'll keep trying.
I've managed to install it, finally. The trick was to use a bash with anaconda deactivated
conda deactivate


since then all the paths pointed to the correct C compilers.
Now the only thing that's missing is Jive. The procedure did not install jive in /usr/local/tango/bin/
Can I install this manually? The download link here https://tango-controls.readthedocs.io/en/latest/tools-and-extensions/built-in/jive/index.html?highlight=jive seems to be invalid.
 
Register or login to create to post a reply.