I’m getting the following error trying to build a 64-bit application on ubuntu64 10.04 LTS that calls fmodex functions:

ld cannot find -lfmodex

This is the only build error. No other libraries fail to build, and the 32-bit implementation of my application links in fmodex just fine.

The build configurations of the 32-bit and 64-bit applications are virutally identical, except all 32-bit applications link to libraries in the /usr/lib32 directory, and 64-bit applications link to libraries in the /usr/lib directory.

In my attempt to create a 64-bit executable, I put the 64-bit .so library files into the /usr/lib/fmodex directory. I made two sets of links to the long-named .so files, so the /usr/lib/fmodex directory contains the following:

libfmodex.so -> libfmodex64-4.40.01.so
libfmodexL.so -> libfmodexL64-4.40.01.so
libfmodex64.so ->libfmodex64-4.40.01.so
libfmodexL64.so ->libfmodexL64-4.40.01.so

Any ideas why I’m having this problem?

My ubuntu64 10.04 LTS development system is codeblocks and my application is written in C.

LATER: Sigh. My fault. Apparently a year or so ago I was experimenting with different versions of fmodex and created a /usr/lib32/fmodex for that purpose (to distinguish from /usr/lib32 directory for one of the versions). That got me confused and got me to create /usr/lib/fmodex for the 64-bit libraries. Of course that’s wrongo because the convention on the library side is to put everything into the /usr/lib directory, not create a separate application-specific directory inside as is standard on the .h (include) side.

  • You must to post comments
Showing 0 results
Your Answer

Please first to submit.