Bacula-users

Re: [Bacula-users] Compiling on Solaris 10 - storage daemon build dying

2009-01-06 12:11:43
Subject: Re: [Bacula-users] Compiling on Solaris 10 - storage daemon build dying
From: Allan Black <Allan.Black AT btconnect DOT com>
To: Jeff MacDonald <oss AT bignose DOT ca>
Date: Tue, 06 Jan 2009 17:09:15 +0000
Jeff MacDonald wrote:
> Everything compiles now, and the file and storage daemons both work 
> fine, but look what happens when I start up the director [I'm using SMF 
> btw, just using command line during debugging]
> 
> timemachine# /opt/bacula/bin/bacula-dir -v -c 
> /opt/bacula/etc/bacula-dir.conf
> ld.so.1: bacula-dir: fatal: libpq.so.5: open failed: No such file or 
> directory
> zsh: killed     /opt/bacula/bin/bacula-dir -v -c 
> /opt/bacula/etc/bacula-dir.conf
> 
> The weird thing is, libpq.so.5 exists... albeit as a symlink
> 
> timemachine# ls -l /usr/postgres/8.3/lib|grep pq
> lrwxrwxrwx   1 root     root          12 Dec 17 01:23 libpq.so -> 
> libpq.so.5.1
> lrwxrwxrwx   1 root     root          12 Dec 17 01:23 libpq.so.5 -> 
> libpq.so.5.1
> -r-xr-xr-x   1 root     bin       205988 Jun 16  2008 libpq.so.5.1

Yeah. The configure command has found the PostgreSQL libraries, and successfully
linked against them, but at runtime, ld.so has been unable to find them because
they are not in the standard library path. Your options are: (1) add the lib
directory to the standard path (not recommended), (2) use LD_LIBRARY_PATH (not
recommended) or (3) add the lib directory to the Bacula daemons' private library
path (recommended).

I would do this:
        setenv LDFLAGS "-R<library path>"
(or append it, if you are already using LDFLAGS)

The command should look something like this:
        setenv LDFLAGS "-R/usr/postgres/8.3/lib"

.... and then go back to the ./configure .... command. It might be an idea to do
a "make distclean" first, just to be sure. Then recompile. Note - the LDFLAGS
environment variable is *in addition to* the 
--with-postgresql-something-or-other=
arguments you are already supplying to configure.

FYI, this is how I build Bacula on my backup server (no tray monitor, but I
actually build that on a client-only Nevada build). The main differences are, I
think, that I use MySQL and install to /usr/local/bacula, whereas you use
PostgreSQL and install to /opt/bacula. I also have an installation of QT in
/usr/local/Qt-4.3.1 and QWT in /usr/local/qwt-5.0.2.

cat >> src/qt-console/bat.pro.in << EOF
QMAKE_LFLAGS += -Wl,-R,/usr/local/qwt-5.0.2/lib
EOF

set path = ($path /usr/local/Qt-4.3.1/bin)
setenv PKG_CONFIG_PATH /usr/local/Qt-4.3.1/lib/pkgconfig
setenv LDFLAGS "-R/usr/local/mysql/lib/mysql"

./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/sfw \
        --with-qwt=/usr/local/qwt-5.0.2 --enable-bat --enable-gnome 
--with-python \
        --prefix=/usr/local/bacula --exec-prefix=/usr/local/bacula \
        --with-scriptdir=/usr/local/bacula/bin --mandir=/usr/local/bacula/man \
        --with-working-dir=/var/bacula

Allan

------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users