[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