Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 94566 - xca-0.5.1 cannot compile with (now-stable) db-4.2
Summary: xca-0.5.1 cannot compile with (now-stable) db-4.2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Other
: High normal (vote)
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-30 17:13 UTC by Mike Nerone
Modified: 2005-08-14 06:10 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
db-4.? configure patch (configure-db.patch,485 bytes, text/x-patch)
2005-08-12 17:57 UTC, Thomas Meira Andrade
Details
xca new ebuild with db-4.? patch (xca-0.5.1-r1.ebuild,1.07 KB, application/octet-stream)
2005-08-12 17:57 UTC, Thomas Meira Andrade
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Nerone 2005-05-30 17:13:08 UTC
app-crypt/xca-0.5.1 fails to compile because the gentoo-provided patch "configure-db-4.1.patch" for the xca-0.5.1 ebuild hardcodes "/db4.1" into the subdirs variable. Of course, this subdir is no longer found within /usr/include after upgrading to db-4.2*, which has recently gone stable. I would propose either

  Change the patch filename to "configure-db-4.patch"
  Change the added directory to "/db4.?"

  -or-

  Change the patch filename to "configure-db.patch"
  Change the added directory to "/db???" (as suggested in bug #83940)

Of course, it would also work for now to add "/db4.2" to the subdir list, but the above suggestions would be more forward-thinking.
Comment 1 Thomas Meira Andrade 2005-08-10 21:28:26 UTC
(In reply to comment #0)
> app-crypt/xca-0.5.1 fails to compile because the gentoo-provided patch
"configure-db-4.1.patch" for the xca-0.5.1 ebuild hardcodes "/db4.1" into the
subdirs variable. Of course, this subdir is no longer found within /usr/include
after upgrading to db-4.2*, which has recently gone stable. I would propose either

could not reproduce the bug
x11-libs/qt-3.3.4-r3
sys-libs/db-4.2.52_p2
app-crypt/xca-0.5.1
Comment 2 Mike Nerone 2005-08-12 13:44:04 UTC
I've just retested:

# emerge -avB xca

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] app-crypt/xca-0.5.1  +arts -debug -kdeenablefinal -xinerama 0 kB

Total size of downloads: 0 kB

Do you want me to merge these packages? [Yes/No]
>>> emerge (1 of 1) app-crypt/xca-0.5.1 to /
>>> md5 files   ;-) xca-0.5.1.ebuild
>>> md5 files   ;-) files/xca-0.5.1-qt.diff
>>> md5 files   ;-) files/digest-xca-0.5.1
>>> md5 files   ;-) files/configure-db-4.1.patch
>>> md5 files   ;-) files/Rules.mak-prefix.patch
>>> md5 src_uri ;-) xca-0.5.1.tar.gz
>>> Unpacking source...
>>> Unpacking xca-0.5.1.tar.gz to /var/tmp/portage/xca-0.5.1/work
 * Applying xca-0.5.1-qt.diff ...                                              
                                                                     [ ok ]
 * Applying configure-db-4.1.patch ...                                         
                                                                     [ ok ]
 * Applying Rules.mak-prefix.patch ...                                         
                                                                     [ ok ]
>>> Source unpacked.

ERROR: The Berkeley DB header files were not found

Found: libdb_cxx.so at /usr/lib
Found: qobject.h at /usr/qt/3/include
Found: libqt.so at /usr/qt/3/lib
Found: openssl/opensslv.h at /usr/include
Found: libcrypto.so at /usr/lib

ERROR: Unable to compile a minimal application look at 'conftest.log' for errors


LDFLAGS   :-lstdc++ -ldb_cxx -lqt -lcrypto -L/usr/qt/3/lib
PREFIX    :/usr

<SNIP>

make[1]: Leaving directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/lib'
make[1]: Entering directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/lib'
i686-pc-linux-gnu-gcc -I. -I.. -I/usr/qt/3/include -O2 -march=pentium4
-fomit-frame-pointer -fforce-addr -pipe -DPREFIX=\"/usr\" -DETC=\"/etc/xca\"  -c
db_crl.cpp -o db_crl.o
i686-pc-linux-gnu-gcc -I. -I.. -I/usr/qt/3/include -O2 -march=pentium4
-fomit-frame-pointer -fforce-addr -pipe -DPREFIX=\"/usr\" -DETC=\"/etc/xca\"  -c
moc_ExportKey.cpp -o moc_ExportKey.o
In file included from db_key.h:52,
                 from db_x509.h:57,
                 from db_crl.h:52,
                 from db_crl.cpp:53:
db_base.h:54:20: db_cxx.h: No such file or directory
In file included from db_key.h:52,
                 from db_x509.h:57,
                 from db_crl.h:52,
                 from db_crl.cpp:53:
db_base.h:69: error: syntax error before `*' token
db_base.h:70: error: syntax error before `*' token
db_base.h:73: error: type specifier omitted for parameter `DbTxn'
db_base.h:73: error: parse error before `*' token
db_base.h:74: error: type specifier omitted for parameter `DbTxn'
db_base.h:74: error: parse error before `*' token
db_base.h:75: error: type specifier omitted for parameter `DbTxn'
db_base.h:75: error: parse error before `*' token

<SNIP many more such errors>

In file included from MainWindow.h:57,
                 from moc_MainWindow.cpp:11:
