2009-03-13 16:59 C. Michael Pilato <cmpilato_at_collab.net> napisał(a):
> Hey, folks. Â I recently upgraded our CollabNet Enterprise Edition software
> to Subversion 1.6.0-rc3 (in anticipation of releasing with 1.6.0-final), but
> we've run into some problems with our Solaris build being unable to detect
> Berkeley DB. Â We build basically the same way on both Solaris and Linux, and
> of course were building 1.5.x against Berkeley DB just fine. Â But the
> upgrade to 1.6.0-rc3 broke something. Â Here are the compilation commands
> that configure is running:
>
> On Linux:
>
> Â ...
> Â configure:23416: checking for availability of Berkeley DB
>  configure:23499: gcc -o conftest -g -O2  -pthread  -D_LARGEFILE64_SOURCE \
> Â -DNE_LFS Â -I__BUILDDIR__/apache-22/include/i386-redhat-5 -I__BUILDDIR__/be\
>  rkeley-db/platform/i386-redhat-5/berkeley-db/include  -I__BUILDDIR__/apach\
> Â e-22/include/i386-redhat-5 Â -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEF\
> Â ILE64_SOURCE Â -I__BUILDDIR__/apache-22/include/i386-redhat-5 Â -I${TARGETD\
> Â IR}/apache-22/include/i386-redhat-5 -I__BUILDDIR__/berkeley-db/platform/i3\
> Â 86-redhat-5/berkeley-db/include -L__BUILDDIR__/apache-22/lib/i386-redhat-5\
>  /apache   -L__BUILDDIR__/berkeley-db/lib/i386-redhat-5 conftest.c  -L${TA\
> Â RGETDIR}/berkeley-db/lib/i386-redhat-5 -ldb-4.7 Â >&5
> Â ...
>
> On Solaris:
>
> Â ...
> Â configure:23416: checking for availability of Berkeley DB
> Â configure:23499: gcc -o conftest -g -O2 Â Â -D_LARGEFILE64_SOURCE -DNE_LFS \
> Â -I__BUILDDIR__/apache-22/include/sparc-sunos-5.10 -I__BUILDDIR__/berkeley\
>  -db/platform/sparc-sunos-5.10/berkeley-db/include  -I__BUILDDIR__/apache-\
> Â 22/include/sparc-sunos-5.10 Â -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_R\
> Â EENTRANT -D_LARGEFILE64_SOURCE Â -I__BUILDDIR__/apache-22/include/sparc-sun\
> Â os-5.10 Â -I__BUILDDIR__/apache-22/include/sparc-sunos-5.10 -I__BUILDDIR__\
>  /berkeley-db/platform/sparc-sunos-5.10/berkeley-db/include  -L__BUILDDIR__\
>  /apache-22/lib/sparc-sunos-5.10/apache   -L__BUILDDIR__/berkeley-db/lib/s\
>  parc-sunos-5.10 conftest.c  -L__BUILDDIR__/berkeley-db/lib/sparc-sunos-5.1\
> Â 0 Â -lsocket -lpthread -L/opt/sfw/lib/gcc-lib/sparc-sun-solaris2.10/3.4.2 -\
> Â lgcc >&5
> Â ...
>
> Solaris build fails for an unresolved symbol "db_version".
>
> Of interest (to me, and hopefully to others) is that on Solaris, the
> compilation command that configure uses doesn't carry a -ldb* flag, whereas
> on Linux it does. Â apu-1-config --libs *does* print " -ldb-4.7 -lexpat
> -liconv" on that platform (and " -ldb-4.7 -lexpat" on Linux), but it isn't
> present in the test.
>
> I see the Arfrever did some work around these parts recently, so I'm sorta
> kinda hoping this will ring a bell for him.
>
> Arfrever?
I only changed the behavior which occurs when an argument
is passed to the --with-berkeley-db option. This argument was
ignored before r35017:
AC_MSG_WARN([APR-UTIL may or may not be using the specified
Berkeley DB at `$withval'. Using the Berkeley DB
supplied by APR-UTIL.])
What is printed by
apu-1-config --libs | egrep -o -- '-ldb[^[:space:]]*'
or
apu-1-config --libs | grep -Eo -- '-ldb[^[:space:]]*'
?
As a workaround, you can use:
--with-berkeley-db=db.h:__BUILDDIR__/berkeley-db/platform/sparc-sunos-5.10/berkeley-db/include:__BUILDDIR__/berkeley-db/lib/sparc-sunos-5.10:db-4.7
(Replace "db.h" and "__BUILDDIR__" with appropriate values.)
--
Arfrever Frehtes Taifersar Arahesis
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1333766
Received on 2009-03-16 15:52:22 CET