Trying to emerge jboss, I've found that building log4j failed (see attachment for exact compiler output). Yes, I'm using sun-jdk-1.5.0.04, but that was not the source of the problem. Examining the messages I've found: ====== BEGIN QUOTE ====== build.jms: jmxCheck: jmx: [echo] JMX is present. build.jmx: [javac] Compiling 7 source files to /var/tmp/portage/log4j-1.2.9/work/logging-log4j-1.2.9/dist/classes [javac] /var/tmp/portage/log4j-1.2.9/work/logging-log4j-1.2.9/src/java/org/apache/log4j/jmx/Agent.java:7: package com.sun.jdmk.comm does not exist [javac] import com.sun.jdmk.comm.HtmlAdaptorServer; [javac] ^ ====== END QUOTE ====== But at this point I haven't emerged anything jmx-related yet. I searched the net for the missing com.sun.jdmk.comm package and it quickly turned out that indeed it comes from Sun's JMX refernce implementation. Having a flash of ingenuity, I added USE="jmx" flag in /etc/make.conf - and this solved the problem (I was going to use JMX in my development anyway, so it's not a real concern). This time log4j compiled, although with a number of warnings (24 to be exact). Reproducible: Always Steps to Reproduce: 1. put only minimal amount of USE flags in /etc/make.conf, like mine: USE="nptl nptlonly userlocales ithreads justify pcre -X -gtk -gtk2 -gnome -qt -kde -oss -alsa -arts -apm -opengl -gstreamer -xmms -sdl" 2a. # emerge -av jboss OR 2b. # emerge -av1 log4j Actual Results: Compiling log4j failed, whereas the source of the problem came from the fact that the compiler wasn't able to locate the com.sun.jdmk.comm.HtmlAdaptorServer class (it's in the dev-java/jmx package). Somehow the test for jmx (jmxCheck: jmx: [echo] JMX is present.) was false positive in my case, so I needed to put USE="jmx" and remerge the package. Expected Results: dev-java/log4j should compile fine without such error. # emerge --info Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r1, 2.6.12-gentoo-r6 i686) ================================================================= System uname: 2.6.12-gentoo-r6 i686 AMD Athlon(tm) Processor Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.12 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.6 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=i686" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=i686" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="src.gentoo.pl gentoo.prz.rzeszow.pl" LINGUAS="pl" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 avi bash-completion berkdb bitmap-fonts crypt cups eds emboss encode foomaticdb fortran gdbm gif gpm imlib ipv6 ithreads java jmx jpeg justify libg++ libwww mad mikmod motif mp3 mpeg ncurses nls nptl nptlonly ogg oggvorbis pam pcre pdflib perl png python quicktime readline slang spell ssl tcpd truetype truetype-fonts type1-fonts userlocales vorbis xml2 xv zlib linguas_pl userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTDIR_OVERLAY
Created attachment 68108 [details] log4j-1.2.9.errors Compiler output of "# emerge -av1 jmx" command.
lies it is because of 1.5 log4j check for a class too see if jmx is present that is in 1.5 but not in 1.4 This is fixed in my 1.5 overlay and in log4j 1.2.12
Okay, so I did this: # USE="-jmx" ACCEPT_KEYWORDS="~x86" emerge -avu1 --nodeps log4j This time the compilation bailed out with: build.core: [mkdir] Created dir: /var/tmp/portage/log4j-1.2.12/work/logging-log4j-1.2.12/dist/classes [javac] Compiling 158 source files to /var/tmp/portage/log4j-1.2.12/work/logging-log4j-1.2.12/dist/classes [javac] javac: invalid source release: 1.1 [javac] Usage: javac <options> <source files> [javac] where possible options include: [javac] -g Generate all debugging info [javac] -g:none Generate no debugging info [javac] -g:{lines,vars,source} Generate only some debugging info [javac] -nowarn Generate no warnings ... (rest of usage info removed for clarity) So, you are not exactly right with log4j-1.2.12, as upgrading to it doesn't solve my problem. And somehow I managed to solve it myself for my own purpose with older version. In my opinion if 1.2.9 is marked stable and makes such problems, its ebuild should be enhanced to include JMX when using JDK 1.5.0. That's the reason I'd still keep the bug open. And yes, I know how hair-rising is the fact of using Sun's jdk-1.5.0 ... ;-) But I need it for my development environment. So I installed it as first Java-related package and kept going with it for all emerges. [OT] And saying "lies" in the first line of your answer is not-so-much polite as it could be. I'm not so touchy, but hey... :-D Anyway, thanks for quick answer!
Created attachment 68110 [details] log4j-1.2.12.errors
[OT] Continuing with emerging jboss, I've found another problem, now with dev-java/avalon-logkit-1.2. Luckily I've found some helpful comments to the bug #79206, so I'll try them and see if I can proceed.
[OT] Yeah, the solution from comment #55 to the aforementioned bug worked!
fine wontfix then :) except if you are using http://gentooexperimental.org/svn/java/axxo-overlay/ (but that has some other massive changes to how java is handled, so be carefull)