SOLVED: Installing Tango on Rocky Linux 8 or 9

Hi,
does anyone have tried to install Tango on a Red Hat compatible Linux distro like Rocky Linux?

I’m trying the installation with the help of a custom Ansible playbook, but at the end in both Rocky 8 and 9, the starter daemon segfaults with the following error (on a Rocky Linux 8):


omniORB: (0) 2023-08-28 13:54:36.494685: Application check failed. This indicates a bug in the application using omniORB.  See the comment in the source code for more info.
 file: ../../../../../src/lib/omniORB/orbcore/corbaOrb.cc
 line: 670
 info: pd_destroyed

The databaseds seems to run correctly.

Some details on libraries installed:

  • mariadb 10.3 (on Rocky 8), 10.5 (on Rocky 9)
  • omniORB 4.2.2
  • zmq 4.3.4
  • Tango 9.3.5 (on Rocky 8), 9.3.6 (on Rocky 9)

Thank you!

Best regards,
Cristiano Urban.

Hi Cristiano,

What version of the Starter Device Server are you using?
Could this be related to the following issue which has been solved recently? → Starter core dump on rhel9 (#24) · Issues · tango-controls / starter · GitLab
Could you try to compile the Starter from the Starter main branch and check whether the problem is still there on the Starter git repository main branch?

Thanks for your feedback!
Kind regards,
Reynald

Ooops, I meant 9.3-backports branch, not the main branch, since you are using cpptango 9.3.x
Sorry for the confusion.

Hi Reynald,
thank you for your answer, I’ve made some tests and I report some details here below.

All the tests have been made on Rocky Linux 8 with the very same configuration of the initial post, except for the version of Tango: this time I used the v9.3.6.

In the next period I think I will do more detailed tests also on Rocky Linux 9.

The Starter version should be v7.6 according to the CHANGELOG in the cppserver folder.

Anyway, I tried to compile and run the Starter separately, as you advised me:

git clone --branch 9.3-backports https://gitlab.com/tango-controls/starter.git
cd starter
mkdir build && cd build
cmake ../
make
./Starter <my_hostname>
The device server Starter/<my_hostname> is not defined in database. Exiting!
host=$(hostname -s) && tango_admin --add-server Starter/$host Starter tango/admin/$host
./Starter <my_hostname>
ENOENT
2  No such file or directory

So, in this case, it seems to run without crashing.


I’ve also tried to apply the patch you linked me.

cd /home/controls/download/tango-9.3.6/cppserver/starter
wget https://gitlab.com/tango-controls/starter/uploads/0f3dff7011ae8114b2aad9a1c9487224/0001-Starter.cpp-Fix-indexing-error.patch
patch -i 0001-Starter.cpp-Fix-indexing-error.patch
patching file Starter.cpp

Then I’ve compiled Tango again, after having uninstalled the previous installation.

Here below, the configure:

Configuration (tango):

        Source code location:       ..
        Version:                    9.3.6
        Compiler:                   gcc,g++

        OMNIORB PATH:               /usr/local/omniORB-4.2.2
        OMNIORB VERSION:            "4.2.2"

        ZMQ PATH:                   /usr
        ZMQ VERSION:                4.3.4

        JAVA PATH:                  /usr/bin/java
        JAVA VERSION:               1.8.0_382

        Database MARIADB
          CLIENT LIB:               -lmariadb
          CLIENT VERSION:           3.1.11
          VERSION:                  10.3.35-MariaDB
          CONNECTION:               OK

build:
        libraries:                  yes
        java application:           yes
        access control server:      yes
        database server:            yes
        database schema create:     yes

Unfortunately, this patch does not seem to solve the issue.

I attached to this post my ansible scripts, if that helps in some way.

Cristiano.

Hi,
ok, I think I figured out what the problem was: environment variables of the systemd units were not read correctly from config files.

I’ve attached here below a new version of my ansible scripts, just to make it available. I tested them only on Rocky 8 for now.

I think we can mark this thread as SOLVED.

Thank you!

Cheers,
Cristiano.

Hi! I only saw this thread now. I just wanted to mention that we maintain some Tango RPMs.
See tango-controls / RPM / tango-spec · GitLab

You can install them from Copr @tango-controls/tango or from MAX IV public repo.
They are available for Rocky 8.
We haven’t built them for Rocky 9 yet.