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

[Condor-users] condor_compile + external libraries



Hello Condor users,

I'm currently setting up a small Condor cluster at my university & have
run into a bit of a problem, which I hope some more advanced Condor
users may be able to help with. My intention was to compile & link code
under condor_compile to run under the standard universe, so as to make
use of the checkpointing & remote system call features. However, the
code in question will require linking with external libraries to work
(specifically, the PGPLOT plotting libraries) & I'm having a little
trouble using condor_compile to do that.

The condor_compile command I've been running on some test code isn't
overly complicated, with just a symbolic link to the PGPLOT library invoked;

condor_compile gfortran -o plotcaustic plotcaustic.o nrtype.o misc.o
-L/star/lib `pgplot_link`

But running this condor_compile throws up an odd error;

LINKING FOR CONDOR : /usr/bin/ld -L/condor/lib -Bstatic --eh-frame-hdr
-m elf_i386 --hash-style=gnu -dynamic-linker /lib/ld-linux.so.2 -o
plotcaustic /condor/lib/condor_rt0.o
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o
/usr/lib/gcc/i386-redhat-linux/4.1.2/crtbeginT.o -L/star/lib
-L/condor/lib -L/usr/lib/gcc/i386-redhat-linux/4.1.2
-L/usr/lib/gcc/i386-redhat-linux/4.1.2
-L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.. plotcaustic.o nrtype.o
misc.o -lpgplot -lpng -lSM -lICE -lX11 /condor/lib/libcondorzsyscall.a
/condor/lib/libcondor_z.a /condor/lib/libcomp_libstdc++.a
-lgfortranbegin -lgfortran -lm /condor/lib/libcomp_libgcc.a
/condor/lib/libcomp_libgcc_eh.a -lcondor_c -lcondor_nss_files
-lcondor_nss_dns -lcondor_resolv -lcondor_c -lcondor_nss_files
-lcondor_nss_dns -lcondor_resolv -lcondor_c /condor/lib/libcomp_libgcc.a
/condor/lib/libcomp_libgcc_eh.a
/usr/lib/gcc/i386-redhat-linux/4.1.2/crtend.o
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o
/usr/bin/ld: cannot find -lSM
collect2: ld returned 1 exit status

Obviously there's some problem cropping up which involves finding a
library, but I'm not sure if the problem library is the PGPLOT one or
the one referred to by -lSM, . Condor compiling Fortran code that
doesn't require any external libraries works properly, so the problem
isn't in the Fortran compiler. Simply removing the condor_compile &
linking with gfortran to produce an executable also works properly.

Is there any trick to invoking external libraries with condor_compile
I'm not aware of? I can't seem to find anything in the Condor user
manual about it, but I may have missed it.

Thanks in advance for any help you might be able to give,
Paul Browne