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

[Condor-users] Standard universe python: dynamic library problem



Hi,

I have been trying to get Python compiled for the standard universe, as was claimed possible in:

https://lists.cs.wisc.edu/archive/condor-users/2007-March/msg00217.shtml
https://lists.cs.wisc.edu/archive/condor-users/2005-August/ msg00061.shtml

Unfortunately, I am encountering linking problems when using condor_compile that relate to dynamic linking library (libdl.a). I get a bunch of undefined references to functions in that library (see below). I am using RHEL 4 with condor v6.8.4 (RHEL 3), gcc 3.4.6, and python 2.3.6 (also tried python 2.5.1 without success). I realize that Condor does not support checkpointing for Linux programs that do dynamic linking, but I believe the program should at least link properly (and be usable without the checkpointing feature).

Any help would be greatly appreciated.

Thanks,
Colin

$ condor_compile gcc -Xlinker -export-dynamic -o python Modules/ python.o libpython2.3.a -ldl -lutil -lm LINKING FOR CONDOR : /usr/bin/ld -L/s/pkg/linux/condor/lib -Bstatic -- eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o python /s/pkg/linux/condor/lib/condor_rt0.o /usr/lib/gcc/i386-redhat- linux/3.4.6/../../../crti.o /usr/lib/gcc/i386-redhat-linux/3.4.6/ crtbeginT.o -L/s/pkg/linux/condor/lib -L/u/deweylab/sw/python-2.5.1/ arch/i386-redhat-linux-gnu/lib -L. -L/usr/lib/gcc/i386-redhat-linux/ 3.4.6 -L/usr/lib/gcc/i386-redhat-linux/3.4.6 -L/usr/lib/gcc/i386- redhat-linux/3.4.6/../../.. -export-dynamic Modules/python.o libpython2.3.a -ldl -lutil -lm /s/pkg/linux/condor/lib/ libcondorzsyscall.a /s/pkg/linux/condor/lib/libcondor_z.a /s/pkg/ linux/condor/lib/libcomp_libstdc++.a /s/pkg/linux/condor/lib/ libcomp_libgcc.a /s/pkg/linux/condor/lib/libcomp_libgcc_eh.a --as- needed --no-as-needed -lcondor_c -lcondor_nss_files -lcondor_nss_dns - lcondor_resolv -lcondor_c -lcondor_nss_files -lcondor_nss_dns - lcondor_resolv -lcondor_c /s/pkg/linux/condor/lib/libcomp_libgcc.a /s/ pkg/linux/condor/lib/libcomp_libgcc_eh.a --as-needed --no-as-needed / usr/lib/gcc/i386-redhat-linux/3.4.6/crtend.o /usr/lib/gcc/i386-redhat- linux/3.4.6/../../../crtn.o libpython2.3.a(dynload_shlib.o)(.text+0x15d): In function `_PyImport_GetDynLoadFunc': Python/dynload_shlib.c:129: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
libpython2.3.a(posixmodule.o)(.text+0x34a0): In function `posix_tmpnam':
./Modules/posixmodule.c:6140: warning: the use of `tmpnam' is dangerous, better use `mkstemp' libpython2.3.a(posixmodule.o)(.text+0x3402): In function `posix_tempnam': ./Modules/posixmodule.c:6093: warning: the use of `tempnam' is dangerous, better use `mkstemp' /s/pkg/linux/condor/lib/libcondorzsyscall.a(switches.o)(.text +0x5fc5): In function `__gets_chk': /home/condor/execute/dir_32750/userdir/src/condor_syscall_lib/ switches.remap-LINUX.h:435: warning: the `gets' function is dangerous and should not be used. /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../libdl.a(dlopen.o)(.text +0x10): In function `dlopen':
: undefined reference to `__dlopen'
/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../libdl.a(dlsym.o)(.text +0xd): In function `dlsym':
: undefined reference to `__dlsym'
/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../libdl.a(dlerror.o)(.text +0x5): In function `dlerror':
: undefined reference to `__dlerror'
collect2: ld returned 1 exit status