Progress report: openjdk cross complication for ARMV5T arch on Ubuntu 12.04 server

zgtour zgtour at 163.com
Sun Jul 8 04:28:48 PDT 2012


Still working on '
| 148 problems (26 errors, 122 warnings)ERROR: Function failed: do_compile (see /home/franklin/oe-core/build/tmp-eglibc/work/i686-linux/xerces-j-native-2.9.1-r0/temp/log.do_compile.24596 for further information)
NOTE: package xerces-j-native-2.9.1-r0: task do_compile: Failed
ERROR: Task 1155 (virtual:native:/home/franklin/oe-core/meta-java/recipes-core/xerces-j/xerces-j_2.9.1.bb, do_compile) failed with exit code '1''


It seems the failure is caused by the conflict between glibj.zip and jaxp-1.3.jar. Interfaces, such as HTMLSelectElement in the former contains more functions than the latter.
I've compiled jaxp-1.3.jar seperated, and found there exists several jaxp-1.3.jar:
-rw-r--r-- 1 franklin franklin 6847 Jul  8 16:52 ./tmp-eglibc/work/i686-linux/jaxp1.3-native-1.3.04-r0/image/home/franklin/oe-core/build/tmp-eglibc/sysroots/i686-linux/usr/share/java/jaxp-1.3.jar
-rw-rw-r-- 1 franklin franklin 6847 Jul  8 16:52 ./tmp-eglibc/work/i686-linux/jaxp1.3-native-1.3.04-r0/jaxp1.3-1.3.04/jaxp-1.3.jar
-rw-r--r-- 1 franklin franklin 6847 Jul  8 16:52 ./tmp-eglibc/work/i686-linux/jaxp1.3-native-1.3.04-r0/sysroot-destdir/home/franklin/oe-core/build/tmp-eglibc/sysroots/i686-linux/usr/share/java/jaxp-1.3.jar
-rw-r--r-- 1 franklin franklin 289239 Jul  8 18:12 ./tmp-eglibc/work/armv5te-oe-linux-gnueabi/jaxp1.3-1.3.04-r0/image/usr/share/java/jaxp-1.3.jar
-rw-r--r-- 1 franklin franklin 289239 Jul  8 18:12 ./tmp-eglibc/work/armv5te-oe-linux-gnueabi/jaxp1.3-1.3.04-r0/jaxp1.3-1.3.04/jaxp-1.3.jar
-rw-r--r-- 2 franklin franklin 289239 Jul  8 18:12 ./tmp-eglibc/work/armv5te-oe-linux-gnueabi/jaxp1.3-1.3.04-r0/package/usr/share/java/jaxp-1.3.jar
-rw-r--r-- 2 franklin franklin 289239 Jul  8 18:12 ./tmp-eglibc/work/armv5te-oe-linux-gnueabi/jaxp1.3-1.3.04-r0/packages-split/libjaxp1.3-java/usr/share/java/jaxp-1.3.jar
-rw-r--r-- 1 franklin franklin 289239 Jul  8 18:12 ./tmp-eglibc/work/armv5te-oe-linux-gnueabi/jaxp1.3-1.3.04-r0/sysroot-destdir/usr/share/java/jaxp-1.3.jar
-rw-r--r-- 1 franklin franklin 6847 Jul  8 16:52 ./tmp-eglibc/sysroots/i686-linux/usr/share/java/jaxp-1.3.jar
-rw-r--r-- 1 franklin franklin 289239 Jul  8 18:12 ./tmp-eglibc/sysroots/qemuarm/usr/share/java/jaxp-1.3.jar


I will try again after copying the 289239's version over 6847's version.


Any comments are welcome.




-------- Forwarding messages --------
From: zgtour <zgtour at 163.com>
Date: 2012-07-08 11:18:57
To: distro-pkg-dev at openjdk.java.net
Subject: Progress report: openjdk cross complication for ARMV5T arch on Ubuntu 12.04 server


1. 'http://mirrors.ibiblio.org/pub/mirrors/eclipse/eclipse/downloads/drops/R-3.6.2-201102101200/ecjsrc-3.6.2.zip' is no more available, change to downloading from other sites, such as: 'http://rpm.scl.rs/eclipse/eclipse/downloads/drops/R-3.6.2-201102101200/ecjsrc-3.6.2.zip'
2. syntax error in 'oe-core/build/tmp-eglibc/sysroots/i686-linux/usr/bin/javac', modify the line 8 from "== true" to "= true"


