-
Bug
-
Resolution: Duplicate
-
P2
-
None
-
6
-
None
-
x86
-
windows_xp
Windows build fails with the following error:
=============================================
rm -f c:/java/mustang-build/tmp/sun/sun.tools.javazic/.classes.list
if [ -s c:/java/mustang-build/tmp/sun/sun.tools.javazic/.classes.list ] ; \
then /cygdrive/c/java/1.6.0b31/bin/javac -J-client -J-XX:ThreadStackSize=768 -J-Xms64m -J-Xmx256m -classpath c:/java/mustang-build/classes -bootclasspath "c:/java/mustang-build/lib/jce.jar;c:/java/mustang-build/lib/jsse.jar" -sourcepath "c:/java/mustang-build/gensrc;../../../src/windows/classes;../../../src/share/classes" -d c:/java/mustang-build/classes -encoding ascii -source 1.5 -d c:/java/mustang-build/tmp/sun/sun.tools.javazic \
; \
fi
rm -f -r c:/java/mustang-build/tmp/sun/sun.tools.javazic/zi
/cygdrive/c/java/1.6.0b31/bin/java -classpath c:/java/mustang-build/tmp/sun/sun.tools.javazic sun.tools.javazic.Main -V "`cat ./tzdata/VERSION`" -d c:/java/mustang-build/tmp/sun/sun.tools.javazic/zi ./tzdata/africa ./tzdata/antarctica ./tzdata/asia ./tzdata/australasia ./tzdata/europe ./tzdata/northamerica ./tzdata/pacificnew ./tzdata/southamerica ./tzdata/systemv ./tzdata/backward ./tzdata/etcetera ./tzdata/solar87 ./tzdata/solar88 ./tzdata/solar89 ./tzdata/systemv ./tzdata_jdk/gmt ./tzdata_jdk/jdk11_backward
Exception in thread "main" java.lang.NoSuchMethodError: sun.util.calendar.Gregorian.newCalendarDate(Ljava/util/TimeZone;-)Lsun/util/calendar/Gregorian$Date;
at sun.tools.javazic.Time.getLocalTime(Time.java:190)
at sun.tools.javazic.Time.getLocalTime(Time.java:176)
at sun.tools.javazic.ZoneRec.getLocalUntilTime(ZoneRec.java:113)
at sun.tools.javazic.ZoneRec.parse(ZoneRec.java:222)
at sun.tools.javazic.Zoneinfo.parse(Zoneinfo.java:247)
at sun.tools.javazic.Main.compile(Main.java:100)
at sun.tools.javazic.Main.main(Main.java:137)
make: *** [c:/java/mustang-build/tmp/sun/sun.tools.javazic/zi/ZoneInfoMappings] Error 1
=============================================
This happens because newCalendarDate method is declared in the base class with the different return type. The return type in sun.util.calendar.Gregorian class is a sub-class of the type used in the base class, so "covariant return types" feature should work. But due to some reason it doesn't. The following changes fix the problem:
*** /tmp/geta12576.B12579 2005-05-12 16:44:57.045129352 +0400
--- Gregorian.java 2005-05-12 16:44:54.957446728 +0400
***************
*** 59,69 ****
return getCalendarDate(millis, newCalendarDate(zone));
}
! public Date newCalendarDate() {
return new Date();
}
! public Date newCalendarDate(TimeZone zone) {
return new Date(zone);
}
}
--- 59,69 ----
return getCalendarDate(millis, newCalendarDate(zone));
}
! public CalendarDate newCalendarDate() {
return new Date();
}
! public CalendarDate newCalendarDate(TimeZone zone) {
return new Date(zone);
}
}
###@###.### 2005-05-12 12:48:12 GMT
=============================================
rm -f c:/java/mustang-build/tmp/sun/sun.tools.javazic/.classes.list
if [ -s c:/java/mustang-build/tmp/sun/sun.tools.javazic/.classes.list ] ; \
then /cygdrive/c/java/1.6.0b31/bin/javac -J-client -J-XX:ThreadStackSize=768 -J-Xms64m -J-Xmx256m -classpath c:/java/mustang-build/classes -bootclasspath "c:/java/mustang-build/lib/jce.jar;c:/java/mustang-build/lib/jsse.jar" -sourcepath "c:/java/mustang-build/gensrc;../../../src/windows/classes;../../../src/share/classes" -d c:/java/mustang-build/classes -encoding ascii -source 1.5 -d c:/java/mustang-build/tmp/sun/sun.tools.javazic \
; \
fi
rm -f -r c:/java/mustang-build/tmp/sun/sun.tools.javazic/zi
/cygdrive/c/java/1.6.0b31/bin/java -classpath c:/java/mustang-build/tmp/sun/sun.tools.javazic sun.tools.javazic.Main -V "`cat ./tzdata/VERSION`" -d c:/java/mustang-build/tmp/sun/sun.tools.javazic/zi ./tzdata/africa ./tzdata/antarctica ./tzdata/asia ./tzdata/australasia ./tzdata/europe ./tzdata/northamerica ./tzdata/pacificnew ./tzdata/southamerica ./tzdata/systemv ./tzdata/backward ./tzdata/etcetera ./tzdata/solar87 ./tzdata/solar88 ./tzdata/solar89 ./tzdata/systemv ./tzdata_jdk/gmt ./tzdata_jdk/jdk11_backward
Exception in thread "main" java.lang.NoSuchMethodError: sun.util.calendar.Gregorian.newCalendarDate(Ljava/util/TimeZone;-)Lsun/util/calendar/Gregorian$Date;
at sun.tools.javazic.Time.getLocalTime(Time.java:190)
at sun.tools.javazic.Time.getLocalTime(Time.java:176)
at sun.tools.javazic.ZoneRec.getLocalUntilTime(ZoneRec.java:113)
at sun.tools.javazic.ZoneRec.parse(ZoneRec.java:222)
at sun.tools.javazic.Zoneinfo.parse(Zoneinfo.java:247)
at sun.tools.javazic.Main.compile(Main.java:100)
at sun.tools.javazic.Main.main(Main.java:137)
make: *** [c:/java/mustang-build/tmp/sun/sun.tools.javazic/zi/ZoneInfoMappings] Error 1
=============================================
This happens because newCalendarDate method is declared in the base class with the different return type. The return type in sun.util.calendar.Gregorian class is a sub-class of the type used in the base class, so "covariant return types" feature should work. But due to some reason it doesn't. The following changes fix the problem:
*** /tmp/geta12576.B12579 2005-05-12 16:44:57.045129352 +0400
--- Gregorian.java 2005-05-12 16:44:54.957446728 +0400
***************
*** 59,69 ****
return getCalendarDate(millis, newCalendarDate(zone));
}
! public Date newCalendarDate() {
return new Date();
}
! public Date newCalendarDate(TimeZone zone) {
return new Date(zone);
}
}
--- 59,69 ----
return getCalendarDate(millis, newCalendarDate(zone));
}
! public CalendarDate newCalendarDate() {
return new Date();
}
! public CalendarDate newCalendarDate(TimeZone zone) {
return new Date(zone);
}
}
###@###.### 2005-05-12 12:48:12 GMT
- duplicates
-
JDK-4949287 Windows cross build fails with IncompatibleClassChangeError
-
- Closed
-
- relates to
-
JDK-6270051 Build fails in javazic (using bootdir=1.5 and USE_ONLY_BOOTDIR_TOOLS=true)
-
- Resolved
-