[ardour-users] ardour doesn't find libjack.so.0, exits.

Daniel G. Epstein dgepstein at pobox.com
Tue Oct 26 06:56:03 PDT 2004


On Mon, Oct 25, 2004 at 11:06:58AM -0700, Damien DeZurik wrote:
> In regards to this comment:
> 
> > ... Consider why the library ended
> > up in /usr/local vs. /usr. Consider what will happen
> > if you use a
> > differenct, more standard ./configure --prefix=/usr
> > later on.
> 
>  Perhaps in different distros/shops/circles the answer
> to this question is different but I will ask anyway;
> isn't /usr/local the best place to put third party,
> post-OS-install software?  You know, somewhere common
> to put all that stuff you loaded yourself so it can be
> backed up, and restored easily if, for example, major
> system/OS changes need to occur.
> 
>  Please feel free to set me straight on this, but ...

One shop I worked with at the University of Chicago uses a directory
called '/opt/pkgs' (they're primarily a Solaris shop) in which we build
all custom packages with a syntax of '${packagename}-${version}.${rev}'.
This would mean that you would build and install JACK v.0.99.0 with
a prefix of '/opt/pkgs/jack-0.99.0'.  We then use a script called
mklinks.sh which (primarily) creates symlinks from files within the
various subdirs of the package directory (bin, lib, man, sbin, share,
etc, &c.) to their equivalents in the root of the /opt tree (/opt/bin/,
/opt/lib, &c.).  You can grab the script here (but note that I neither
I, nor anyone listed in this script will provide support for its use):

  http://www.rootlike.com/mklinks.sh.txt

This system handles multiple concurrent versions reasonably well (look
at the script), and also can be used either as part of a package
management scheme for systems without another package management system
(it's initial design), or to facilitate custom package creation with
something like RPM.  I'll also note that mklinks.sh allows for an
alternate location to /opt, so you could create a /usr/local/pkgs/
directory, and link everything into '/usr/local/${foo}'.  Personally, I
prefer sticking with /opt out of habit.  However, it is also a good idea
if you're using packages built by other people through something like
RPM because prebuilt packages for various linux distros are not always
consistent <gasp> about whether they install in /usr or /usr/local.

Of course, this doesn't solve the problem of your compiler not seeing
your libraries.  For this, you should edit /etc/ld.so.conf, add your
missing library paths, and then run ldconfig.  My guess is that you're
missing /usr/local/lib.  Alternately, you could explicitly specify the
search paths with -I and -L compiler flags.

Cheers,

Dan

-- 

A boast of "I have been's,"  | Daniel G. Epstein
quoted from foolscap tomes,  | 
is a shadow brushed away     | http://www.rootlike.com/
by an acorn from an oak tree | 
or a salmon in a pool.       | 

GnuPG public keys available from http://pgp.mit.edu/



More information about the Ardour-Users mailing list