[Buildroot] [PATCH] netatalk : Fix BerkeleyDB library path
Arnout Vandecappelle
arnout at mind.be
Mon Dec 17 20:35:15 UTC 2012
On 17/12/12 00:15, Maxime Hadjinlian wrote:
> On Sun, Dec 16, 2012 at 11:17 PM, Peter Korsgaard<jacmet at uclibc.org> wrote:
>>>>>>> "Maxime" == Maxime Hadjinlian<maxime.hadjinlian at gmail.com> writes:
>>
>> Maxime> This fix is needed for the 64bits build because Netatalk will assume the library
>> Maxime> are stored in [..]/lib64/ instead of [..]/lib/
>>
>> Hmm, we still seem to have issues on the autobuilders:
>>
>> http://autobuild.buildroot.net/results/cf5c3ce94c229204bfa0f19b1009c13a9bcc1dfc/build-end.log
>>
>> Maxime> +++ b/package/netatalk/netatalk.mk
>> Maxime> @@ -8,7 +8,7 @@ NETATALK_SITE = http://downloads.sourceforge.net/project/netatalk/netatalk/$(NET
>> Maxime> NETATALK_SOURCE = netatalk-$(NETATALK_VERSION).tar.bz2
>>
>> Maxime> NETATALK_DEPENDENCIES = host-pkgconf openssl berkeleydb libgcrypt libgpg-error
>> Maxime> -NETATALK_CONF_ENV += CC="$(TARGET_CC) -std=gnu99"
>> Maxime> +NETATALK_CONF_ENV += CC="$(TARGET_CC) -std=gnu99" BDB_LIB=$(STAGING_LIB)/usr/lib
>>
>>
>> I guess you meant STAGING_DIR instead here, will fix.
> This is strange because I tested with a 64 bits build and I had'nt the
> problem anymore.. And I don't remember rewriting the patch before
> sending it here. But then again, you're totally right, this does'nt
> make sense. I'm really wondering how it could have worked for me :/
I guess it was an accident then :-)
configure checks for libdb by doing: ls $bdblibdir/lib$lib.*
and bdblibdir="${bdbdir}/${atalk_libname}" and atalk_libname="lib64" for
most 64-bit architectures.
So you happened to have an existing /usr/lib/lib64/libdb* on your build
machine...
BDB_LIB isn't even used by configure, so I don't think does patch does
much :-)
The problem I encounter in my build is that configure uses `ls ...` to
find the library, and my /bin/ls is linked against libacl.so.1. It seems
LD_LIBRARY_PATH is overridden because ls fails with:
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/arnout/src/buildroot/output-ext-toolchain-x86_64/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/libacl.so.1
And indeed, configure sets:
eval export $shlibpath_var=$bdblibdir
This is OK for native builds, but not for cross-builds...
Looking a bit further into macros/db3-check.m4, it looks even worse:
after that configure step, there is an
eval export $shlibpath_var=$saved_shlibpath_var
which expands to
export LD_LIBRARY_PATH=LD_LIBRARY_PATH
:-)
I'll try to cook a fix and send a patch.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286540
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
More information about the buildroot
mailing list