[yocto] [Yocto] Building openjdk for ppc(PPC464)

Harshal Govind (hgovind) hgovind at cisco.com
Mon Feb 5 16:46:44 PST 2018


HI Raj,

I am building a yocto project for my target platform which is PowerPC architecture and machine is PPC464. While building the target image, I am facing following two issues.


1.       Building openjdk
I am building the openjdk-8 and openjre-8 for PowerPC (PPC464) with yocto-2.1.1 and getting this error:

| + echo /home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/openjre-8/102b14-r0/build/hotspot/linux_ppc_compiler2/product
| make[5]: *** No rule to make target '/home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/openjre-8/102b14-r0/jdk8u-bf0932d3e0f8/hotspot/make/linux/makefiles/.make'.  Stop.
| /home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/openjre-8/102b14-r0/jdk8u-bf0932d3e0f8/hotspot/make/linux/Makefile:297: recipe for target 'product' failed
| make[4]: *** [product] Error 2
| Makefile:230: recipe for target 'generic_build2' failed
| make[3]: *** [generic_build2] Error 2
| Makefile:177: recipe for target 'product' failed
| make[2]: *** [product] Error 2
| make[1]: *** [/home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/openjre-8/102b14-r0/build/hotspot/_hotspot.timestamp] Error 2
| HotspotWrapper.gmk:44: recipe for target '/home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/openjre-8/102b14-r0/build/hotspot/_hotspot.timestamp' failed
| /home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/openjre-8/102b14-r0/jdk8u-bf0932d3e0f8//make/Main.gmk:108: recipe for target 'hotspot-only' failed
| make: *** [hotspot-only] Error 2
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (log file is located at /home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/openjre-8/102b14-r0/temp/log.do_compile.4023)

Is this issue observed before? Is openjdk and Openjre tested for powerpc in yocto? Please let me know if you need full log file for reference


2.       Building gobject-introspection

so /home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/sysroots/ie4k-lxc/usr/lib/libpcre.so -lpthread /home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/sysroots/ie4k-lxc/usr/lib/libffi.so -pthread
| Invalid instruction
| NIP f67d93f8   LR f67c9ee8 CTR 00000001 XER 00000008 CPU#0
| MSR 00006040 HID0 00000000  HF 00006000 idx 0
| TB 00593997 2551198052011780
| GPR00 00000000f67c115c 00000000f6ffc910 0000000000000000 00000000f67dbdb0
| GPR04 0000000000000000 0000000000000000 0000000069203d3d 0000000009824250
| GPR08 0000000000000000 0000000010002260 00000000f67d7d6c 0000000000000000
| GPR12 0000000028000882 0000000000000000 00000000f67db438 0000000000000000
| GPR16 0000000000000000 00000000f67db468 00000000f6ffc978 00000000f6ffca28
| GPR20 0000000000000000 00000000f67fd310 00000000f6ffcf58 00000000f67dbdb0
| GPR24 0000000020000000 00000000f67dbdb0 0000000000000000 00000000f67fd310
| GPR28 0000000000000000 0000000000000000 00000000f67fdff0 00000000f6ffc960
| CR 24000484  [ E  G  -  -  -  G  L  G  ]             RES ffffffff
| FPR00 0000000000000000 0000000000000000 0000000000000000 0000000000000000
| FPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000
| FPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000
| FPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000
| FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
| FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
| FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
| FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
| FPSCR 00000000
| qemu: uncaught target signal 4 (Illegal instruction) - core dumped
| Illegal instruction (core dumped)
| If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help.
| (typically like this: GIR_EXTRA_LIBS_PATH="${B}/something/.libs" )
| Command '['/home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/gobject-introspection/1.46.0-r0/build/g-ir-scanner-qemuwrapper', '/home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/gobject-introspection/1.46.0-r0/build/tmp-introspectELxvx9/GLib-2.0', '--introspect-dump=/home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/gobject-introspection/1.46.0-r0/build/tmp-introspectELxvx9/functions.txt,/home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/gobject-introspection/1.46.0-r0/build/tmp-introspectELxvx9/dump.xml']' returned non-zero exit status 1
| make[2]: *** [GLib-2.0.gir] Error 1
| make[2]: Leaving directory `/home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/gobject-introspection/1.46.0-r0/build'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/gobject-introspection/1.46.0-r0/build'
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (log file is located at /home/hgovind/projects/test-sdk/ie4k-yocto-2.1/iox-sdk-core/yp/tmp/work/464-poky-linux/gobject-introspection/1.46.0-r0/temp/log.do_compile.16778)

Here Yocto tries to build a target binary in qemu environment which is failing with the error 'illigal instruction' .
Is there necessity to use the emulation(qemu) to build a target binary or can we enable the cross compilation?



Thanks,
Harshal



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20180206/6fa3a224/attachment.html>


More information about the yocto mailing list