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.
Created attachment 147989 [details] Build log Full build log
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 #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
Created attachment 148153 [details] Even more verbose build log, as requested.
(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. ***