RE: 32/64-Bit Library Confusion

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


On 04/11/2012 06:38 PM, Brian McGrew wrote:
> 
>>> Good morning,
>>>
>>> I'm on CentOS 6.2_x86-64 on a Dell PE 1900 using Intel Xeon 5130 processors and I recently got gcc-4.7.0 built and installed, along with all the requirements and dependencies, separate from the system installed versions.  It all appears to be working, but, I'm having a bit of confusion over libstdc++ and the 32/64-bit version.
>>>
>>> I've got:
>>>
>>> ultra-trix:~/toolchain 09:44:32
>>> 73_ file lib/libstdc++.so.6.0.17
>>> lib/libstdc++.so.6.0.17: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
>>> ultra-trix:~/toolchain 09:44:47
>>> 74_ file lib64/libstdc++.so.6.0.17
>>> lib64/libstdc++.so.6.0.17: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped
>>> ultra-trix:~/toolchain 09:44:54
>>> 75_ 
>>>
>>> but when I try and build C++ libraries like PPL (or my own libraries), I get the follow:
>>>
>>> /export/home/ultra-trix/brian/toolchain/lib/../lib/libstdc++.so: could not read symbols: File in wrong format
>>> collect2: error: ld returned 1 exit status
>>> make[3]: *** [libppl.la] Error 1
>>> make[2]: *** [all] Error 2
>>> make[1]: *** [all-recursive] Error 1
>>> make: *** [all] Error 2
>>> ultra-trix:~/toolchain/src/ppl-0.12/x86_64 09:49:02
>>> 77_ 
>>>
>>> This came from trying to build and link PPL.  My environment looks like the following:
>>>
>>> 78_ echo $PATH
>>> /export/home/ultra-trix/brian/x86_64:/export/home/ultra-trix/brian/x86_64/script:/export/home/ultra-trix/brian/toolchain/bin:/usr/local/bin:/usr/local/gnu/bin:/export/home/ultra-trix/brian/mvp/work/pcb-X64/brian-pcb/bin:/usr/bin:/bin:/opt/pdk/bin:/opt/ActivePerl-5.10/bin:/opt/ActivePerl-5.10/site/bin:/usr/bin/X11:/sbin:/usr/sbin:/spare1/XDesigner-7.0/bin:/usr/etc:/opt/mvp/pbm
>>> ultra-trix:~/toolchain/src/ppl-0.12/x86_64 09:49:45
>>> 79_ echo $LD_LIBRARY_PATH 
>>> /export/home/ultra-trix/brian/toolchain/lib64:/export/home/ultra-trix/brian/toolchain/lib:/export/home/ultra-trix/brian/mvp/work/pcb-X64/lib:/export/home/ultra-trix/brian/mvp/work/pcb-X64/brian-pcb/lib:/usr/lib:/lib:/usr/local/lib:/usr/local/gnu/lib:/spare1/XDesigner-7.0/lib/X11
>>> ultra-trix:~/toolchain/src/ppl-0.12/x86_64 09:49:50
>>> 80_ 
>>>
>>> And I've configured PPL as follows:
>>>
>>>   $ ../configure --prefix=/export/home/ultra-trix/brian/toolchain --enable-share
>>> d --enable-static --with-gmp=/export/home/ultra-trix/brian/toolchain
>>>
>>>
>>> I'm not sure what I'm missing here, but clearly, I'm doing something wrong.  Someone please point me in the right direction?
>>
>> Obvious, innit?  /export/home/ultra-trix/brian/toolchain/lib64 is not
>> in your LD_LIBRARY_PATH.
> 
> I'm confused then...  I do have that directory in my LD_LIBRARY_PATH.  See above...  Am I missing something???
 
> Sorry, my mistake.  The fault must be in the makefile.  We haven't seen
> the command that led to this, so we can't comment.

Since PPL is a GNU style automake/configure setup, what is the easiest way to extract the command, and pin down exactly which Makefile it's coming out of?  I'm not the foremost expert on make!

-b
 		 	   		  



[Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

Add to Google