0

I have two shared libraries, 'engine.so' and 'cengine.so'. 'cengine.so' has a dependency to 'engine.so', which is confirmed by the 'ldd'-command:

http://puu.sh/gj0ZU/f4530c3c28.jpg

However it states that it couldn't find the library, even though they're both in the same directory! Do I manually have to specify the lookup directories somehow?

Additionally, there's a dependency to 'ld-linux-x86-x64.so.2'. I've built the program as a 32bit application (Without the -m64 parameter), why is it automatically linking to a 64bit(I assume?) library?

Silverlan
  • 2,783
  • 3
  • 31
  • 66

1 Answers1

1

Export LD_LIBRARY_PATH to path where the .so file is present

$ export LD_LIBRARYPATH=~/Desktop/host/projects/weave/lib/

Then do ldd.

$ ldd libcengine.so

You built the program on 64 bit system without any explicit -m32/-m64 option, that will build default 64 bit binary right?

Milind Dumbare
  • 3,104
  • 2
  • 19
  • 32