Now the compilation is stopped at "ERROR: Task 1155 (virtual:native:/home/franklin/oe-core/meta-java/recipes-core/xerces-j/xerces-j_2.9.1.bb, do_compile) failed with exit code '1'", the errors: 
'
.......
| 139. ERROR in src/org/apache/html/dom/HTMLSelectElementImpl.java (at line 33)
| public class HTMLSelectElementImpl
|             ^^^^^^^^^^^^^^^^^^^^^
| The type HTMLSelectElementImpl must implement the inherited abstract method HTMLSelectElement.setLength(int)
| ----------
| 140. ERROR in src/org/apache/html/dom/HTMLSelectElementImpl.java (at line 92)
| public HTMLCollection getOptions()
|       ^^^^^^^^^^^^^^
| The return type is incompatible with HTMLSelectElement.getOptions()
| ----------
| ----------
| 141. ERROR in src/org/apache/html/dom/HTMLInputElementImpl.java (at line 28)
| public class HTMLInputElementImpl
|             ^^^^^^^^^^^^^^^^^^^^
| The type HTMLInputElementImpl must implement the inherited abstract method HTMLInputElement.setSize(int)
| ----------
| 142. ERROR in src/org/apache/html/dom/HTMLInputElementImpl.java (at line 28)
| public class HTMLInputElementImpl
|             ^^^^^^^^^^^^^^^^^^^^
| The type HTMLInputElementImpl must implement the inherited abstract method HTMLInputElement.setType(String)
| ----------
| 143. ERROR in src/org/apache/html/dom/HTMLInputElementImpl.java (at line 180)
| public String getSize()
|       ^^^^^^
| The return type is incompatible with HTMLInputElement.getSize()
| ----------
| ----------
| 144. ERROR in src/org/apache/html/dom/HTMLBaseFontElementImpl.java (at line 28)
| public class HTMLBaseFontElementImpl
|             ^^^^^^^^^^^^^^^^^^^^^^^
| The type HTMLBaseFontElementImpl must implement the inherited abstract method HTMLBaseFontElement.setSize(int)
| ----------
| 145. ERROR in src/org/apache/html/dom/HTMLBaseFontElementImpl.java (at line 59)
| public String getSize()
|       ^^^^^^
| The return type is incompatible with HTMLBaseFontElement.getSize()
| ----------
.......
'



At 2012-07-07 16:30:57,zgtour <zgtour at 163.com> wrote:

Hi all:


It seems solved. 3 modifications:
1. "mv oe-core/meta/recipes-extended/lighttpd/lighttpd_1.4.31.bb  oe-core/meta/recipes-extended/lighttpd/lighttpd_1.4.30.bb", to make the version is identical with 'oe-core/meta-openembedded/meta-oe/recipes-extended/lighttpd/lighttpd_1.4.30.bbappend'.
2. modify logic of 'check_create_long_filename'  in 'oe-core/meta/classes/sanity.bbclass', since the filesystem is ext4, and the maximum length of filename is 256.
3. Un-modify oe-core/build/conf/bblayers.conf, leave the 'LCONF_VERSION = "5"' as initial value. It may not be the key.


Now it's compiling.


Best regards,


At 2012-07-05 00:47:06,"Xerxes Rånby" <xerxes at zafena.se> wrote:
>2012-07-04 18:01, zgtour skrev:
>> I've gone through the posts on http://icedtea.classpath.org/wiki/Main_Page and https://evolvis.org/plugins/mediawiki/wiki/jalimo/index.php/CrossCompilingOpenJDK. Both of these posts are not detailed enough to a newbie of Cross Complication.
>> 
>Which step failed for you when you followed the:
>http://icedtea.classpath.org/wiki/CrossCompileOECoreTutorial ?
>The OpenJDK 6 and 7 source-code is not designed to be easily cross compilable so unfortunately I cant give you any better tutorial.
>This OE-Core cross compile build recipes is the most tested way to cross compile both OpenJDK 6/7 and all software that OpenJDK itself depends on to create a complete system to run on armv5 hardware.
>
>If you are interested in cross compiling OpenJDK directly against a custom armv5 linux root filesystem then you may try use the latest OpenJDK 8 source.
>OpenJDK 8 have recently got a new configure based build system that is more cross compile friendly.
>Scroll down to section 7.3. Cross-compilation in this guide: http://openjdk.java.net/projects/build-infra/guide.html
>
>Cheers
>Xerxes





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120708/d98d93f4/attachment.html 


More information about the distro-pkg-dev mailing list