../lib/db_key.h:64: error: parse error before `*' token
../lib/db_key.h:71: error: `DbTxn' was not declared in this scope
../lib/db_key.h:71: error: `tid' was not declared in this scope
../lib/db_key.h:71: error: invalid data member initialization
../lib/db_key.h:71: error: variable or field `writeAll' declared void
In file included from ../lib/db_x509req.h:53,
                 from MainWindow.h:58,
                 from moc_MainWindow.cpp:11:
../lib/db_x509super.h:65: error: parse error before `*' token
In file included from MainWindow.h:58,
                 from moc_MainWindow.cpp:11:
../lib/db_x509req.h:63: error: parse error before `*' token
In file included from MainWindow.h:59,
                 from moc_MainWindow.cpp:11:
../lib/db_x509.h:69: error: parse error before `*' token
In file included from MainWindow.h:60,
                 from moc_MainWindow.cpp:11:
../lib/db_temp.h:65: error: parse error before `*' token
In file included from MainWindow.h:61,
                 from moc_MainWindow.cpp:11:
../lib/db_crl.h:66: error: parse error before `*' token
In file included from moc_MainWindow.cpp:11:
MainWindow.h:81: error: syntax error before `*' token
MainWindow.h:88: error: ISO C++ forbids declaration of `DbEnv' with no type
MainWindow.h:88: error: parse error before `*' token
make[1]: *** [moc_MainWindow.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/var/tmp/portage/xca-0.5.1/work/xca-0.5.1/widgets'
make: *** [widgets/target.obj] Error 2

!!! ERROR: app-crypt/xca-0.5.1 failed.
!!! Function src_compile, Line 32, Exitcode 2
!!! emake failed
!!! If you need support, post the topmost build error, NOT this status message.

# emerge info
Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.5-20050130,
glibc-2.3.5-r0, 2.6.12-gentoo-r6 i686)
=================================================================
System uname: 2.6.12-gentoo-r6 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.11
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -fforce-addr -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -fforce-addr -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig buildpkg collision-protect confcache digest distlocks
fixpackages sandbox sfperms strict userpriv userpriv_fakeroot usersandbox
verify-rdepend"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://mirrors.tds.net/gentoo
ftp://linux.thai.net/pub/mirrors/gentoo"
LANG="en_US.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/nerone"
SYNC="rsync://rsync.nerone.org/gentoo-portage"
USE="x86 X aac aalib acl acpi alsa apache2 arts audiofile avi bash-completion
bitmap-fonts caps cddb cdparanoia cdr crypt cups directfb dts dv dvd dvdr
dvdread emboss encode fam fbcon ffmpeg flac flash fortran gd gif glut gpm
gstreamer gtk gtk2 hal imagemagick imap imlib ipv6 ithreads jack java jpeg kde
libcaca libwww live logitec-mouse lzo mad matroska mcal memlimit mikmod mmap mmx
motif mozilla mp3 mpeg ncurses network nls nntp nptl nptlonly offensive ogg
oggvorbis opengl pam pcre pdflib perl physfs png python qt quicktime readline
real rtc samba sasl sdl speex spell sse sse2 ssl svg theora threads tiff
truetype truetype-fonts type1-fonts unicode vcd vorbis win32codecs xine xml xml2
xmms xosd xv xvid zeroconf zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LC_ALL, LDFLAGS, LINGUAS

My own related package versions and USE flags:
sys-libs/db-4.2.52_p2  -bootstrap -doc +java -nocxx -tcltk 0 kB
x11-libs/qt-3.3.4-r3  +cups -debug -doc -examples -firebird +gif -immqt
-immqt-bc +ipv6 -mysql -nas -odbc +opengl -postgres -sqlite -xinerama +zlib 0 kB
app-crypt/xca-0.5.1  +arts -debug -kdeenablefinal -xinerama 0 kB [1] (<- my own
overlay, incidentally)

Now, consider the subdirs line in the patch file to which I referred:

subdirs="/db4.1 /db /db4 /db3"

I don't see how you can possibly have a successful build unless one of those
directories exists within /usr/include. They don't on my system - only
/usr/include/db4.2 does - and I even just remerged db for kicks. If
/usr/include/db4.1 exists on your system, what package owns it?

Further support for my position is the fact that this is a known issue, as
discussed in bug #83940 - they removed the /usr/include/db4.1 symlink so
packages that depend on that hardcoded path will not work.

Finally, my own overlay ebuild, which does nothing but implement the second
option in my original comment, works perfectly.
Comment 3 Thomas Meira Andrade 2005-08-12 17:57:07 UTC
Created attachment 65804 [details]
db-4.? configure patch

I've tested the issue on a brand new system and the good news are, you're
right, my system actually have the db4.1 dir and db3 too, if you look at the db
ebuild you will notice that the lib is instaled on diferent slots for each
version, mu guess is since my primary system is running for a while now i've
got all then sitting around and build xca over db-4.1 instead db-4.2, so i'm
uploading the patch as you sugested and a modified ebuild too and let's bother
some devs till then commit it ;]
Comment 4 Thomas Meira Andrade 2005-08-12 17:57:59 UTC
Created attachment 65805 [details]
xca new ebuild with db-4.? patch
Comment 5 Daniel Black (RETIRED) gentoo-dev 2005-08-14 06:10:56 UTC
not totally happy with it yet - I think it will always go for the lower 
version of db.