Day 1
I have hit into some error, and the build simply fail, saying that there is some conflict. Thus I believe a .o file cannot be made and then result fatal error during linking, anyone have steps by steps trouble shooting tips ?
I have been successful do it on a clean install of red hat 6, so i suspect someone have update the kernel but didn't update the kernel library. Need some hints on where should i check
I have type rpm -qa
and shows there is 2 kernel, tried to boot to old kernel and compile the LiS but didn't help.
I have break down my question as below:
- How to check if the kernel libraries are matching with the kernel version ?
idea: the dlevel, kernel, gcc, glib, glibc ... - It there a general steps in trouble shoot build issues, like a check list? So you can tick it one by one. The LiS installation did provide several libraries minimum level requirement, I am sure that i meet with them all, right now i suspect that i am over patch.
- Can i just go down the file version ? so i just have every library just meet the requirement? and 100% compatible.
Progress on Day 2
with some tips from @schaiba, i have researched how to do logging in the compile process.
while after break into the build package, trace into build strconf in a second folder, added --verbose to the cc compiling, got the following message:
ignore conflicting library /usr/lib64/libc.so
, it is a small file, so i try to open it wwith vi, thus discover it is a text file instead, for which a statement like OUTPUT FORMAT (elf32-i386)
, which is obviously incorrect to me, since lib64 should be x86_64 instead.
Then, I have determine to check the where do the libc.so comes from, by:
rpm -qf libc.so
from which is discover it is in glibc-devel-...., i have get a red hat 6.4 repository, doing
yum update glibc-devel
then, the naughty libc.so became OUTPUT FORMAT(elf64-x86-64)
and that strconf module compile. and i got the build complete.
but then, i got any other problems now. I still got the ignore conflict libc.so warning, and the LiS I build is actually used by another application, and that one seems to have some problems.
any suggestions ?
For another study around internet, that the LiS package is something native to 32-bit, thus i guess it may have part of the code require to be compile under 32-bit, Therefore arise 2 new question,
How can you modified a build file so that it can use two version of same libraries ?
Is there a way to let 2 version of devel co-exist on a linux system ? and more precise, 2 version of /usr/lib64/libc.so