Re: [HTCondor-devel] CMake errors building for Fedora


Date: Fri, 7 Jun 2019 17:17:48 +0000
From: Jaime Frey <jfrey@xxxxxxxxxxx>
Subject: Re: [HTCondor-devel] CMake errors building for Fedora


On May 23, 2019, at 3:51 PM, Ben Cotton via HTCondor-devel <htcondor-devel@xxxxxxxxxxx> wrote:

On Mon, May 20, 2019 at 10:26 AM Ben Cotton <bcotton@xxxxxxxxxxxxxxxxx> wrote:

[ 99%] Linking CXX executable gahp_server
/usr/bin/ld: CMakeFiles/gahp_server.dir/gahp_server.cpp.o: undefined
reference to symbol 'dlopen@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/9/../../../../lib64/libdl.so:
error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status


From what I can tell on Stack Overflow et al, the solution is a change
to the arguments to ld, but I'm not sure what or where to make those
changes. This also affects 8.6.11 building on F30 (presumably it's a
change in behavior between glibc 2.28 (in F29) and 2.29 (in F30 and
rawhide)


Hokay! So I wrote a patch that gets me through the compile:
https://src.fedoraproject.org/rpms/condor/blob/master/f/libdl.patch

This doesn't seem to be in the idiom of HTCondor, but I don't know
enough about CMake to know how to make it not an ugly hack. If you
want, I'll open a ticket with the patch attached and you can do what
you want with it. This will probably be necessary as your supported
platforms move to glibc 2.29.

It looks like we already try to include -ldl on all link lines using CMAKE_EXE_LINKER_FLAGS, but it comes before any of the object files. I wonder if thatâs whatâs tripping up the build on F30.

In your patch, you can use ${HAVE_LIBDL} instead of -ldl. If that works, I can push the change.

 - Jaime
[← Prev in Thread] Current Thread [Next in Thread→]