LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices

Reply
 
Search this Thread
Old 10-16-2007, 01:34 PM   #1
rgmayoral
LQ Newbie
 
Registered: Oct 2007
Posts: 2

Rep: Reputation: 0
Question skipping incompatible C libraries?


we have installed icc 10.0.025 in an x86_64 machine under CentOS 4.4. Although so far we have succeeded in compiling and running several code samples, we are concerned about warning messages we get while linking, such as:

ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libm.a when searching for -lm
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libdl.so when searching for -ldl
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libdl.a when searching for -ldl
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libnsl.so when searching for -lnsl
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libnsl.a when searching for -lnsl
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libutil.so when searching for -lutil
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libutil.a when searching for -lutil
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libm.a when searching for -lm
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libpthread.so when searching for -lpthread
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libpthread.a when searching for -lpthread
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libc.so when searching for -lc
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libc.a when searching for -lc
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libdl.so when searching for -ldl
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libdl.a when searching for -ldl
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libc.so when searching for -lc
ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../..//libc.a when searching for -lc

does someone know if this is a potential problem that could result in errors in the executables in the future?
 
Old 10-16-2007, 02:33 PM   #2
weibullguy
ReliaFree Maintainer
 
Registered: Aug 2004
Location: Kalamazoo, Michigan
Distribution: Slackware-current, Cross Linux from Scratch, Gentoo
Posts: 2,731
Blog Entries: 1

Rep: Reputation: 224Reputation: 224Reputation: 224
You are on an x86_64 platform, I presume CentOS is compliant and is multilib. Not being familiar CentOS, I can't be 100%. The linker is finding the 32-bit version of the particular library, but wants the 64-bit version. Since the examples build and execute, the linker is ultimately finding the 64-bit version. If it couldn't find the 64-bit library, the build would fail.

On a compliant x86_64 system the 32-bit libraries will live in */lib and the 64-bit in */lib64. You can define a set of env var for 32- and 64-bit in one of your configuration files. Then you can pass these appropriately when you build for the respective ABI. For example:
Code:
export PKG_CONFIG_PATH32="/usr/lib/pkgconfig"
export PKG_CONFIG_PATH64="/usr/lib64/pkgconfig"

export XORG_PREFIX=/usr

export PATH="${PATH}:${XORG_PREFIX}/bin"
export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}${XORG_PREFIX}/lib/pkgconfig"
export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64+:}${XORG_PREFIX}/lib64/pkgconfig"

export BUILD32="-m32 -pipe -O2 -mtune=athlon64"
export BUILD64="-m64 -pipe -O2 -mtune=athlon64"
export LD_BUILD32="-m elf_i386"
export LD_BUILD64="-m elf_x86_64"
Then you could configure for 64-bit thusly
Code:
CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \ 
./configure --prefix=/usr --libdir=/usr/lib64

Last edited by weibullguy; 10-16-2007 at 02:35 PM.
 
Old 10-18-2007, 06:29 AM   #3
rgmayoral
LQ Newbie
 
Registered: Oct 2007
Posts: 2

Original Poster
Rep: Reputation: 0
Smile

Thank you so much for replying. In the end we found that the easiest solution was to add -L/usr/lib64 in our ifort compiler wrapper (/opt/intel/fce/10.0.023/bin/ifort), so now we have
Code:
if [ $# != 0 ]
then
 exec -a "/opt/intel/fce/10.0.023/bin/ifort" /opt/intel/fce/10.0.023/bin/ifortbin -L/lib64 -L/usr/lib64 "$@";
else
 exec -a "/opt/intel/fce/10.0.023/bin/ifort" /opt/intel/fce/10.0.023/bin/ifortbin;
fi
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
what the hell is that now ? 10.1 incompatible with itself ? dukeinlondon Suse/Novell 10 05-28-2006 09:32 AM
Cd Skipping.. hucomp VectorLinux 4 05-04-2006 10:48 AM
ld is "skipping incompatible" libraries The_Nerd Programming 3 09-13-2005 11:34 PM
FC2 test 3 mouse skipping a beat, movie skipping also jang Fedora 1 10-28-2004 07:42 PM
yahoo incompatible? Brain Drop General 3 09-02-2003 08:05 AM


All times are GMT -5. The time now is 11:09 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration