Bug 215659 - dev-java/commons-cli-1.1 fails to emerge on --update
|
Bug#:
215659
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: java@gentoo.org
|
Reported By: willard.dawson@sungard.com
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: dev-java/commons-cli-1.1 fails to emerge on --update
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2008-04-01 01:24 0000
|
Emerge --update for dev-java/commons-cli produces numerous build errors.
Reproducible: Always
Steps to Reproduce:
1.emerge ...
2.
3.
Actual Results:
[javac]
/var/tmp/portage/dev-java/commons-cli-1.1/work/commons-cli-1.1-src/src/test/org/apache/commons/cli/ArgumentIsOptionTest.java:33:
cannot find symbol
[javac] symbol : class TestSuite
[javac] location: class org.apache.commons.cli.ArgumentIsOptionTest
[javac] return new TestSuite(ArgumentIsOptionTest.class);
[javac] ^
[javac] 100 errors
BUILD FAILED
/var/tmp/portage/dev-java/commons-cli-1.1/work/commons-cli-1.1-src/build.xml:117:
Compile failed; see the compiler error output for details.
Total time: 4 seconds
*
* ERROR: dev-java/commons-cli-1.1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 3880: Called java-pkg-2_src_compile
* environment, line 2095: Called eant 'src_compile' 'src_compile'
'jar'
* environment, line 868: Called die
* The specific snippet of code:
* ant ${antflags} "${@}" || die "eant failed"
* The die message:
* eant failed
!!! When you file a bug report, please include the following information:
GENTOO_VM=sun-jdk-1.6 CLASSPATH="" JAVA_HOME="/opt/sun-jdk-1.6.0.05"
JAVACFLAGS="-source 1.4 -target 1.4" COMPILER="javac"
and of course, the output of emerge --info
Expected Results:
Successful build.
!!! When you file a bug report, please include the following information:
GENTOO_VM=sun-jdk-1.6 CLASSPATH="" JAVA_HOME="/opt/sun-jdk-1.6.0.05"
JAVACFLAGS="-source 1.4 -target 1.4" COMPILER="javac"
and of course, the output of emerge --info
# emerge --info
Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.2.3, glibc-2.7-r2,
2.6.24-gentoo-r4 i686)
=================================================================
System uname: 2.6.24-gentoo-r4 i686 Intel(R) Pentium(R) M processor 2.00GHz
Timestamp of tree: Tue, 01 Apr 2008 00:30:04 +0000
ccache version 2.4 [disabled]
app-shells/bash: 3.2_p33
dev-java/java-config: 1.3.7, 2.1.5
dev-lang/python: 2.4.4-r9, 2.5.1-r5
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache: 2.4-r7
sys-apps/baselayout: 1.12.12
sys-apps/sandbox: 1.2.18.1-r2
sys-devel/autoconf: 2.13, 2.61-r1
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils: 2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool: 1.5.26
virtual/os-headers: 2.6.24
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=i686 -O2 -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config
/usr/kde/3.5/shutdown /usr/share/config /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf
/etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/
/etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo
/etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=i686 -O2 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans
userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US"
LC_ALL="en_US"
MAKEOPTS=""
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --stats --timeout=180 --exclude=/distfiles
--exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi aiglx alsa apache2 apm arts ati
audiofile avahi avi bash-completion berkdb bitmap-fonts bluetooth bzip2 cairo
caps cardbus cdr cli cracklib crypt ctype cups dba dbtool dbus diskio djvu dri
dvd dvdr dvdread eds emboss encode esd ethereal evo exif expat fam fastbuild
ffmpeg fftw fglrx firefox foomaticdb force-cgi-redirect fortran ftp gamin gd
gdbm gif glib glitz glut gmp gnome gpm gstreamer gtk gtk2 gtkhtml guile hal
iconv idn imlib ipv6 isdnlog ithreads jack java jpeg kde kerberos kqemu lcms
ldap libclamav libg++ libwww lirc live lm_sensors lua mad madwifi matroska
mdnsresponder-compat memlimit mhash midi mikmod mmx mmxext mng mono motif
mozilla mp3 mpeg mudflap mysql ncurses netjack networking nforce2 nls nptl
nptlonly nvidia ocaml ogg oggvorbis opengl openmp oss pam pango pch pcre pdf
pdflib pear perl php pmu png portaudio posix pppd pulseaudio python qt qt3
qt3support qt4 qtmt quicktime readline real reflection ruby samba sasl sdl
session simplexml slang sndfile snmp soap sockets spell spl sqlite sse sse2 ssl
svg tcl tcltk tcpd theora threads threadsafe tiff tk tokenizer truetype
truetype-fonts type1-fonts udev unicode utempter vorbis wifi win32codecs x86
xanim xinerama xml xmlrpc xorg xscreensaver xsl xv zlib" ALSA_CARDS="ali5451
als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370
ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident
usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy
dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear
meter mulaw multi null plug rate route share shm softvol"
APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd
authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile
authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd
deflate dir disk_cache env expires ext_filter file_cache filter headers ident
imagemap include info log_config logio mem_cache mime mime_magic negotiation
proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so
speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc"
INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses
text" USERLAND="GNU" VIDEO_CARDS="radeon ati fglrx"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS,
PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to comment #0)
> Emerge --update for dev-java/commons-cli produces numerous build errors.
>
Attach full build.log please.
So are people CCing themselves here because they are seeing this too? I
couldn't reproduce and neither could another dev.
(In reply to comment #5)
Almost identical build log here (the only difference is because I have
USE=doc). And I am getting the same failure.
Please post output of:
ls -la /usr/share/ant-core/lib
(In reply to comment #7)
> Please post output of:
> ls -la /usr/share/ant-core/lib
$ ls -la /usr/share/ant-core/lib/
total 1288
drwxr-xr-x 2 root root 83 2007-11-28 16:40 .
drwxr-xr-x 4 root root 54 2007-11-28 16:40 ..
-rw-r--r-- 1 root root 16357 2007-11-28 16:40 ant-bootstrap.jar
-rw-r--r-- 1 root root 1289260 2007-11-28 16:40 ant.jar
-rw-r--r-- 1 root root 11719 2007-11-28 16:40 ant-launcher.jar
lrwxrwxrwx 1 root root 30 2008-01-30 01:49 junit.jar ->
/usr/share/junit/lib/junit.jar
Hm seems like current stable junit-3.8.1-r3 really still installs this symlink.
Should get the 3.8.2 stable ASAP.
Also the problem happens only when mixing arch and ~arch.
(In reply to comment #9)
> Should get the 3.8.2 stable ASAP.
> Also the problem happens only when mixing arch and ~arch.
I have junit-3.8.2 (newest is 3.8.2-r1). I am purely ~amd64, not mixing arches.
However, if I run 'emerge -pv world --update --deep --tree --with-bdeps=y', the
junit upgrade is not in the list. It looks like it was pulled in by some
package a year ago, but is no longer depended on by anything.
I have to ask, if junit is being used when building commons-cli, why isn't it
listed in DEPEND?
If junit was in DEPEND, I would have known to upgrade to a working version...
(In reply to comment #10)
>
> I have to ask, if junit is being used when building commons-cli, why isn't it
> listed in DEPEND?
>
The bug happens when the build system detect junit installed on your system and
tries to use it. This should not happen with the ~arch version of junit.
(In reply to comment #11)
> (In reply to comment #10)
> >
> > I have to ask, if junit is being used when building commons-cli, why isn't it
> > listed in DEPEND?
> >
>
> The bug happens when the build system detect junit installed on your system and
> tries to use it. This should not happen with the ~arch version of junit.
>
Which doesn't really answer Alex' question ... and to be sure: "me, too".
Actually, when I do emerge -uDN junit I get quite a bunch of updates that
haven't been shown when updating world.
(In reply to comment #12)
> Which doesn't really answer Alex' question ... and to be sure: "me, too".
OK so I will answer the question explicitly.
(In reply to comment #10)
> I have to ask, if junit is being used when building commons-cli, why isn't it
> listed in DEPEND?
It's not used for building, it's used only for testing (which we don't perform
yet anyway, no src_test I think). However the build system tries to be smart
and detect junit availability, in which case it starts to build tests. And
because detecting uses ant's run classpath, and building uses a different
classpath (without junit), detecting succeedes but building fails.
The difference with ~arch junit is that it no longer appears on ant's classpath
unless the ebuilds want it to be there (which it doesn't).
> Actually, when I do emerge -uDN junit I get quite a bunch of updates that
> haven't been shown when updating world.
Yeah that's how portage works, if nothing in world points (directly or
indirectly) to a package, it won't get updated...
Sadly this also means that even if we stabilize the ~arch junit, some people
will still get this breakage. So either we use the eclass function to sanitize
the <available> task, or block on the older junit versions?
I droped the 'test' ant target to only compile.
src_unpack() {
unpack "${A}"
sed -e 's/depends="compile,test"/depends="compile"/'\
-i "${S}/build.xml"
}
For testing, I guess that it is needed adding jars around junit to WORKDIR
and write src_test(), right?
(In reply to comment #14)
This works for me (I using ACCEPT_KEYWORDS="x86 ~x86").
Older versions of junit blocked in commons-cli-1.1
*** Bug 248299 has been marked as a duplicate of this bug. ***