Problem with dependency hwloc openpbs20.0.1

Hi,
I trying install package:
openpbs-execution-20.0.1-0.x86_64.rpm
on Centos8-stream and I have one error:

error: Failed dependencies:
        libhwloc.so.5()(64bit) is needed by openpbs-execution-20.0.1-0.x86_64

I have installed hwloc packages:

Installed Packages
hwloc.x86_64                   2.2.0-2.el8 
hwloc-devel.x86_64             2.2.0-2.el8 
hwloc-libs.x86_64              2.2.0-2.el8 
hwloc-plugins.x86_64           2.2.0-2.el8

They are pretty old according this webpage:
https://www.open-mpi.org/software/hwloc/ancient/

Do I need compile and install newest version to pbs was install sucessfully?

I see that I have:
/usr/lib64/libhwloc.so.15.2.0
/usr/lib64/libhwloc.so.15
in the system but not have:
libhwloc.so.5
That means that I need older version of libhwloc: 1.11
which is not available in Centos 8 stream repos … ;((

Should I compile hwloc 1.11 from sources?
From here:
https://www.open-mpi.org/software/hwloc/v1.11/
?

I mention that I was installed before all packages from point 1. and 2. from this instruction:

and problem still persist - I can not install openpbs-exec on Centos 8 stream.

Regards!

Hmmm… I was compiled and installed hwloc in versions: 1.11.13, 1.11.8 and 2.4.1 and problem do not disappear :frowning:

HELP ME PLEASE!

This is a known problem in the OpenHPC community due to changes in recent CentOS 8 distros. It has not yet been resolved to my knowledge. It broke the builds for both SLURM and OpenPBS.

I assume you are passing the --with-hwloc=/path/to/the/hwloc/you/built to the OpenPBS configure script?

Hi @mkaro ,
No, I was just install a hwloc from sources and then I tried to install rpm package on execution host using rpm -i openpbs-execution*.rpm command. It ends with error.
Should I compile openpbs-execution from tarball, like it is shown in above script? Is there an option to tell configure script that I want to compile openpbs-execution, neither a server nor client version of pbs?

OMG it’s a live!!!

I compiled openpbs from sources but this option was insufficient:

After I provide it configuration script still do not sees libhwloc.so.5 library. When I was change it to:
–with-hwloc=/path/to/the/hwloc/you/built/lib
comfiguration script saw libhwloc.so.5 library but don’t sees headers :confused:
So command that working for me is:

./configure LDFLAGS=-L/path/to/the/hwloc/you/built/lib CPPFLAGS=-I/path/to/the/hwloc/you/built/include

However I think that this is a bug of openpbs that when someone is trying install it from rpm package getting an error. An installer search libhwloc.so.5 library which is very old. Modern systems have it newest with newest filename (e.g. libhwloc.so.15). So installer should search just libhwloc.so without a number after that. System has linked this name to actual installed version in that operating system.

Regards!

No option to select which RPMs get built, but it’s not much more expensive to produce all versus one on today’s hardware.

Congrats! Glad it worked! If you wouldn’t mind filing an issue on github to flag this bug it would be appreciated. The intent was for it to work as described, but you were able to work around the issue.

Hi,
It seems to compilation openpbs goes well with hwloc-devel and hwloc-libs packages installed in the system, so I do not need those two parameters when I trying to compile:

LDFLAGS=-L/path/to/the/hwloc/you/built/lib CPPFLAGS=-I/path/to/the/hwloc/you/built/include

and I do not need to compile hwloc from sources,
but I still can not install openpbs from rpm packages because it did not see libhwloc.so.5 library in the system.

Easiest workaround would be to remove the “Requires: hwloc-libs” from openpbs.spec when you build the RPMs. This could cause problems if you install OpenPBS without the required hwloc components, so use with caution. Did the name of the package change in CentOS8?

What you mean? All hwloc packages from Centos 8 stream are listed in the first post.

Just curious why it started failing on CentOS 8. Package names look OK.

It was solved in my CentOS 8.4 and Rocky linux 8.4 by the following package in September 2021.

yum install http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/compat-hwloc1-2.2.0-3.el8.x86_64.rpm

You may have to use the newer version of compat-hwloc1 after the version update in source server. you can find the newer version in http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages.