Notes on singularity and gluex software

July 29, 2017

Things to do:

  • Figure out how to copy files to oasis
  • Figure out how to copy containers to singlularity cvmfs

Useful commands:

singularity expand centos7.img
sudo /usr/local/bin/singularity shell --writable centos7.img
/usr/local/bin/singularity shell --bind /group/halld:/group/halld centos7.img

Getting mysql shared library to be seen by container:

> eval `addpath.pl -l /home/marki/lib`
> addpath.pl -l /home/marki/lib
LD_LIBRARY_PATH=/home/marki/lib:/group/halld/Software/builds/Linux_CentOS7-x86_64-gcc4.8.5/gluex_root_analysis/gluex_root_analysis-0.2^ccdb165/Linux_CentOS7-x86_64-gcc4.8.5/lib/:/group/halld/Software/builds/Linux_CentOS7-x86_64-gcc4.8.5/evio/evio-4.4.6/Linux-x86_64/lib:/group/halld/Software/builds/Linux_CentOS7-x86_64-gcc4.8.5/rcdb/rcdb_0.01/cpp/lib:/group/halld/Software/builds/Linux_CentOS7-x86_64-gcc4.8.5/ccdb/ccdb_1.06.05/lib:/group/halld/Software/builds/Linux_CentOS7-x86_64-gcc4.8.5/geant4/geant4.10.02.p02/lib64:/group/halld/Software/builds/Linux_CentOS7-x86_64-gcc4.8.5/root/root-6.08.06/lib:/group/halld/Software/builds/Linux_CentOS7-x86_64-gcc4.8.5/xerces-c/xerces-c-3.1.4/lib:/.singularity.d/libs
> ls /home/marki/lib
libmysqlclient.so.20
> cp /usr/lib64/mysql/libmysqlclient.so.20 /u/scratch/marki

Try to find where the non-standard library is coming from, on ifarm1401:

> repoquery -f /usr/lib64/mysql/libmysqlclient.so.20.3.2
mysql-community-libs-0:5.7.15-1.el7.x86_64
> repoquery -i mysql-community-libs-0:5.7.15-1.el7.x86_64

Name        : mysql-community-libs
Version     : 5.7.15
Release     : 1.el7
Architecture: x86_64
Size        : 9898444
Packager    : MySQL Release Engineering <mysql-build@oss.oracle.com>
Group       : Applications/Databases
URL         : http://www.mysql.com/
Repository  : mysql
Summary     : Shared libraries for MySQL database client applications
Source      : mysql-community-5.7.15-1.el7.src.rpm
Description :
This package contains the shared libraries for MySQL client
applications.

Tracking down the mysql shared library needed:

In CentOS7 Singularity container:

> mysql --version
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1

On ifarm1402:

> mysql --version
mysql Ver 14.14 Distrib 5.7.15, for Linux (x86_64) using EditLine wrapper
> ldd `which hd_root` | grep mysql
libmysqlclient.so.20 => /usr/lib64/mysql/libmysqlclient.so.20 (0x00007f670896c000)

On lorentz:

> mysql --version
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
> ldd `which hd_root` | grep mysql
libmysqlclient.so.18 => /usr/lib64/mysql/libmysqlclient.so.18 (0x00007f09a0cfd000)

Special repo on ifarm:

> pushd /etc/yum.repos.d
/etc/yum.repos.d /u/scratch/marki
ifarm1402:marki:yum.repos.d> ls
core72.repo epel-testing.repo.bak mysql.repo scicomp-extras.repo
epel.repo eple.repo.bak2 salt.repo
ifarm1402:marki:yum.repos.d> cat mysql.repo
# mysql rhel7 mirror
[mysql]
name = MySQL Community
baseurl=http://sca1401/yum/centos72/mysql_c7
gpgcheck=0