On x86_64 systems it would seem that the search path for link libraries should be : /lib64, /usr/lib64, /lib, /usr/lib, etc. If not you end up getting the 32 bit libraries included first and then a link error. For example (cut down to only include the pertinent segments):
cc   -g -o test  o cl_rba_uds_test.o /usr/lib/libm.so \
       /usr/lib/libdl.so   objs/linux/md80.cup.hp.com/debug/cl_chain.o \
        -Lobjs/linux/debug -lmylib
/usr/lib/libm.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status

In this case -lm and -ldl where sepecified as dependencies in the makefile. The proper path for /usr/lib/libm.so and /usr/lib/libdl.so should have been /usr/lib64/libm.so and /usr/lib64/libdl.so.

According to the doc I should be able to set this by a couple of methods (VPATH seems to be one), but I would think this should work right without me having to do that.


--
===========
John DeFranco                  Hewlett Packard Company
[EMAIL PROTECTED]           Availability Clusters Solution Lab
phone: 408 447-7543            19111 Pruneridge Ave., M/S 4101
fax:   408 447-0056            Cupertino, CA 95014


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to