Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 67864 - subversion 1.1.0 emerge fails with java and jikes
Summary: subversion 1.1.0 emerge fails with java and jikes
Status: RESOLVED DUPLICATE of bug 63464
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Paul de Vrieze (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-17 04:51 UTC by Jose Gonzalez Gomez
Modified: 2005-07-17 13:06 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jose Gonzalez Gomez 2004-10-17 04:51:46 UTC
When trying to emerge subversion 1.1.0 with java enabled and jikes installed, I get an error while compiling the java support of subversion. This is a known bug of subversion/jikes you may found in the following link:

http://subversion.tigris.org/issues/show_bug.cgi?id=2057

This error only shows when compiling with jikes. The obvious workaround is either compile without java support or unmerge jikes.

Anyway I have labeled this as major bug as I think that failing to compile the java support for subversion makes impossible to use the Eclipse plugin to access Subversion repositories (Subclipse).

This bug has three possible solutions:
1. Wait for a solution from Subversion guys. This would mean that people with jikes installed wouldn't be able to emerge this package, or if they emerge it without java suppport, they wouldn't be able to use the Eclipse plugin
2. Make a patch for the offending classes. It seems the problem is related to some unqualified static variables. Just qualifying those variable with the class name they're declared in should solve the problem
3. Force this package to use another compiler instead of jikes even if jikes is installed

Reproducible: Always
Steps to Reproduce:
1. Install jikes
2. ACCEPT_KEYWORDS="~x86" USE="-java" emerge -vp subversion

Actual Results:  
The compilation failed with the following errors:

/usr/bin/jikes  -d subversion/bindings/java/javahl/classes -classpath
subversion/bindings/java/javahl/classes:/opt/sun-jdk-1.4.2.05/jre
/lib:/opt/sun-jdk-1.4.2.05/jre/lib/charsets.jar:/opt/sun-jdk-1.4.2.05/jre/lib/jce.jar:/opt/sun-jdk-1.4.2.05/jre/lib/jsse.jar:/opt/sun-j
dk-1.4.2.05/jre/lib/plugin.jar:/opt/sun-jdk-1.4.2.05/jre/lib/rt.jar:/opt/sun-jdk-1.4.2.05/jre/lib/sunrsasign.jar
/var/tmp/portage/subve
rsion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/DirEntry.java
/var/tmp/portage/subve
rsion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClient.java
/var/tmp/portage/subv
ersion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/ScheduleKind.java
/var/tmp/portage/
subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNInputStream.java
/var/tmp/po
rtage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/NotifyAction.java
/var/tm
p/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNOutputStream.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/PromptUserPass
word2.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/Sta
tus.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/Promp
tUserPassword3.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/j
avahl/SVNClientSynchronized.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris
/subversion/javahl/NotifyStatus.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/ti
gris/subversion/javahl/CommitItemStateFlags.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javah
l/src/org/tigris/subversion/javahl/JNIError.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javah
l/src/org/tigris/subversion/javahl/SVNClientInterface.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/
java/javahl/src/org/tigris/subversion/javahl/ClientException.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bi
ndings/java/javahl/src/org/tigris/subversion/javahl/Notify.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bind
ings/java/javahl/src/org/tigris/subversion/javahl/CommitItem.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bi
ndings/java/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/sub
version/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/sub
version/bindings/java/javahl/src/org/tigris/subversion/javahl/NodeKind.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/sub
version/bindings/java/javahl/src/org/tigris/subversion/javahl/RevisionKind.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0
/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/Info.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/sub
version/bindings/java/javahl/src/org/tigris/subversion/javahl/LogMessage.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/s
ubversion/bindings/java/javahl/src/org/tigris/subversion/javahl/StatusKind.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0
/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/Revision.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0
/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/PropertyData.java
/var/tmp/portage/subversion-1.1.0/work/subversion-1
.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/OutputInterface.java
/var/tmp/portage/subversion-1.1.0/work/subve
rsion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/SVNClientLogLevel.java
/var/tmp/portage/subversion-1.1.0/w
ork/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/ChangePath.java
/var/tmp/portage/subversion-1.1.0
/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/InputInterface.java
/var/tmp/portage/subversion
-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/BlameCallback.java
/var/tmp/portage/subve
rsion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/CommitMessage.java

Found 2 semantic errors compiling
"/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigr
is/subversion/javahl/Notify.java":

    59.                         return actionNames[action];
                                       ^---------^
*** Semantic Error: Illegal use of name "actionNames" which has not yet been
fully declared at this point.


    76.                         return statusNames[status];
                                       ^---------^
*** Semantic Error: Illegal use of name "statusNames" which has not yet been
fully declared at this point.

Found 13 semantic errors and issued 7 warnings compiling
"/var/tmp/portage/subversion-1.1.0/work/subversion-1.1.0/subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/Status.java":

   410.         int textStatus = getTextStatus();
                    ^--------^
*** Semantic Warning: Local "textStatus" shadows a field of the same name in
"org.tigris.subversion.javahl.Status".


   422.         int textStatus = getTextStatus();
                    ^--------^
*** Semantic Warning: Local "textStatus" shadows a field of the same name in
"org.tigris.subversion.javahl.Status".


   432.         int textStatus = getTextStatus();
                    ^--------^
*** Semantic Warning: Local "textStatus" shadows a field of the same name in
"org.tigris.subversion.javahl.Status".


   442.         int textStatus = getTextStatus();
                    ^--------^
*** Semantic Warning: Local "textStatus" shadows a field of the same name in
"org.tigris.subversion.javahl.Status".


   452.         int textStatus = getTextStatus();
                    ^--------^
*** Semantic Warning: Local "textStatus" shadows a field of the same name in
"org.tigris.subversion.javahl.Status".


   463.         int textStatus = getTextStatus();
                    ^--------^
*** Semantic Warning: Local "textStatus" shadows a field of the same name in
"org.tigris.subversion.javahl.Status".


   473.         int textStatus = getTextStatus();
                    ^--------^
*** Semantic Warning: Local "textStatus" shadows a field of the same name in
"org.tigris.subversion.javahl.Status".


   493.             case none:
                         ^--^
*** Semantic Error: Illegal use of name "none" which has not yet been fully
declared at this point.


   495.             case normal:
                         ^----^
*** Semantic Error: Illegal use of name "normal" which has not yet been fully
declared at this point.


   497.             case added:
                         ^---^
*** Semantic Error: Illegal use of name "added" which has not yet been fully
declared at this point.


   499.             case missing:
                         ^-----^
*** Semantic Error: Illegal use of name "missing" which has not yet been fully
declared at this point.


   501.             case deleted:
                         ^-----^
*** Semantic Error: Illegal use of name "deleted" which has not yet been fully
declared at this point.


   503.             case replaced:
                         ^------^
*** Semantic Error: Illegal use of name "replaced" which has not yet been fully
declared at this point.


   505.             case modified:
                         ^------^
*** Semantic Error: Illegal use of name "modified" which has not yet been fully
declared at this point.


   507.             case merged:
                         ^----^
*** Semantic Error: Illegal use of name "merged" which has not yet been fully
declared at this point.


   509.             case conflicted:
                         ^--------^
*** Semantic Error: Illegal use of name "conflicted" which has not yet been
fully declared at this point.


   511.             case ignored:
                         ^-----^
*** Semantic Error: Illegal use of name "ignored" which has not yet been fully
declared at this point.


   513.             case incomplete:
                         ^--------^
*** Semantic Error: Illegal use of name "incomplete" which has not yet been
fully declared at this point.


   515.             case external:
                         ^------^
*** Semantic Error: Illegal use of name "external" which has not yet been fully
declared at this point.


   517.             case unversioned:
                         ^---------^
*** Semantic Error: Illegal use of name "unversioned" which has not yet been
fully declared at this point.
make: *** [javahl-java] Error 1

!!! ERROR: dev-util/subversion-1.1.0 failed.
!!! Function src_compile, Line 142, Exitcode 2
!!! Compilation failed


Expected Results:  
The ebuild should have emerged subversion properly, maybe deactivating jikes
compilation.

Portage 2.0.50-r11 (2004.2, gcc-3.3.4, glibc-2.3.3.20040420-r1, 2.6.7-gentoo-r11)
=================================================================
System uname: 2.6.7-gentoo-r11 i686 AMD Athlon(tm) Processor
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon -O3 -pipe -mmmx -m3dnow"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi//var/bind
/var/lib/jboss /var/qmail/control /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.osuosl.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="apache2 apm arts avi berkdb bitmap-fonts crypt cups doc encode flash
foomaticdb gd gdbm gif gpm gtk2 imap imlib innodb java jikesjpeg kerberos lcms
ldap libg++ libwww mad maildir mcalc mikmod motif mpeg mysql ncurses nls objc
oggvorbis opengl oss pam pdflib perl png postgres ppds python quicktime readline
samba sasl sdl slang slp spell ssl tcpd tetex tiff truetype vhosts virus-scan
x86 xml xml2 xmms xprint xv zlib"
Comment 1 Jose Gonzalez Gomez 2004-10-17 04:53:24 UTC
Sorry... it's evident that to reproduce the bug you must activate java support:

ACCEPT_KEYWORDS="~x86" USE="java" emerge -vp subversion
Comment 2 Jose Gonzalez Gomez 2004-10-17 08:33:55 UTC
I missed the jikes use flag in the ebuild. Anyway, using -jikes didn't work, as the ebuild was incorrect. The following lines has missing quotes:

    if use java; then
        use jikes && myconf=${myconf} --with-jikes=yes
        use jikes || myconf=${myconf} --without-jikes
    fi

I have added quotes to the myconf variable:

    if use java; then
        use jikes && myconf="${myconf} --with-jikes=yes"
        use jikes || myconf="${myconf} --without-jikes"
    fi

After that, emerging this package with -jikes works as expected. Anyway, jikes support should be disabled until the bug in Subversion itself is fixed, as emerging the package with the jikes use flag causes the merge to fail.
Comment 3 Holger Hoffstätte 2004-10-17 08:42:39 UTC
Prefixing the variables should not be necessary (because it _is_ a jikes bug). Please see http://subversion.tigris.org/issues/show_bug.cgi?id=2057 for more on this. Unless the javahl maintainer (whoever that is) speaks up on this, it's unlikely to get fixed. Not using jikes is IMHO the correct solution here, esp. considering that most people have the JDK anyway when they use Java-related packages.
Comment 4 Paul de Vrieze (RETIRED) gentoo-dev 2004-10-19 06:54:18 UTC

*** This bug has been marked as a duplicate of 63464 ***