Hi William,

Interesting experiences with MariaDB 10.4! I tried to collect the instructions from the MariaDB page, but I'm unsure about how to get the galera-4 RPM.

Could you kindly review and correct my updated instructions?
https://wiki.fysik.dtu.dk/niflheim/Slurm_installation#build-slurm-rpms

That said, what are the main reasons for installing MariaDB 10 in stead of the 5.5 delivered by RedHat? I'm not sure how well SchedMD has tested MariaDB 10 with Slurm?

/Ole


On 11-11-2019 21:23, William Brown wrote:
I have in fact found the answer by looking harder.

The config.log clearly showed that the build of the test MySQL program failed, 
which is why it was set to be excluded.

It failed to link against '-lmariadb'.  It turns out that library is no longer 
in MariaDB or MariaDB-devel, it is separately packaged in MariaDB-shared.  That 
may of course be because I have built MariaDB 10.4 from the mariadb.org site, 
because CentOS 7 only ships with the extremely old version 5.5.

Once I installed the missing package it built the RPMs just fine.  However it 
would be easier to use it linked to static MariaDB libraries, as I now have to 
installed MariaDB-shared on every server that will run slurmd, i.e. all compute 
nodes.  I expect that if I looked harder at the build options there may be a 
way to do this, perhaps with linker flags.

For now, I can progress.

Thanks

William

-----Original Message-----
From: slurm-users <slurm-users-boun...@lists.schedmd.com> On Behalf Of Ole Holm 
Nielsen
Sent: 11 November 2019 20:02
To: slurm-users@lists.schedmd.com
Subject: Re: [slurm-users] RPM build error - accounting_storage_mysql.so

Hi,

Maybe my Slurm Wiki can help you build SLurm on CentOS/RHEL 7?  See 
https://wiki.fysik.dtu.dk/niflheim/Slurm_installation#build-slurm-rpms

Note in particular:
Important: Install the MariaDB (a replacement for MySQL) packages before you 
build Slurm RPMs (otherwise some libraries will be missing):

yum install mariadb-server mariadb-devel

/Ole


On 11-11-2019 15:22, William Brown wrote:
Fabio

Did you ever resolve the problem building accounting_storage_mysql.so?

I have the exact same problem with CentOS 7.6, building Slurm 19.05.03.
My command:

rpmbuild -ta slurm-19.05.3-2.tar.bz2 | tee /var/tmp/slurm-build.log

The directory with the plugin source is all there:
/home/users/slurm/rpmbuild/BUILD/slurm-19.05.3-2/src/plugins/accountin
g_storage/mysql, with a Makefile that is the same date/time as the
other accounting_storage alternatives.

In the log I can see:

checking for mysql_config... /usr/bin/mysql_config

Looking at the process of building the RPMs it looks as if it has
skipped trying to create the missing library file, but then expects to
find it in the RPM.

This is what I see when it is building, it builds the
accounting_storage .so files for _fileext, _none and _slurmdbd, but
not for _mysql.  I do have MariaDB-devel 10.4.10 installed

.

.

Making all in mysql

make[5]: Entering directory
`/home/users/slurm/rpmbuild/BUILD/slurm-19.05.3-2/src/plugins/accounting_storage/mysql'

make[5]: Nothing to be done for `all'.

make[5]: Leaving directory
`/home/users/slurm/rpmbuild/BUILD/slurm-19.05.3-2/src/plugins/accounting_storage/mysql'

.

.

Making install in mysql

make[4]: Entering directory
`/home/users/slurm/rpmbuild/BUILD/slurm-19.05.3-2/src/plugins/accounting_storage/mysql'

make[5]: Entering directory
`/home/users/slurm/rpmbuild/BUILD/slurm-19.05.3-2/src/plugins/accounting_storage/mysql'

make[5]: Nothing to be done for `install-data-am'.

make[5]: Leaving directory
`/home/users/slurm/rpmbuild/BUILD/slurm-19.05.3-2/src/plugins/accounting_storage/mysql'

make[4]: Leaving directory
`/home/users/slurm/rpmbuild/BUILD/slurm-19.05.3-2/src/plugins/accounting_storage/mysql'

The error stream shows the problem a little later:

Processing files: slurm-19.05.3-2.el7.x86_64

warning: File not found:
/home/users/slurm/rpmbuild/BUILDROOT/slurm-19.05.3-2.el7.x86_64/home/a
pps/slurm/lib64/slurm/accounting_storage_mysql.so

.

.

Processing files: slurm-slurmdbd-19.05.3-2.el7.x86_64

error: File not found:
/home/users/slurm/rpmbuild/BUILDROOT/slurm-19.05.3-2.el7.x86_64/home/a
pps/slurm/lib64/slurm/accounting_storage_mysql.so

File not found:
/home/users/slurm/rpmbuild/BUILDROOT/slurm-19.05.3-2.el7.x86_64/home/a
pps/slurm/lib64/slurm/accounting_storage_mysql.so

File not found:
/home/users/slurm/rpmbuild/BUILDROOT/slurm-19.05.3-2.el7.x86_64/home/a
pps/slurm/lib64/slurm/accounting_storage_mysql.so

RPM build errors:

I looked at the Makefile for the accounting_storage_mysql as compared
to the Makefile for accounting_storage_slurmdbd to try to understand them.

This is a selection from the Makefile for mysql:

all: all-am

all-am: Makefile $(LTLIBRARIES)

LTLIBRARIES = $(pkglib_LTLIBRARIES)

#pkglib_LTLIBRARIES = accounting_storage_mysql.la
<http://accounting_storage_mysql.la>

And this is for slurmdbd:

all: all-am

all-am: Makefile $(LTLIBRARIES)

LTLIBRARIES = $(pkglib_LTLIBRARIES)

pkglib_LTLIBRARIES = accounting_storage_slurmdbd.la
<http://accounting_storage_slurmdbd.la>

So I think that the problem is that the definition of
pkglib_LTLIBRARIES is commented out in the accounting_storage_mysql
Makefile, hence nothing to build.

Is that intended?  Is it a consequence of something in my environment?


Reply via email to