Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 105487 - dev-java/log4j-1.2.9 doesn't compile without USE="jmx"
Summary: dev-java/log4j-1.2.9 doesn't compile without USE="jmx"
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High minor (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-10 06:59 UTC by Wiktor Wandachowicz
Modified: 2005-09-10 08:19 UTC (History)
0 users

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


Attachments
log4j-1.2.9.errors (log4j-1.2.9.errors,11.54 KB, text/plain)
2005-09-10 07:01 UTC, Wiktor Wandachowicz
Details
log4j-1.2.12.errors (log4j-1.2.12.errors,3.08 KB, text/plain)
2005-09-10 07:27 UTC, Wiktor Wandachowicz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Wiktor Wandachowicz 2005-09-10 06:59:47 UTC
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
Comment 1 Wiktor Wandachowicz 2005-09-10 07:01:02 UTC
Created attachment 68108 [details]
log4j-1.2.9.errors

Compiler output of  "# emerge -av1 jmx"  command.
Comment 2 Thomas Matthijs (RETIRED) gentoo-dev 2005-09-10 07:05:10 UTC
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
Comment 3 Wiktor Wandachowicz 2005-09-10 07:26:42 UTC
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!
Comment 4 Wiktor Wandachowicz 2005-09-10 07:27:17 UTC
Created attachment 68110 [details]
log4j-1.2.12.errors
Comment 5 Wiktor Wandachowicz 2005-09-10 07:39:49 UTC
[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.
Comment 6 Wiktor Wandachowicz 2005-09-10 07:48:20 UTC
[OT] Yeah, the solution from comment #55 to the aforementioned bug worked!
Comment 7 Thomas Matthijs (RETIRED) gentoo-dev 2005-09-10 08:19:48 UTC
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)