[ 
https://issues.apache.org/jira/browse/DERBY-5189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Knut Anders Hatlen updated DERBY-5189:
--------------------------------------

    Issue & fix info: [Patch Available]

> PropertySetter should ignore GCJ installations
> ----------------------------------------------
>
>                 Key: DERBY-5189
>                 URL: https://issues.apache.org/jira/browse/DERBY-5189
>             Project: Derby
>          Issue Type: Improvement
>          Components: Build tools
>    Affects Versions: 10.8.1.1
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: derby-5189-1a.diff
>
>
> Many Linux platforms come with GCJ installed. GCJ implements most of the Java 
> SE API, but not all of it, so it cannot be used to build Derby. 
> Unfortunately, PropertySetter sometimes get confused by it and constructs a 
> compile classpath using GCJ's libraries.
> For example, on a machine running Debian 6.0.1, I have the sun-java6-jdk 
> package as well as the gcj-jdk package installed. When running ant to build 
> Derby (with no ~/ant.properties), I get these compile classpaths constructed:
> printCompilerProperties:
>      [echo] After setting properties:  compilerPropsAlreadySet = true
>      [echo] After setting properties:  compilerLevel16 = 1.6
>      [echo] After setting properties:  jsr169compile.classpath = 
> /home/kah/derby/trunk/classes/stubs/jsr169:/usr/lib/jvm/java-1.5.0-gcj-4.4/jre/lib/rt.ja
> r
>      [echo] After setting properties:  j14lib = ${j14lib}
>      [echo] After setting properties:  java14compile.classpath = 
> /usr/lib/jvm/java-1.5.0-gcj-4.4/jre/lib/rt.jar
>      [echo] After setting properties:  j15lib = ${j15lib}
>      [echo] After setting properties:  java15compile.classpath = 
> /usr/lib/jvm/java-1.5.0-gcj-4.4/jre/lib/rt.jar
>      [echo] After setting properties:  j16lib = ${jdk16}/jre/lib
>      [echo] After setting properties:  java16compile.classpath = 
> /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/alt-rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.24/jre
> /lib/alt-string.jar:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/deploy.jar:/usr/lib/jvm/java-6-sun-1.6
> .0.24/jre/lib/javaws.jar:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0
> .24/jre/lib/management-agent.jar:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/plugin.jar:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/resources.jar:/usr/lib/jvm/
> java-6-sun-1.6.0.24/jre/lib/rt.jar
> Since java15compile.classpath is based on GCJ, and GCJ lacks some classes in 
> the javax.management.remote package, the build fails when it gets to the JMX 
> tests:
> compile_jdk15:
>     [javac] Compiling 14 source files to /home/kah/derby/trunk/classes
>     [javac] 
> /home/kah/derby/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/management/JMXConnectionDecorator.java:26:
>  cannot find symbol
>     [javac] symbol  : class JMXServiceURL
>     [javac] location: package javax.management.remote
>     [javac] import javax.management.remote.JMXServiceURL;
>     [javac]                               ^
> (...)
>     [javac] 
> /home/kah/derby/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/management/RemoteConnectionGetter.java:73:
>  cannot find symbol
>     [javac] symbol  : class JMXConnector
>     [javac] location: class 
> org.apache.derbyTesting.functionTests.tests.management.RemoteConnectionGetter
>     [javac]         JMXConnector jmxc = conns.remove(jmxConnection);
>     [javac]         ^
>     [javac] 17 errors
> BUILD FAILED
> /home/kah/derby/trunk/build.xml:596: The following error occurred while 
> executing this line:
> /home/kah/derby/trunk/java/testing/build.xml:80: The following error occurred 
> while executing this line:
> /home/kah/derby/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/management/build.xml:53:
>  Compile failed; see the compiler error output for details.
> Total time: 1 minute 30 seconds
> PropertySetter should ignore GCJ installations to prevent this problem. If it 
> hadn't found GCJ, it would have constructed java15compile.classpath from 
> java16compile.classpath, and the build would have succeeded.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to