>>>>> On Wed, 21 Jul 2010 15:22:01 +0200, Kern Sibbald said:
> 
> On Wednesday 21 July 2010 13:47:56 Dan Langille wrote:
> > On 7/21/2010 7:35 AM, Martin Simmons wrote:
> > >>>>>> On Tue, 20 Jul 2010 15:36:24 -0400, Dan Langille said:
> > >>
> > >> FYI, I'm not yet sure if this is something we should solve here via
> > >> config or if it's something I should fix in the FreeBSD port.
> > >>
> > >> I welcome opinions on it.
> > >
> > > Using --disable-libtool is the simplest solution -- no more pointless
> > > shared libraries.
> > >
> > > Other possible fixes are to put the shared libraries somewhere private
> > > rather than in /usr/local/lib (Bacula is the only thing that uses them)
> > > or to change the Bacula makefiles so that the important built-in options
> > > like -L../lib precede the configured options like -L/usr/local/lib.
> >
> > A patch we've been considering for FreeBSD looks something like this:
> >
> > +-  $(LIBTOOL_LINK) $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../cats
> > -L../findlib -o $@ $(SVROBJS) \
> > ++  $(LIBTOOL_LINK) $(CXX) -L../lib -L../cats -L../findlib $(WLDFLAGS)
> > $(LDFLAGS) -o $@ $(SVROBJS) \
> > +         -lbacfind -lbacsql -lbacpy -lbaccfg -lbac -lm
> >
> > Kind of hard to read there, but $(WLDFLAGS) $(LDFLAGS) are going to the
> > end of the line...
> 
> My question is are you explicitly setting LDFLAGS, and if so why?  That, in 
> my 
> opinion is the source of errors -- Bacula should not need anything 
> from /usr/local/lib.  If it does, I would like to understand why.

You can't avoid adding it really, because /usr/local/lib is where FreeBSD puts
all of its non-FreeBSD libraries, e.g. libpq.


> 
> >
> > > __Martin
> > >
> > >> Short term, I will do something in the FreeBSD port.
> > >>
> > >> -------- Original Message --------
> > >> Subject: [Bacula-users] Bacula 5.0.2 FreeBSD port fails to build during
> > >> upgrade
> > >> Date: Tue, 20 Jul 2010 12:20:21 -0400
> > >> From: Paul Mather<p...@gromit.dlib.vt.edu>
> > >> To: bacula-users<bacula-us...@lists.sourceforge.net>
> > >>
> > >> I'm running FreeBSD 8.1-PRERELEASE (RELENG_8).  Recently, the
> > >> sysutils/bacula-{client,server} ports were updated to 5.0.2.
> > >> Unfortunately, when updating via portmaster, the bacula-client port
> > >> updated successfully, but bacula-server did not.  It fails to build:
> > >>
> > >> [[...]]
> > >> Compiling ua_restore.c
> > >> Compiling ua_run.c
> > >> Compiling ua_select.c
> > >> Compiling ua_server.c
> > >> Compiling ua_status.c
> > >> Compiling ua_tree.c
> > >> Compiling ua_update.c
> > >> Compiling vbackup.c
> > >> Compiling verify.c
> > >> Linking bacula-dir ...
> > >> /usr/ports/sysutils/bacula-server/work/bacula-5.0.2/libtool --silent
> > >> --tag=CXX --mode=link /usr/bin/c++  -L/usr/local/lib -L../lib -L../cats
> > >> -L../findlib -o bacula-dir dird.o admin.o authenticate.o autoprune.o
> > >> backup.o bsr.o catreq.o dir_plugins.o dird_conf.o expand.o fd_cmds.o
> > >> getmsg.o inc_conf.o job.o jobq.o migrate.o mountreq.o msgchan.o
> > >> next_vol.o newvol.o pythondir.o recycle.o restore.o run_conf.o
> > >> scheduler.o ua_acl.o ua_cmds.o ua_dotcmds.o ua_query.o ua_input.o
> > >> ua_label.o ua_output.o ua_prune.o ua_purge.o ua_restore.o ua_run.o
> > >> ua_select.o ua_server.o ua_status.o ua_tree.o ua_update.o vbackup.o
> > >> verify.o  -lbacfind -lbacsql -lbacpy -lbaccfg -lbac -lm
> > >> -L/usr/local/lib -lpq -lcrypt -lpthread  -lintl  -lwrap
> > >> /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -Wl,-rpath
> > >> -Wl,/usr/local/lib -lssl -lcrypto
> > >> /usr/local/lib/libbacsql.so: undefined reference to
> > >> `rwl_writelock(s_rwlock_tag*)'
> > >> *** Error code 1
> > >>
> > >> Stop in /usr/ports/sysutils/bacula-server/work/bacula-5.0.2/src/dird.
> > >>
> > >>
> > >>     ====== Error in
> > >> /usr/ports/sysutils/bacula-server/work/bacula-5.0.2/src/dird ======
> > >>
> > >>
> > >> *** Error code 1
> > >>
> > >> Stop in /usr/ports/sysutils/bacula-server/work/bacula-5.0.2.
> > >> *** Error code 1
> > >>
> > >> Stop in /usr/ports/sysutils/bacula-server.
> > >> *** Error code 1
> > >>
> > >> Stop in /usr/ports/sysutils/bacula-server.
> > >>
> > >>
> > >> It looks to me that the linking step above is wrong: it is picking up
> > >> the old version of the library installed in /usr/local/lib by
> > >> sysutils/bacula-server 5.0.0_1.  It shouldn't be including
> > >> "-L/usr/local/lib" in the invocation of libtool.
> > >>
> > >> Anyone who builds the port from scratch will not have a problem, but
> > >> anyone updating via portmaster or portupgrade will run into the problems
> > >> above.
> > >>
> > >> Cheers,
> > >>
> > >> Paul.
> 
> 

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Bacula-devel mailing list
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to