Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 215659 - dev-java/commons-cli-1.1 fails to emerge on --update
Summary: dev-java/commons-cli-1.1 fails to emerge on --update
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
: 248299 (view as bug list)
Depends on: 217448
Blocks:
  Show dependency tree
 
Reported: 2008-04-01 01:24 UTC by Willard Dawson
Modified: 2009-01-26 17:30 UTC (History)
6 users (show)

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


Attachments
Build log (build.log,31.10 KB, text/plain)
2008-04-01 18:37 UTC, Willard Dawson
Details
Even more verbose build log, as requested. (build.log,59.72 KB, text/plain)
2008-04-03 00:50 UTC, Willard Dawson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Willard Dawson 2008-04-01 01:24:39 UTC
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
Comment 1 Petteri Räty (RETIRED) gentoo-dev 2008-04-01 17:00:48 UTC
(In reply to comment #0)
> Emerge --update for dev-java/commons-cli produces numerous build errors.
> 

Attach full build.log please. 
Comment 2 Willard Dawson 2008-04-01 18:37:35 UTC
Created attachment 147989 [details]
Build log

Full build log
Comment 3 Petteri Räty (RETIRED) gentoo-dev 2008-04-03 00:40:40 UTC
So are people CCing themselves here because they are seeing this too? I couldn't reproduce and neither could another dev.
Comment 4 Petteri Räty (RETIRED) gentoo-dev 2008-04-03 00:42:08 UTC
(In reply to comment #2)
> Created an attachment (id=147989) [edit]
> Build log
> 
> Full build log
> 

Please attach an even more verbose build log produced with JAVA_PKG_DEBUG=1 emerge  -1 commons-cli
Comment 5 Willard Dawson 2008-04-03 00:50:00 UTC
Created attachment 148153 [details]
Even more verbose build log, as requested.
Comment 6 Alexandre Rostovtsev (RETIRED) gentoo-dev 2008-04-03 01:24:39 UTC
(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.
Comment 7 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2008-04-03 05:40:36 UTC
Please post output of:
ls -la /usr/share/ant-core/lib
Comment 8 Alexandre Rostovtsev (RETIRED) gentoo-dev 2008-04-03 05:45:33 UTC
(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
Comment 9 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2008-04-03 07:50:18 UTC
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. 
Comment 10 Alexandre Rostovtsev (RETIRED) gentoo-dev 2008-04-03 14:25:03 UTC
(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...
Comment 11 Petteri Räty (RETIRED) gentoo-dev 2008-04-03 15:13:09 UTC
(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.
Comment 12 Gerrit Zimmermann 2008-04-06 14:28:57 UTC
(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. 
Comment 13 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2008-04-06 15:04:16 UTC
(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?
Comment 14 Shunichi Fuji 2008-04-11 17:49:15 UTC
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?
Comment 15 Marcin D. Mikielewicz 2008-04-27 08:31:48 UTC
(In reply to comment #14)

 This works for me (I using ACCEPT_KEYWORDS="x86 ~x86").
Comment 16 Petteri Räty (RETIRED) gentoo-dev 2008-05-23 19:57:53 UTC
Older versions of junit blocked in commons-cli-1.1
Comment 17 Petteri Räty (RETIRED) gentoo-dev 2009-01-26 17:30:41 UTC
*** Bug 248299 has been marked as a duplicate of this bug. ***