Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Strange library loading issue: (4 Items)
   
Strange library loading issue  
I have a library that one of my processes can't seem to find. It's intermittent and so I'm not sure when I change 
something that I solved the route problem or just lucked out during the build.  Here is the runtime issue:

# export DL_DEBUG=1
# export LD_LIBRARY_PATH=/proc/boot
# ls -la /proc/boot/liboamlib.so.1
-rwxrwxr-x  1 508       508          446464 Nov 12  2009 /proc/boot/liboamlib.so.1

Process 368664 (ls) exited status=0.
#  dbs
load_object: attempt load of liboamutilities.so.1
load_elf32: loaded lib at addr fe378000(text) fe38ac70(data)
load_object: attempt load of libcommonSlSwLogLib.so.1
load_elf32: loaded lib at addr fe38c000(text) fe39b4e0(data)
load_object: attempt load of libutilities.so.1
load_elf32: loaded lib at addr fe39d000(text) fe3b4710(data)
load_object: attempt load of liboamlib.so.1
load_elf32: mmaped, addr 0 67c80 vaddr fe41ec80
Could not find library liboamlib.so.1

Process 376856 (dbs) exited status=1.
#

As you can see the library is in /proc/boot and the LD_LIBRARY_PATH is set to the correct location.  Why is it mmaping 
some strange memory location?  pidin mem does not show liboamlib in memory anywhere.

Any ideas would be helpful at this point, I am running low myself.

would the gid/uid be an issue?

This is cross compiled on linux x86 for ppcbe

Thanks,
Liam
Re: Strange library loading issue  
Further testing showed the the library included in the image is a different size as the one that was built.  I assume 
this is because of some sort of stripping of unused symbols?

After copying the built library over to the temp directory, I was able to get our process to execute:

# export LD_LIBRARY_PATH=/tmp:/proc/boot
# dbs
load_object: attempt load of liboamutilities.so.1
load_elf32: loaded lib at addr fe378000(text) fe38ac90(data)
load_object: attempt load of libcommonSlSwLogLib.so.1
load_elf32: loaded lib at addr fe38c000(text) fe39b500(data)
load_object: attempt load of libutilities.so.1
load_elf32: loaded lib at addr fe39d000(text) fe3b4740(data)
load_object: attempt load of liboamlib.so.1
load_elf32: loaded lib at addr fe3b6000(text) fe41dca0(data)
load_object: attempt load of liboamwaveready.so.1
load_elf32: loaded lib at addr fe424000(text) fe4dac30(data)
load_object: attempt load of libacilib.so.1
load_elf32: loaded lib at addr fe4e3000(text) fe4f0660(data)
load_object: attempt load of libcommonSlAppBaseLib.so.1
load_elf32: loaded lib at addr fe4f2000(text) fe509d40(data)
load_object: attempt load of libcommonRblPulseTimerLib.so.1
load_elf32: loaded lib at addr fe50b000(text) fe514690(data)
load_object: attempt load of libcommonRblUtilitiesLib.so.1
load_elf32: loaded lib at addr fe515000(text) fe523c30(data)
load_object: attempt load of libsocket.so.2
load_elf32: loaded lib at addr fe525000(text) fe545a60(data)
load_object: attempt load of libm.so.2
load_elf32: loaded lib at addr fe550000(text) fe56edb0(data)
load_object: attempt load of libham.so.2
load_elf32: loaded lib at addr fe573000(text) fe57ce80(data)
load_object: attempt load of libecpp-ne.so.4
load_elf32: loaded lib at addr fe57e000(text) fe59b780(data)


Anyone have any idea why this is happening?

Thanks,
Liam
Re: Strange library loading issue  
>
> Further testing showed the the library included in the image is a different size as the one that was built.  I assume 
this is because of some sort of stripping of unused symbols?
> # ls -la /proc/boot/liboamlib.so.1
> -rwxrwxr-x  1 508       508          446464 Nov 12  2009 /proc/boot/liboamlib.so.1
> would the gid/uid be an issue?

Perhaps check the end of your make install log, it could be that make 
perms or the copy to stage failed?

If you don't have luck here you might want to try the OS forums?

Cheers!
/P
Re: Strange library loading issue  
No make or copy errors were in my build log.

I will try other areas of the forum.


Thanks,
Liam