Closed matsKNY closed 3 years ago
I need to look into this a little more. We shouldn't need to list libraries that are dependencies of dependencies in our makefile. I'll see about getting a CentOS 8 box setup to test with in the next week or so.
Redhat 8 (or at least the CentOS/AlmaLinux clones of them) have the libreadline-devel... https://centos.pkgs.org/8/centos-baseos-x86_64/readline-devel-7.0-10.el8.x86_64.rpm.html not sure why you are having issue with it...
Pull #153 will have this starting to release EL8 (RHEL8, CentOS 8, AlamaLinux, etc) compatible RPMs.
First of all, thank you for your answers.
Redhat 8 (or at least the CentOS/AlmaLinux clones of them) have the libreadline-devel... https://centos.pkgs.org/8/centos-baseos-x86_64/readline-devel-7.0-10.el8.x86_64.rpm.html not sure why you are having issue with it...
Clones of RHEL8 do have the libreadline-devel RPM. But, as of now, neither is this RPM included in the RHEL8 official repositories nor it is in the EPEL8 ones.
At least, no trace of it when I execute yum search libreadline-devel
on an up-to-date RHEL8.3 compute node, with RHEL8 and EPEL8 official repositories configured and up-to-date.
Additionally, I confirmed it with some googling:
I need to look into this a little more. We shouldn't need to list libraries that are dependencies of dependencies in our makefile. I'll see about getting a CentOS 8 box setup to test with in the next week or so.
It makes sense. Let me just point out that in the original FindReadline.cmake
, ncurses
is looked for, as it also defines the missing symbols. I changed it to look for libtinfo
as it seemed more lightweight.
The only workaround I found to compile redfishcli
on RHEL8 is to link to libtinfo
(or another library defining the missing symbols). If another workaround does exist, I will be glad to know about it.
Ah I see your problem. It's readline-devel not libreadline-devel. No idea why since it is a library, but yeah checking my companies internal RHEL 8 repo, the readline-devel package is still there for RHEL 8.X
Oh. Apologies for the mistake. I think this PR has no more reason to exist. Many thanks for your answers, time, and patience.
(Hereinbelow comment associated with tests on RHEL8.3)
On RHEL8, the
readline-devel
RPM is not available (even when EPEL8 is taken into account). As a result, it is compulsory to compile and installreadline
from source.At compile time (i.e while running
make
after theMakefile
was generated through the action ofcmake
), it appears that some symbols used bylibreadline
are not defined:Those symbols are defined by
libtinfo
, which can be installed from the official RHEL8 repositories. As a result, to be able to buildredfishcli
, which depends onlibreadline
, it seems that it is required to also link onlibtinfo
.To do so,
FindReadline.cmake
was modified so as to look for the path tolibtinfo
, and return it into${Tinfo_LIBRARY}
.CMakeLists.txt
was then modified to link to${Tinfo_LIBRARY}
when buildingredfishcli
.