[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Trouble building 1.6.0-rc3 against Berkeley DB on Solaris

From: Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA_at_GMail.Com>
Date: Mon, 16 Mar 2009 15:52:01 +0100

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.