Jonathan Wakely-4 wrote: > > On 19 February 2012 15:57, universaltoaster wrote: >> >> I'm having issues building and linking a library that I created to >> another >> executable. Below are the steps that I followed. NOTE: I'm building >> this >> project on my computer (Ubuntu Karmic Koala) and then putting it on to an >> embedded arm device running busyBox linux. >> >> Here's the steps that I've gone through that lead me to a dreaded "cannot >> find MYLIB.so" when I try and run the application on the embedded device >> >> 1: arm-linux-gcc -Wall -fPIC -c MYLIB.c -O3 --sysroot home06 >> 2: arm-linux-gcc -Wall -shared -Wl,-soname,libMYLIB.so.1 -o >> libMYLIB.so.1.0 >> MYLIB.o -O3 --sysroot home06 >> 3: ln -sf libMYLIB.so.1.0 libMYLIB.so //symbolic link for -lMYLIB >> 4: ln -sf libMYLIB.so.1.0 libMYLIB.so.1 //allows for runtime binding to >> work >> 5: arm-linux-gcc -lTXRX -lm -lMYLIB COMM.c -O3 --sysroot home06 -o >> RUNONBOX > > How is this finding libMYLIB.so? I would expect it to need -L. or > equivalent. > > Is it finding a different libMYLIB.so in another directory? > >> 6: ldd RUNONBOX >>>> not a dynamic executable //this doesn't seem good...no reference to >>>> MYLIB... NOTE: I've built this program with -lTXRX and -lm many times >>>> before with ZERO issues >> >> 7: mput *.so* //put all symbolic links on device NOTE: folder is /tmp/cf >> 8: put RUNONBOX //put executable on device NOTE: folder is /tmp/cf >> 9: export LD_LIBRARY_PATH=/tmp/cf/:$LD_LIBRARY_PATH >> 9: ./RUNONBOX >>>> can't load library 'libMYLIB.so' > > I don't know busybox but I would expect it to be looking for > libMYLIB.so.1 if it was linked against the library you built with that > soname. > >> The questions that I have are >> A: Why won't my library be loaded even though I've set the >> LD_LIBRARY_PATH >> to look in the directory with libMYLIB.so? >> B: How do I have 2 other libraries that are linked to this program that >> do >> not show dependencies when I run 'ldd'? > > Does ldd only support native executables, not the arm ones? > > I had to move the symbolic links and the shared object to another folder in my build path and it worked fine. NOTE: tried -L option before with no luck. Not sure about ldd and arm executables, if I find out I'll let you know. -- View this message in context: http://old.nabble.com/Shared-Libary-Issue---cannot-find-library-tp33352272p33359533.html Sent from the gcc - Help mailing list archive at Nabble.com.