Bug 23978 - zsh build failure
|
Bug#:
23978
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: usata@gentoo.org
|
Reported By: gentoobugs@ser.fdns.net
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: zsh build failure
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2003-07-05 17:25 0000
|
Whether by missing dependancy, or a bug in the distribution, the current zsh
4.1.0_pre7 ebuild
fails to compile:
...
gcc -c -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -DMODULE
-march=pentium3 -O3 -pipe -fPIC -o pcre..o pcre.c
pcre.c:36:18: pcre.h: No such file or directory
pcre.c:38: parse error before '*' token
pcre.c:38: warning: data definition has no type or storage class
pcre.c:39: parse error before '*' token
pcre.c:39: warning: data definition has no type or storage class
pcre.c: In function `bin_pcre_compile':
pcre.c:48: `PCRE_ANCHORED' undeclared (first use in this function)
pcre.c:48: (Each undeclared identifier is reported only once
pcre.c:48: for each function it appears in.)
pcre.c:49: `PCRE_CASELESS' undeclared (first use in this function)
pcre.c:50: `PCRE_MULTILINE' undeclared (first use in this function)
pcre.c:51: `PCRE_EXTENDED' undeclared (first use in this function)
pcre.c:55: warning: assignment makes pointer from integer without a cast
pcre.c: In function `bin_pcre_study':
pcre.c:75: warning: assignment makes pointer from integer without a cast
pcre.c: In function `bin_pcre_match':
pcre.c:108: `PCRE_INFO_CAPTURECOUNT' undeclared (first use in this function)
pcre.c:120: `PCRE_ERROR_NOMATCH' undeclared (first use in this function)
make[3]: *** [pcre..o] Error 1
make[3]: Leaving directory
`/var/tmp/portage/zsh-4.1.0_pre7/work/zsh-4.1.0-dev-7/Src/Modules'
make[2]: *** [modules] Error 1
make[2]: Leaving directory
`/var/tmp/portage/zsh-4.1.0_pre7/work/zsh-4.1.0-dev-7/Src'
make[1]: *** [modules] Error 2
make[1]: Leaving directory
`/var/tmp/portage/zsh-4.1.0_pre7/work/zsh-4.1.0-dev-7/Src'
make: *** [all] Error 1
!!! ERROR: app-shells/zsh-4.1.0_pre7 failed.
!!! Function src_compile, Line 43, Exitcode 2
!!! make failed
The previous zsh installed on my system is 4.0.6-r4
Upgrading to libpcre 4.2-r1 fiixes this problem. Please change the
dependancies. The zsh
4.1.0_pre7 uses libpcre, but doesn't mention it in either DEPENDS or USES, and
libpcre <
4.2-r1 breaks the zsh build.
Hum... I downgraded libpcre to dev-libs/libpcre-3.9-r2 but had
no problem with compiling zsh-4.1.0_pre7 and zsh-4.1.1. They are
using libpcre so that they should DEPENDs on or USEs libpcre as
you described, but I cannot decide the version it should be.
Which version of libpcre did you use? And could you attach the
output of emerge info, please?
Hmm. I don't remember which libpcre I was using; that's the one bit of info I
didn't capture. It
may have been a revision or two prior to 4.2-r1. I would think that any ebuild
dependancy on
libpcre (even an unversioned reference) would be preferable to no dependancy at
all.
I am /fairly/ sure that I had some libpcre installed when I encountered the
error. I seem to
remember being perplexed by the error, because it said it couldn't find pcre.h,
and yet it existed
when I search with 'locate'. Besides, metalog and kde both depend on
libpcre, and I have both
of those installed. Sorry that I can't tell you which version I had the
problem with :-(
Here's the output from emerge info:
Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4)
=================================================================
System uname: 2.5.75 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz
GENTOO_MIRRORS="http://www.ibiblio.org/gentoo
ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo
http://csociety-ftp.ecn.purdue.edu/pub/gentoo/
ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/
rsync://csociety-ftp.ecn.purdue.edu/pub/gentoo/
ftp://mirror.iawnet.sandia.gov/pub/gentoo/
ftp://ftp.ussg.iu.edu/pub/linux/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config
/usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config
/usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY="/usr/local/portage"
USE="x86 oss apm crypt encode foomaticdb gif libg++ libwww mad mikmod mmx mpeg
ncurses nls pdflib quicktime truetype xml2 xmms zlib gtkhtml gdbm berkdb
readline arts tcltk
java X sdl gpm tcpd ssl esd imlib gtk motif cdr -tetex -lilo -nano -alsa -3dnow
-voodoo3 -matrox
-scanner -dga -gnome -bonobo -evo -guile -perl -mysql -python -slang -zeo
-inndb -cjk -canna
-freewnn -mule opengl xv ruby qt qtmt wavelan kamera pda oggvorbis pcmcia spell
gphoto2 ggi
avi dvd css kde png pam maildir cups jpeg plugins ldap aalib directfb fbcon
svga"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe"
CXXFLAGS="-march=pentium3 -O3 -pipe"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache"
It is possible that my libpcre install was munged. With Gentoo, I find that
occasionally some
arbitrary file will suddenly get the contents of some other file; maybe this is
what happened to
my pcre.h, and simply re-installing it (albeit a newer version) fixed it.
FWIW, I encountered no dependancy conflicts with upgrading libpcre. IMO, I'd
just have zsh
depend on libpcre 4.2-r1 or greater, and leave it at that. It has to have
/some/ mention of its
dependancy on libpcre!
All right, I checked all libpcre in CVS and all of them don't have
that problem. I'm not sure but libpcre-4.2.ebuild might have had
the problem (it was removed because of another bug). I added
DEPEND=">=dev-libs/libpcre-3.9" (the oldest version I tested) to
zsh-4.1.1.ebuild (will soon available in CVS).
Thank you for your notice.