[389-devel] Re: Problem building 389-ds-base on openSUSE

Peter Nixon listuser at peternixon.net
Thu Nov 12 20:45:50 UTC 2009


On Thu 12 Nov 2009, Rich Megginson wrote:
> Noriko Hosoi wrote:
> > On 11/12/2009 08:01 AM, Peter Nixon wrote:
> >> Hi Guys
> >>
> >> I have been attempting to build 389-ds-base 1.2.4 on openSUSE and have
> >> found the configure script makes some assumptions about Berkley DB that
> >> are not valid on SUSE.
> >>
> >> The configure script fails with the following error:
> >>
> >> configure: checking for db...
> >> checking for --with-db... no
> >> checking for db.h... using /usr/include/db.h
> >> checking for db_create in -ldb-.... no
> >> configure: error: /usr/include/db.h is version . but libdb-. not found
> >> error: Bad exit status from /var/tmp/rpm-tmp.83160 (%build)
> >
> > These steps extract db_libver.  If you do these manually, what do you
> > see? db_incdir=/usr/include
> > db_ver_maj=`grep DB_VERSION_MAJOR $db_incdir/db.h | awk '{print $3}'`
> > db_ver_min=`grep DB_VERSION_MINOR $db_incdir/db.h | awk '{print $3}'`
> > db_ver_pat=`grep DB_VERSION_PATCH $db_incdir/db.h | awk '{print $3}'`
> > db_libver=${db_ver_maj}.${db_ver_min}
> 
> I think this is related to
> https://bugzilla.redhat.com/show_bug.cgi?id=460174 and
> https://bugzilla.redhat.com/show_bug.cgi?id=519459

Yes. On SUSE the file "/usr/include/db.h" contains only the line "#include 
<db4/db.h>". The actual header file is at "/usr/include/db4/db.h". My patch 
simply changes configure so that it awks the version from 
"/usr/include/db4/db.h" instead of "/usr/include/db.h". This will obviously 
break for people who don't have a "/usr/include/db4/db.h" file (Fedora 
obviously) so the patch needs to be made more intelligent to work on both 
Fedora and SUSE, however for now I am able to build rpms for SUSE which is 
what I needed. (They will be up on the openSUSE mirrors shortly)

Cheers

-- 

Peter Nixon
http://peternixon.net/




More information about the Fedora-directory-devel mailing list