Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Jul 2010 07:57:46 -0400
From:      Dan Langille <dan@langille.org>
To:        Wesley Shields <wxs@FreeBSD.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: sysytils/bacula-server link failures WITH_POSTGRESQL
Message-ID:  <4C46E0BA.4070602@langille.org>
In-Reply-To: <20100721020738.GA21274@atarininja.org>
References:  <4C442A0C.5050708@infracaninophile.co.uk> <20100721020738.GA21274@atarininja.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 7/20/2010 10:07 PM, Wesley Shields wrote:
> On Mon, Jul 19, 2010 at 11:33:48AM +0100, Matthew Seaman wrote:
>>
>> Dear port maintainer,
>>
>> Since version 5.0.2 was committed over the weekend, if you select
>> WITH_POSTGRESQL in the config dialogue for sysutils/bacula-server, it
>> fails to link:
>>
>> 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
>>
>> This seems to be autoconf / libtool flail: removing -L/usr/local/lib
>> from LDFLAGS in ${WRKSRC}/src/dird/Makefile,
>> ${WRKSRC}/src/stored/Makefile and ${WRKSRC}/src/tools/Makefile allows
>> linking to work correctly.
>>
>> # diff -u Makefile{~,}
>> --- Makefile~    2010-07-19 10:33:43.000000000 +0100
>> +++ Makefile    2010-07-19 10:40:07.000000000 +0100
>> @@ -84,7 +84,7 @@
>>    CFLAGS = -O2 -pipe -fno-strict-aliasing
>>
>>    CPPFLAGS = -I/usr/local/include
>> -LDFLAGS =  -L/usr/local/lib
>> +LDFLAGS =
>>    TTOOL_LDFLAGS =
>>    #DEFS = -DHAVE_CONFIG_H
>>    LIBS = -lpthread  -lintl
>>
>> This isn't a problem in the WITH_SQLITE or WITH_MYSQL cases -- neither
>> of those result in LDFLAGS being set in referenced Makefiles.
>
> After talking to Dan briefly this is a known problem with upgrades. It
> looks like the build process looks in /usr/local/lib instead of using
> the libraries it just built when it does the linking. It finds the old
> library, which is missing the newer symbols, and fails to link. By
> pushing /usr/local/lib after the rest of the -L arguments in the
> necessary places this appears to build properly now. I'd appreciate
> further testing of the patch. Your initial patch is only applicable
> after the Makefiles have been generated by configure.
>
> Dan, my initial testing indicates that this allows the port to build.
> I'd appreciate another set of eyeballs on it though. Please let me know
> if you would like me to commit this patch or not.
>
> http://people.freebsd.org/~wxs/bacula-unbreak.diff

I'd like to pass this URL on to the bacula-devel mailing list please. 
That OK with you?

-- 
Dan Langille - http://langille.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C46E0BA.4070602>