#4 jack client make questions on Linux

open
nobody
None
5
2004-06-10
2004-06-10
Mark J. Hufe
No

I'm running Mandrake 10, with kernal 2.6. I installed
jack-audio-connection-kit-0.98.1 and it seems to work
with the examples provided. However, I'm at a loss when
it comes to compiling, linking, and running a file
outside of the make file provided in the examples. That is,
make jack_simple_client

produces an executable that works fine.

However, I really don't understand much of what the
make file is doing. What is the .libs directory for,
which seems to get a copy of the executable?

When I my own version of simple_client and compile it:

gcc -g -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall
-L/usr/local/lib -lpthread -ldl -lm -ljack -o
simple_client simple_client.c

it compiles and links okay. But when I run it I get the
following message, even though libjack.so.0 is in
/usr/local/lib

[hufe@localhost pelaudio]$ ./simple_client mark
./simple_client: error while loading shared libraries:
libjack.so.0: cannot open shared object file: No such
file or directory
[hufe@localhost pelaudio]$

What is the purpose of the .libs directory? Also, what
would make the library invisible at run time, even
though it is there?

Discussion

  • Logged In: NO

    Maybe downloading the devel rpms could work. I think they are
    libjack0 and libjack0-devel

     
  • Logged In: NO

    The first thing to check would be /etc/ld.so.conf. Make
    sure that /usr/local/lib is there. If you have to add it,
    do so, save the file, then run ldconfig. That's at least a
    place to start.