[slurm-users] RPM build error - accounting_storage_mysql.so

Barbara Krašovec barbara.krasovec at ijs.si
Mon Nov 11 20:42:55 UTC 2019


I solved the problem by creating a symlink:
ln -s /usr/lib64/libmariadbclient.a /usr/lib64/libmariadb.a 
Cheers,
Barbara

> On 11 Nov 2019, at 21:23, William Brown <william at signalbox.org.uk> 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-bounces at lists.schedmd.com> On Behalf Of Ole Holm Nielsen
> Sent: 11 November 2019 20:02
> To: slurm-users at 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?
>> 
> 
> 
> 




More information about the slurm-users mailing list