Why are my G++ shared libraries incompatible after switching to Opensuse 12.3?

  • Thread starter Thread starter PPeter
  • Start date Start date
  • Tags Tags
    Issues
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 3K views
PPeter
Messages
3
Reaction score
1
Before I switched to Opensuse 12.3, I was running Arch, and doing something like:
Code:
g++ -o test -I ./include/ -L ./lib/ -ltcod -ltcodxx ./src/main.cpp
with no problems occurring.

Now, when I try to do that (with everything kept the exact same as when on Arch), I get:
Code:
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: skipping incompatible lib/libtcod.so when searching for -ltcod
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: cannot find -ltcod
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: skipping incompatible lib/libtcodxx.so when searching for -ltcodxx
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: cannot find -ltcodxx

I also tried including -Wl,-rpath=./lib/ , but it still made no difference.

Any help as to why the libraries have become incompatible all of a sudden would be greatly appreciated.
 
Physics news on Phys.org
Also, is there the possibility of an issue of static vs dynamic libraries? I seem to remember a problem along those lines when. at the office, I got switched from Red Hat 4 to Red Hat 5.
 
I guess.

By the way, the error message posted does not quite say that the library was not found, it says that what was found is not compatible...whatever that means...different compiler? different size (32 vs 64)? different something? Sorry, I am no expert on these matters.
 
The term "shared libraries" may refer to libraries that are either static OR dynamic. Static libraries are compiled right into your executable, whereas dynamic libraries are linked at runtime.