Profiting from the break from zoom meetings I tried out the latest version (V9.3.4) of the source code release of Tango controls on a virgin Ubuntu LTS 20.04. Here are my notes:

1. Download source tarball from github:
   wget https://github.com/tango-controls/TangoSourceDistribution/releases/download/9.3.4/tango-9.3.4.tar.gz

2. Unpack in a sub-directory called tango (so I can test multiple versions in the future):
   mkdir tango
tar xzvf tango-9.3.4.tar.gz

3. Install packages required to compile tango-controls:
   sudo apt-get install g++ openjdk-8-jdk mariadb-server libmariadb-dev zlib1g-dev libomniorb4-dev libcos4-dev omniidl libzmq-dev make

4. Start mariadb :
   sudo service mariadb start

5. Set password for mariabdb root user to 'mypassword':
   sudo mariadb -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'mypassword';
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
UPDATE mysql.user SET plugin = '' WHERE user = 'root';

6. Configure tango-controls to build and install in /usr/local/tango:
   ./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

7. Compile tango-controls:
   make

8. Install tango-controls:
   sudo make install

9. Add following lines to start script /usr/local/tango/bin/tango:
   sudo gedit /usr/local/tango/bin/tango
export MYSQL_USER=root
export MYSQL_PASSWORD=mypassword

10. Start tango-controls database server:
    sudo /usr/local/tango/bin/tango start

11. Start test device server:
    /usr/local/tango/bin/TangoTest test &

11. Test jive:
    export TANGO_HOST=localhost:10000
/usr/local/tango/bin/jive

12. You can now define your device servers and devices, start and test them - ENJOY!

Two issues that will need fixing in the next releases are:
1. Add the MYSQL_USER and MYSQL_PASSWORD to the tango startup script
2. Suppress the TANGO_HOST undefined message which is not relevant


Questions and feedback welcomed!

Cheers

Andy