Re: icedtea6 build failures on alpha and armel using gcj

Matthias Klose <[email protected]>
Newsgroups gmane.comp.gcc.java.devel,gmane.linux.debian.ports.arm,gmane.linux.debian.ports.alpha,gmane.comp.java.openjdk.distro-packaging.devel
Message-ID <[email protected]>
On 01.03.2010 20:54, Andrew John Hughes wrote:
> On 27 February 2010 16:49, Matthias Klose<[email protected]>  wrote:
>> Building icedtea6 on alpha and armel using a two stage bootstrap fails with
>> different errors. These are no new errors, just rechecked the two stage
>> bootstrap, because the one stage build fails to build cacao after the b18
>> update. On alpha:
>>
>> mkdir -p lib/rt
>> /home/doko/openjdk/openjdk-6-6b18~pre1/build/bootstrap/jdk1.6.0/bin/javac
>>   -g -d lib/rt \
>>           -source 1.5 \
>>           -sourcepath \
>>
>> 'openjdk/jdk/src/share/classes:openjdk/jdk/src/solaris/classes:openjdk/langtools/src/share/classes:openjdk/corba/src/share/classes:/home/doko/openjdk/openjdk-6-6b18~pre1/build/generated'
>> \
>>           -classpath /usr/lib/jvm/java-gcj/jre/lib/rt.jar \
>>           -bootclasspath \'\' @rt-source-files.txt ;
>> incorrect classpath: ''
>> ----------
>> 1. ERROR in
>> /home/doko/openjdk/openjdk-6-6b18~pre1/build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java
>> (at line 52)
>>         public static final float   MIN_NORMAL      = 1.17549435E-38f;
>>                                                       ^^^^^^^^^^^^^^^
>> The literal 1.17549435E-38f of type float is out of range
>> ----------
>> 1 problem (1 error)make[1]: *** [stamps/rt-class-files.stamp] Error 255
>>
>>
>> I vaguely remember we had a patch in the past to back out some of the
>> constants stuff.
>>
>
> We do still have a patch.  It's applied to the ecj build.  Why are you
> using ecj for a non-bootstrap build, as it appears here?

comparing the build logs on alpha and i386, this is the 
stamps/rt-class-files.stamp target, which succeeds to build on i386, but not on 
alpha. This target always uses the openjdk sourcepath, not the openjdk-ecj 
source path.

and it looks like the patch is applied, but ecj can't parse this value on alpha; 
the test program

   class Test {
         public static final float   MIN_NORMAL      = 1.17549435E-38f;
   }

fails to build:

----------
1. ERROR in Test.java (at line 2)
         public static final float   MIN_NORMAL      = 1.17549435E-38f;
                                                       ^^^^^^^^^^^^^^^
The literal 1.17549435E-38f of type float is out of range
----------


further, is it correct that the -ecj patch is applied to *both* the openjdk and 
openjdk-ecj directory?

$ ls -l build/openjdk*/jdk/src/share/classes/sun/misc/FloatConsts.java
-rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 
build/openjdk-ecj/jdk/src/share/classes/sun/misc/FloatConsts.java
-rw-rw-r-- 2 doko doko 4147 Feb 17 03:14 
build/openjdk/jdk/src/share/classes/sun/misc/FloatConsts.java

these are still hard links.

   Matthias
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.