Installing Tango on Ubuntu 18.04 LTS

Hi, I'm new in Tango and I've tried to install it following this tutorial for an Ubuntu SO https://tango-controls.readthedocs.io/en/latest/installation/tango-on-linux.html#debian-ubuntu

STEPS:
1)sudo apt-get install g++ openjdk-8-jdk mariadb-server libmariadb-dev zlib1g-dev libomniorb4-dev libcos4-dev omniidl libzmq3-dev make
2)sudo service mariadb start
3)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';
4)wget https://gitlab.com/api/v4/projects/24125890/packages/generic/TangoSourceDistribution/9.3.5/tango-9.3.5.tar.gz
5)mkdir tango
cd tango
tar xzvf tango-9.3.5.tar.gz
6)./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) make
8)sudo make install
9)sudo gedit /usr/local/tango/bin/tango
10)sudo /usr/local/tango/bin/tango start
11)export TANGO_HOST=localhost:10000

I don´t get the step 6 (see Image)
I have used mysql instead of mariadb because it gave an error of syntax in step 3, in step 5 I guess it's missing "&&" and did wget inside tango folder. Finally I did make anf sudo make install (steps 7 and 8) and there is not a file "tango" .

Please, if someone got to install Tango following this tutorial I ask to indicate the right steps or any alternative. I don´t mind it was a elder version of Tango to 9.3.5 or mariadb/mysql.
I tried to reproduce the installation on ubuntu LTS 18.04.

> I have used mysql instead of mariadb because it gave an error of syntax in step 3, in step 5 I guess it's missing "&&" and did wget inside tango folder.

In general we adivse to use mariadb as that is more future proof as we will drop mysql support in a future release. My steps also work with mariadb.

Some steps differ from the posted ones as the basis for that post is ubuntu 20.04:

- You need to install the packages libmariadbclient-dev and mariadb-client in addition. So the total package list is

sudo apt-get install g++ openjdk-8-jdk mariadb-server libmariadb-dev zlib1g-dev libomniorb4-dev libcos4-dev omniidl libzmq3-dev make libmariadbclient-dev mariadb-client


- Setting a new database password is done via

sudo mariadb -u root

and then entering


UPDATE mysql.user SET password = PASSWORD('mypassword') WHERE user = 'root';
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
UPDATE mysql.user SET plugin = '' WHERE user = 'root';
FLUSH PRIVILEGES;


You can then try the password with


mariadb -u root -p


which if the correct password was entered should give you a SQL console.

I was then able to compile it with


CXXFLAGS="-DLIBMARIADB" ./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
make -j


The hack with CXXFLAGS is required as our detection of mariab/mysql does not play too good with ubuntu 18.04 LTS. As that is also going end-of-life soon, see https://ubuntu.com/about/release-cycle, I'm afraid we are also not able to provife a proper fix.

Does that now work on your end?
t-b
I tried to reproduce the installation on ubuntu LTS 18.04.

> I have used mysql instead of mariadb because it gave an error of syntax in step 3, in step 5 I guess it's missing "&&" and did wget inside tango folder.

In general we adivse to use mariadb as that is more future proof as we will drop mysql support in a future release. My steps also work with mariadb.

Some steps differ from the posted ones as the basis for that post is ubuntu 20.04:

- You need to install the packages libmariadbclient-dev and mariadb-client in addition. So the total package list is

sudo apt-get install g++ openjdk-8-jdk mariadb-server libmariadb-dev zlib1g-dev libomniorb4-dev libcos4-dev omniidl libzmq3-dev make libmariadbclient-dev mariadb-client


- Setting a new database password is done via

sudo mariadb -u root

and then entering


UPDATE mysql.user SET password = PASSWORD('mypassword') WHERE user = 'root';
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
UPDATE mysql.user SET plugin = '' WHERE user = 'root';
FLUSH PRIVILEGES;


You can then try the password with


mariadb -u root -p


which if the correct password was entered should give you a SQL console.

I was then able to compile it with


CXXFLAGS="-DLIBMARIADB" ./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
make -j


The hack with CXXFLAGS is required as our detection of mariab/mysql does not play too good with ubuntu 18.04 LTS. As that is also going end-of-life soon, see https://ubuntu.com/about/release-cycle, I'm afraid we are also not able to provife a proper fix.

Does that now work on your end?
Thank you for your answer, and I apologize for the delay. My goal has changed, and I am currently trying to cross-compile Tango for a host aarch64 Linux, so I've created a new post in the folling link: https://www.tango-controls.org/community/forum/c/general/other/cross-compile-tango-for-a-host-aarch64-linux/?page=1#post-5119. However, I also found some very useful information related to MariaDB and Ubuntu 20.04.
t-b
I tried to reproduce the installation on ubuntu LTS 18.04.

> I have used mysql instead of mariadb because it gave an error of syntax in step 3, in step 5 I guess it's missing "&&" and did wget inside tango folder.

In general we adivse to use mariadb as that is more future proof as we will drop mysql support in a future release. My steps also work with mariadb.

Some steps differ from the posted ones as the basis for that post is ubuntu 20.04:

- You need to install the packages libmariadbclient-dev and mariadb-client in addition. So the total package list is

sudo apt-get install g++ openjdk-8-jdk mariadb-server libmariadb-dev zlib1g-dev libomniorb4-dev libcos4-dev omniidl libzmq3-dev make libmariadbclient-dev mariadb-client


- Setting a new database password is done via

sudo mariadb -u root

and then entering


UPDATE mysql.user SET password = PASSWORD('mypassword') WHERE user = 'root';
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
UPDATE mysql.user SET plugin = '' WHERE user = 'root';
FLUSH PRIVILEGES;


You can then try the password with


mariadb -u root -p


which if the correct password was entered should give you a SQL console.

I was then able to compile it with


CXXFLAGS="-DLIBMARIADB" ./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
make -j


The hack with CXXFLAGS is required as our detection of mariab/mysql does not play too good with ubuntu 18.04 LTS. As that is also going end-of-life soon, see https://ubuntu.com/about/release-cycle, I'm afraid we are also not able to provife a proper fix.

Does that now work on your end?
Thank you for your answer, and I apologize for the delay. My goal has changed, and I am currently trying to cross-compile Tango for a host aarch64 Linux, so I've created a new post in the folling link: https://www.tango-controls.org/community/forum/c/general/other/cross-compile-tango-for-a-host-aarch64-linux/?page=1#post-5119. However, I also found some very useful information related to MariaDB and Ubuntu 20.04.
 
Register or login to create to post a reply.