On Thu, 05 May 2005 11:38:31 -0600, Ralf Wildenhues
<Ralf.Wildenhues_at_[hidden]> wrote:
>> After running configure, one of the things it appears to generate are a
>> few 'libtool' scripts scattered around the source tree.
>>
>> After running into a few problems where the compiler is telling me I
>> need
>> to compile with -fPIC, (but PGI uses both -fpic and -fPIC; so whatever).
>> I looked at the actual 'pgcc' invocation. libtool isn't invoking pgcc
>> with -fPIC.
>
> You mean: at link time it isn't. Right?
Sure. I'll start where it enters a directory and then starts running
'make'
make[2]: Entering directory
`/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam'
/bin/sh ../../libtool --tag=CC --mode=link pgcc -D_FILE_OFFSET_BITS=64
-D_LARGEFILE64_SOURCE -Msignextend -fast -fPIC -I/usr/include/ib
-L/usr/x86_64-pgi-6.0/lam-7.1.2b20/lib -o liblam.la -rpath
/var/tmp/lam-7.1.2b20-root/usr/x86_64-pgi-6.0/lam-7.1.2b20/lib
-export-dynamic ../../share/args/liblamargs.la
../../share/boot/liblamboot.la ../../share/etc/liblametc.la
../../share/freq/liblamfreq.la ../../share/kreq/liblamkreq.la
../../share/libltdl/libltdlc.la ../../share/mpi/liblamextra.la
../../share/nreq/liblamnreq.la ../../share/rreq/liblamrreq.la
../../share/ssi/libssi_lam.la ../../share/threads/liblamthreads.la
../../share/trillium/liblamtrillium.la ../../share/tstdio/liblamtstdio.la
-lpthread
mkdir .libs
rm -fr .libs/liblam.lax
mkdir .libs/liblam.lax
rm -fr .libs/liblam.lax/liblamargs.a
mkdir .libs/liblam.lax/liblamargs.a
(cd .libs/liblam.lax/liblamargs.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/args/.libs/liblamargs.a)
rm -fr .libs/liblam.lax/liblamboot.a
mkdir .libs/liblam.lax/liblamboot.a
(cd .libs/liblam.lax/liblamboot.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/boot/.libs/liblamboot.a)
rm -fr .libs/liblam.lax/liblametc.a
mkdir .libs/liblam.lax/liblametc.a
(cd .libs/liblam.lax/liblametc.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/etc/.libs/liblametc.a)
rm -fr .libs/liblam.lax/liblamfreq.a
mkdir .libs/liblam.lax/liblamfreq.a
(cd .libs/liblam.lax/liblamfreq.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/freq/.libs/liblamfreq.a)
rm -fr .libs/liblam.lax/liblamkreq.a
mkdir .libs/liblam.lax/liblamkreq.a
(cd .libs/liblam.lax/liblamkreq.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/kreq/.libs/liblamkreq.a)
rm -fr .libs/liblam.lax/libltdlc.a
mkdir .libs/liblam.lax/libltdlc.a
(cd .libs/liblam.lax/libltdlc.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/libltdl/.libs/libltdlc.a)
rm -fr .libs/liblam.lax/liblamextra.a
mkdir .libs/liblam.lax/liblamextra.a
(cd .libs/liblam.lax/liblamextra.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/mpi/.libs/liblamextra.a)
rm -fr .libs/liblam.lax/liblamnreq.a
mkdir .libs/liblam.lax/liblamnreq.a
(cd .libs/liblam.lax/liblamnreq.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/nreq/.libs/liblamnreq.a)
rm -fr .libs/liblam.lax/liblamrreq.a
mkdir .libs/liblam.lax/liblamrreq.a
(cd .libs/liblam.lax/liblamrreq.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/rreq/.libs/liblamrreq.a)
rm -fr .libs/liblam.lax/libssi_lam.a
mkdir .libs/liblam.lax/libssi_lam.a
(cd .libs/liblam.lax/libssi_lam.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/ssi/.libs/libssi_lam.a)
rm -fr .libs/liblam.lax/liblamthreads.a
mkdir .libs/liblam.lax/liblamthreads.a
(cd .libs/liblam.lax/liblamthreads.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/threads/.libs/liblamthreads.a)
rm -fr .libs/liblam.lax/liblamtrillium.a
mkdir .libs/liblam.lax/liblamtrillium.a
(cd .libs/liblam.lax/liblamtrillium.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/trillium/.libs/liblamtrillium.a)
rm -fr .libs/liblam.lax/liblamtstdio.a
mkdir .libs/liblam.lax/liblamtstdio.a
(cd .libs/liblam.lax/liblamtstdio.a && ar x
/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam/../../share/tstdio/.libs/liblamtstdio.a)
pgcc -shared .libs/liblam.lax/liblamargs.a/parse_id.o
.libs/liblam.lax/liblamargs.a/ndi_resolve.o
.libs/liblam.lax/liblamargs.a/pdi_parse.o
.libs/liblam.lax/liblamargs.a/do_args.o
.libs/liblam.lax/liblamargs.a/ndi_parse.o
.libs/liblam.lax/liblamargs.a/all_argv.o
.libs/liblam.lax/liblamargs.a/all_opt.o
.libs/liblam.lax/liblamboot.a/proc_schema.o
.libs/liblam.lax/liblamboot.a/asc_workdir.o
.libs/liblam.lax/liblamboot.a/hbootparse.o
.libs/liblam.lax/liblamboot.a/bhostparse.o
.libs/liblam.lax/liblamboot.a/asc_parse.o
.libs/liblam.lax/liblamboot.a/asc_schedule.o
.libs/liblam.lax/liblamboot.a/lamnet.o
.libs/liblam.lax/liblamboot.a/asc_run.o
.libs/liblam.lax/liblamboot.a/app_mgmt.o
.libs/liblam.lax/liblamboot.a/deallocate.o
.libs/liblam.lax/liblametc.a/T.o .libs/liblam.lax/liblametc.a/all_array.o
.libs/liblam.lax/liblametc.a/vsnprintf.o
.libs/liblam.lax/liblametc.a/get_ncpus.o
.libs/liblam.lax/liblametc.a/combine.o
.libs/liblam.lax/liblametc.a/lamunix.o
.libs/liblam.lax/liblametc.a/all_list.o
.libs/liblam.lax/liblametc.a/pathsearch.o
.libs/liblam.lax/liblametc.a/few.o
.libs/liblam.lax/liblametc.a/show_version.o
.libs/liblam.lax/liblametc.a/mrw.o .libs/liblam.lax/liblametc.a/pty.o
.libs/liblam.lax/liblametc.a/rev.o
.libs/liblam.lax/liblametc.a/mpitr_com.o
.libs/liblam.lax/liblametc.a/strncpy.o
.libs/liblam.lax/liblametc.a/nmsgconv.o
.libs/liblam.lax/liblametc.a/lam_getpid.o
.libs/liblam.lax/liblametc.a/nodespin.o
.libs/liblam.lax/liblametc.a/mpitr_dtype.o
.libs/liblam.lax/liblametc.a/terror.o
.libs/liblam.lax/liblametc.a/all_queue.o
.libs/liblam.lax/liblametc.a/microsleep.o
.libs/liblam.lax/liblametc.a/kiproc.o .libs/liblam.lax/liblametc.a/atos.o
.libs/liblam.lax/liblametc.a/trdrain_mpi.o
.libs/liblam.lax/liblametc.a/all_shash.o
.libs/liblam.lax/liblametc.a/fail.o
.libs/liblam.lax/liblametc.a/bootsockio.o
.libs/liblam.lax/liblametc.a/fork.o .libs/liblam.lax/liblametc.a/ieee.o
.libs/liblam.lax/liblametc.a/all_slist.o
.libs/liblam.lax/liblametc.a/itoa.o .libs/liblam.lax/liblametc.a/kill.o
.libs/liblam.lax/liblametc.a/ttime.o
.libs/liblam.lax/liblametc.a/lam_gethostname.o
.libs/liblam.lax/liblametc.a/blktype.o
.libs/liblam.lax/liblametc.a/getinetaddr.o
.libs/liblam.lax/liblametc.a/srfd.o .libs/liblam.lax/liblametc.a/stoi.o
.libs/liblam.lax/liblametc.a/ldtimer.o
.libs/liblam.lax/liblametc.a/vctable.o
.libs/liblam.lax/liblametc.a/panic.o
.libs/liblam.lax/liblametc.a/getworkdir.o
.libs/liblam.lax/liblametc.a/lamdebug.o
.libs/liblam.lax/liblametc.a/lamlog.o
.libs/liblam.lax/liblametc.a/f2cstring.o
.libs/liblam.lax/liblametc.a/all_squeue.o
.libs/liblam.lax/liblametc.a/mpitr_dtprint.o
.libs/liblam.lax/liblametc.a/mpiformout.o
.libs/liblam.lax/liblametc.a/lam_gethostby.o
.libs/liblam.lax/liblametc.a/mempool.o
.libs/liblam.lax/liblametc.a/show_help.o
.libs/liblam.lax/liblametc.a/registry.o
.libs/liblam.lax/liblametc.a/lamcommdebug.o
.libs/liblam.lax/liblametc.a/snprintf.o
.libs/liblam.lax/liblametc.a/prime.o
.libs/liblam.lax/liblametc.a/memucmp.o
.libs/liblam.lax/liblametc.a/all_hash.o
.libs/liblam.lax/liblametc.a/socket.o
.libs/liblam.lax/liblamfreq.a/rfaux.o
.libs/liblam.lax/liblamfreq.a/rfpathfind.o
.libs/liblam.lax/liblamfreq.a/rfopen.o
.libs/liblam.lax/liblamfreq.a/rfread.o
.libs/liblam.lax/liblamfreq.a/rfstat.o
.libs/liblam.lax/liblamfreq.a/rflseek.o
.libs/liblam.lax/liblamfreq.a/rfatexit.o
.libs/liblam.lax/liblamfreq.a/rfstate.o
.libs/liblam.lax/liblamfreq.a/rfrename.o
.libs/liblam.lax/liblamfreq.a/lfopenfd.o
.libs/liblam.lax/liblamfreq.a/rf77.o
.libs/liblam.lax/liblamfreq.a/rfsimplex.o
.libs/liblam.lax/liblamfreq.a/rfwrite.o
.libs/liblam.lax/liblamfreq.a/rfclose.o
.libs/liblam.lax/liblamkreq.a/ktrace.o
.libs/liblam.lax/liblamkreq.a/kdoom.o
.libs/liblam.lax/liblamkreq.a/kdetach.o
.libs/liblam.lax/liblamkreq.a/kexit.o
.libs/liblam.lax/liblamkreq.a/kinit.o .libs/liblam.lax/liblamkreq.a/ksr.o
.libs/liblam.lax/liblamkreq.a/kcreate.o
.libs/liblam.lax/liblamkreq.a/krecv.o
.libs/liblam.lax/liblamkreq.a/ksend.o
.libs/liblam.lax/liblamkreq.a/kattach.o
.libs/liblam.lax/liblamkreq.a/ksignal.o
.libs/liblam.lax/liblamkreq.a/couter.o
.libs/liblam.lax/liblamkreq.a/clientio.o
.libs/liblam.lax/liblamkreq.a/kenter.o
.libs/liblam.lax/liblamkreq.a/kstate.o
.libs/liblam.lax/libltdlc.a/ltdl.o
.libs/liblam.lax/liblamextra.a/liblam-mpietc.o
.libs/liblam.lax/liblamnreq.a/bfselect.o
.libs/liblam.lax/liblamnreq.a/bfiselect.o
.libs/liblam.lax/liblamnreq.a/drecv.o
.libs/liblam.lax/liblamnreq.a/dsend.o
.libs/liblam.lax/liblamnreq.a/nprobe.o
.libs/liblam.lax/liblamnreq.a/dsfr.o .libs/liblam.lax/liblamnreq.a/frecv.o
.libs/liblam.lax/liblamnreq.a/trecv.o
.libs/liblam.lax/liblamnreq.a/tsend.o
.libs/liblam.lax/liblamnreq.a/bfrecv.o
.libs/liblam.lax/liblamnreq.a/bfiprobe.o
.libs/liblam.lax/liblamnreq.a/nrecv.o
.libs/liblam.lax/liblamnreq.a/nsend.o
.libs/liblam.lax/liblamnreq.a/precv.o
.libs/liblam.lax/liblamnreq.a/psend.o
.libs/liblam.lax/liblamrreq.a/getroute.o
.libs/liblam.lax/liblamrreq.a/rrsetrents.o
.libs/liblam.lax/liblamrreq.a/getsmart.o
.libs/liblam.lax/liblamrreq.a/getnet.o
.libs/liblam.lax/liblamrreq.a/getrent.o
.libs/liblam.lax/liblamrreq.a/rrsetsmart.o
.libs/liblam.lax/liblamrreq.a/getnodes.o
.libs/liblam.lax/libssi_lam.a/ssi_module_find.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_do_args.o
.libs/liblam.lax/libssi_lam.a/ssi_crlam_open.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_select.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_append_path.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_find_hostname.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_server.o
.libs/liblam.lax/libssi_lam.a/ssi_param.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_lamgrow.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_client.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_ioexecvp.o
.libs/liblam.lax/libssi_lam.a/ssi_close.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_alg_tree.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_alg_thread.o
.libs/liblam.lax/libssi_lam.a/ssi_crlam.o
.libs/liblam.lax/libssi_lam.a/ssi_module_check.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_close.o
.libs/liblam.lax/libssi_lam.a/ssi_module_compare.o
.libs/liblam.lax/libssi_lam.a/ssi_ao.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_cmd_line.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_open.o
.libs/liblam.lax/libssi_lam.a/ssi_module_registry.o
.libs/liblam.lax/libssi_lam.a/ssi_hostmap.o
.libs/liblam.lax/libssi_lam.a/ssi_crlam_close.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_alg_linear.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_find_prefix.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_alg_linear_windowed.o
.libs/liblam.lax/libssi_lam.a/ssi_set_verbose.o
.libs/liblam.lax/libssi_lam.a/ssi_open.o
.libs/liblam.lax/libssi_lam.a/ssi_boot_find_boot_schema.o
.libs/liblam.lax/liblamthreads.a/lamcondition.o
.libs/liblam.lax/liblamthreads.a/lammutex.o
.libs/liblam.lax/liblamthreads.a/lamthreads.o
.libs/liblam.lax/liblamthreads.a/lamsemaphore.o
.libs/liblam.lax/liblamtrillium.a/rbflook.o
.libs/liblam.lax/liblamtrillium.a/rpcreate.o
.libs/liblam.lax/liblamtrillium.a/recho.o
.libs/liblam.lax/liblamtrillium.a/rflat.o
.libs/liblam.lax/liblamtrillium.a/rbfstate.o
.libs/liblam.lax/liblamtrillium.a/rbfwipe.o
.libs/liblam.lax/liblamtrillium.a/rhreq.o
.libs/liblam.lax/liblamtrillium.a/lioattach.o
.libs/liblam.lax/liblamtrillium.a/rbfsweep.o
.libs/liblam.lax/liblamtrillium.a/rload.o
.libs/liblam.lax/liblamtrillium.a/TRIL.o
.libs/liblam.lax/liblamtrillium.a/rtrget.o
.libs/liblam.lax/liblamtrillium.a/lpdetach.o
.libs/liblam.lax/liblamtrillium.a/rtrsimplex.o
.libs/liblam.lax/liblamtrillium.a/rpspawn.o
.libs/liblam.lax/liblamtrillium.a/rbfparms.o
.libs/liblam.lax/liblamtrillium.a/rpstate.o
.libs/liblam.lax/liblamtrillium.a/rtrfget.o
.libs/liblam.lax/liblamtrillium.a/rflclean.o
.libs/liblam.lax/liblamtrillium.a/rpdoom.o
.libs/liblam.lax/liblamtrillium.a/rtrname.o
.libs/liblam.lax/liblamtrillium.a/rget.o
.libs/liblam.lax/liblamtrillium.a/rpgo.o
.libs/liblam.lax/liblamtrillium.a/rbfsweep1.o
.libs/liblam.lax/liblamtrillium.a/rtrstore.o
.libs/liblam.lax/liblamtrillium.a/lpattach.o
.libs/liblam.lax/liblamtrillium.a/rpwait.o
.libs/liblam.lax/liblamtrillium.a/rversion.o
.libs/liblam.lax/liblamtrillium.a/ldolinks.o
.libs/liblam.lax/liblamtrillium.a/rploadgo.o
.libs/liblam.lax/liblamtstdio.a/tfprint.o
.libs/liblam.lax/liblamtstdio.a/tfwrite.o
.libs/liblam.lax/liblamtstdio.a/tfclose.o
.libs/liblam.lax/liblamtstdio.a/tfdopen.o
.libs/liblam.lax/liblamtstdio.a/tfgetc.o
.libs/liblam.lax/liblamtstdio.a/tfgets.o
.libs/liblam.lax/liblamtstdio.a/tsetbuf.o
.libs/liblam.lax/liblamtstdio.a/tfopen.o
.libs/liblam.lax/liblamtstdio.a/tfputc.o
.libs/liblam.lax/liblamtstdio.a/tfputs.o
.libs/liblam.lax/liblamtstdio.a/tfread.o
.libs/liblam.lax/liblamtstdio.a/tfscan.o
.libs/liblam.lax/liblamtstdio.a/tfseek.o
.libs/liblam.lax/liblamtstdio.a/getbuf.o
.libs/liblam.lax/liblamtstdio.a/_tiob.o
.libs/liblam.lax/liblamtstdio.a/tfflush.o
.libs/liblam.lax/liblamtstdio.a/tscan.o
.libs/liblam.lax/liblamtstdio.a/iomap.o
.libs/liblam.lax/liblamtstdio.a/tprint.o
-L/usr/x86_64-pgi-6.0/lam-7.1.2b20/lib -ldl -lpthread -lc -Wl,-soname
-Wl,liblam.so.0 -o .libs/liblam.so.0.0.0
/usr/bin/ld: /opt/pgi/linux86-64/6.0/lib/libpgc.a(va_arg.o): relocation
R_X86_64_32 can not be used when making a shared object; recompile with
-fPIC
/opt/pgi/linux86-64/6.0/lib/libpgc.a: could not read symbols: Bad value
make[2]: *** [liblam.la] Error 2
make[2]: Leaving directory
`/usr/src/packages/BUILD/lam-7.1.2b20/share/liblam'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/usr/src/packages/BUILD/lam-7.1.2b20/share'
make: *** [install-recursive] Error 1
>
>> I've spent a few spare minutes trying to find where the root cause of
>> the
>> problem is, but this patch will have to suffice for now.
>
> This patch is ok as a hint.
> What I now need (I work on Libtool rather than on LAM):
> The output of
> ./libtool --version
> a copy of the command line plus error message of the failure (both the
> line starting with something like "libtool --mode=link.." as well as
> what libtool generates), so that I can check that we have a test which
> exposes this failure.
./libtool --version
ltmain.sh (GNU libtool) 1.5.14 (1.1220.2.195 2005/02/12 12:12:33)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Now for the actual error message.
--
Troy Telford
Linux Networx
|