Re: libtool issue with EPEL10

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/30/24 10:22, Orion Poplawski wrote:
On 10/29/24 22:32, Orion Poplawski wrote:
On 10/27/24 20:17, Orion Poplawski wrote:
I'm trying to build netcdf in EPEL10 but the test suite is failing to run with:

/builddir/build/BUILD/netcdf-c-4.9.2/build/ncgen3/.libs/lt-ncgen3: error while loading shared libraries: libnetcdf.so.19: cannot open shared object file: No such file or directory

Comparing EPEL10 to rawhide builds I notice that while the EPEL10 build produces an "lt-ncgen3" binary, rawhide does not.  The rawhide ncgen3 wrapper script appears to set LD_LIBRARY_PATH, the EPEL10 one does not and instead seems to try to produce a "relinked" file.

I don't think I have every run into this issue before and have no idea why it's happening.

Any libtool experts out there with an idea?


Some more differences:


--- fedora-rawhide-x86_64/root/builddir/build/BUILD/netcdf-4.9.2- build/ netcdf-c-4.9.2/build/libtool     2024-10-29 20:40:32.996721304 -0600 +++ centos-stream+epel-10-x86_64/root/builddir/build/BUILD/netcdf- c-4.9.2/build/libtool 2024-10-29 20:35:41.753975205 -0600

  # Whether or not to optimize for fast installation.
-fast_install=needless
+fast_install=yes

  # Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=yes
+shlibpath_overrides_runpath=no

 From https://www.gnu.org/software/libtool/manual/libtool.html


Variable: shlibpath_overrides_runpath

     Indicates whether it is possible to override the hard-coded library search path of a program with an environment variable. If this is set to no, libtool may have to create two copies of a program in the build tree, one to be installed and one to be run in the build tree only. When each of these copies is created depends on the value of fast_install. The default value is ‘unknown’, which is equivalent to ‘no’.


This appears to be the difference that I'm seeing.  It also seems to just be wrong.

There is no (real) difference between the libtool.spec file in rawhide and 10-stream.  I can't find any public build logs though for centos stream builds.

It's also very strange that this is the first package I've built that has had this issue.

I've filed https://issues.redhat.com/browse/RHEL-65261

The issue appears to be caused by the rpath workaround from here:

https://docs.fedoraproject.org/en-US/packaging-guidelines/#_removing_rpath

sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool

Removing that from the netcdf package allows the tests to run.  Still need to confirm that rpath does not return without it though.

The reason for this is https://src.fedoraproject.org/rpms/binutils/blob/rawhide/f/binutils.spec#_56 IOW the lack of -Wl,--enable-new-dtags on RHEL combined with no RPATH means that you have to take full responsibility for assuring that the in-tree library is in LD_LIBRARY_PATH yourself.

--
Yaakov Selkowitz
Principal Software Engineer, Emerging RHEL
Red Hat, Inc.

--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux