Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

Invalid files used during linking

$
0
0

When I try (via autoconf) to create a simple test binary using icc, the generated call to ld  inserts 32 bit files, even tho the call to icc specifies "-m64"  as in:

icc -m64 -i-static -Wl,-melf_x86_64 -v --sysroot=/project/sprelcot/build/rcotTicca/tools/x86_linux_2/amd64_redhat_6.0.0/bosdeps/redhat/6.5.0 -isystem/project/sprelcot/build/rcotTicca/tools/x86_linux_2/amd64_redhat_6.0.0/bosdeps/redhat/6.5.0/usr/include -I/project/sprelcot/build/rcotTicca/export/amd64_redhat_6.0.0/usr/include -I/project/sprelcot/build/rcotTicca/export/amd64_redhat_6.0.0/usr/include/sysfs -finline-limit=65536 -axAVX -ip -D__PE__ -D__LINUX__ -D__linux__ -DMPICH_DEFINE_2COMPLEX -DFORTRAN_BACKWARD_BINCOMPAT    -L/project/sprelcot/build/rcotTicca/export/amd64_redhat_6.0.0/usr/lib64 -lpami -lpthread -lrt -Wl,-melf_x86_64 --sysroot=/project/sprelcot/build/rcotTicca/tools/x86_linux_2/amd64_redhat_6.0.0/bosdeps/redhat/6.5.0 -Wl,-rpath=/opt/ibmhpc/pe13010/ppe.pami/intel/lib64/pami64 -Wl,-rpath=/opt/ibmhpc/pe13010/mpich2/intel/lib64 -Wl,--enable-new-dtags -i-static   conftest.c   >&5

 

which generates:

ld    /project/sprelcot/build/rcotTicca/tools/x86_linux_2/amd64_redhat_6.0.0/bosdeps/redhat/6.5.0/usr/lib/crt1.o /project/sprelcot/build/rcotTicca/tools/x86_linux_2/amd64_redhat_6.0.0/bosdeps/redhat/6.5.0/usr/lib/crti.o

 

The above glibc files are 32bit, but icc is invoked with the "-m64" flag. I did NOT install the 32bit version of icc. Is there some way to override this behavior?  How does the intel compiler determine where the files crt1.o and crti.o  and crtn.o  come from?

This is for a customer using icc 12.1.5; that is the version used to produce the above error....


Viewing all articles
Browse latest Browse all 1616

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>