Hello All,
I have iMX8M Mini EVK.
I did setup a Yocto toolchain for version L5.4.24_2.1.0 on my Ubuntu 18.04 LTS system.
I did successfully "bitbake imx-image-multimedia"
Then I am trying to add support for openjdk-8.
Referred "How to add openjdk to Yocto Layers "
I did "git checkout -b zeus origin/zeus"
I did modify bblayers.conf and local.conf as per the guide.
I did successfully "bitbake openjdk-8 -c fetch"
But when I tried to do "bitbake openjdk-8 -c compile", got following error:
WARNING: cacao-native-2d6f6c14daf9-r0 do_fetch: Failed to fetch URL https://bitbucket.org/cacaovm/cacao-staging/get/2d6f6c14daf9.zip, attempting MIRRORS if available
ERROR: cacao-native-2d6f6c14daf9-r0 do_fetch: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; unset _PYTHON_SYSCONFIGDATA_NAME; export PATH="/home/ubuntu/imx8mm/imx-yocto-bsp/sources/poky/scripts/native-intercept:/home/ubuntu/imx8mm/imx-yocto-bsp/sources/poky/scripts:/home/ubuntu/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/x86_64-linux/cacao-native/2d6f6c14daf9-r0/recipe-sysroot-native/usr/bin/x86_64-linux:/home/ubuntu/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/x86_64-linux/cacao-native/2d6f6c14daf9-r0/recipe-sysroot-native/usr/bin:/home/ubuntu/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/x86_64-linux/cacao-native/2d6f6c14daf9-r0/recipe-sysroot-native/usr/sbin:/home/ubuntu/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/x86_64-linux/cacao-native/2d6f6c14daf9-r0/recipe-sysroot-native/usr/bin:/home/ubuntu/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/x86_64-linux/cacao-native/2d6f6c14daf9-r0/recipe-sysroot-native/sbin:/home/ubuntu/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/x86_64-linux/cacao-native/2d6f6c14daf9-r0/recipe-sysroot-native/bin:/home/ubuntu/imx8mm/imx-yocto-bsp/sources/poky/bitbake/bin:/home/ubuntu/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/hosttools"; export HOME="/home/ubuntu"; /usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate -P /home/ubuntu/imx8mm/imx-yocto-bsp/downloads/ 'https://bitbucket.org/cacaovm/cacao-staging/get/2d6f6c14daf9.zip' --progress=dot -v failed with exit code 8, output:
--2020-08-22 15:45:47-- https://bitbucket.org/cacaovm/cacao-staging/get/2d6f6c14daf9.zip
Resolving bitbucket.org (bitbucket.org)... 18.205.93.0, 18.205.93.1, 18.205.93.2, ...
Connecting to bitbucket.org (bitbucket.org)|18.205.93.0|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2020-08-22 15:45:47 ERROR 403: Forbidden.
ERROR: cacao-native-2d6f6c14daf9-r0 do_fetch: Fetcher failure for URL: 'https://bitbucket.org/cacaovm/cacao-staging/get/2d6f6c14daf9.zip'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/ubuntu/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/x86_64-linux/cacao-native/2d6f6c14daf9-r0/temp/log.do_fetch.17100
ERROR: Task (virtual:native:/home/ubuntu/imx8mm/imx-yocto-bsp/sources/meta-java/recipes-core/cacao/cacao_2d6f6c14daf9.bb:do_fetch) failed with exit code '1'
Some extra info:
Build Configuration:
BB_VERSION = "1.44.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "ubuntu-18.04"
TARGET_SYS = "aarch64-poky-linux"
MACHINE = "imx8mmevk"
DISTRO = "fsl-imx-xwayland"
DISTRO_VERSION = "5.4-zeus"
TUNE_FEATURES = "aarch64 cortexa53 crc crypto"
TARGET_FPU = ""
meta
meta-poky = "HEAD:cba967414370e195d109353e51510bd829aa86c3"
meta-oe
meta-multimedia
meta-python = "HEAD:9e60d30669a2ad0598e9abf0cd15ee06b523986b"
meta-freescale = "HEAD:c2a0d924f6200eea1fb1d1b61e7420ea5da2f8fb"
meta-freescale-3rdparty = "HEAD:dbcc686f52c3c84db8cb86aa8973a4e373651b98"
meta-freescale-distro = "HEAD:ca27d12e4964d1336e662bcc60184bbff526c857"
meta-java = "zeus:95d56a63cdbf1ed9db99a1f02075568fd45a668b"
meta-bsp
meta-sdk
meta-ml = "HEAD:a083ffbbc3f4d1c02b1542746784d7f641a75b60"
meta-browser = "HEAD:5f365ef0f842ba4651efe88787cf9c63bc8b6cb3"
meta-rust = "HEAD:a012a1027defe28495f06ed522a7a82bdd59a610"
meta-gnome
meta-networking
meta-filesystems = "HEAD:9e60d30669a2ad0598e9abf0cd15ee06b523986b"
meta-qt5 = "HEAD:b8bcf8cb576d072f435a0177375e54424f67d1c9"
meta-python2 = "HEAD:231c3d74cfcf734c3415e86ea8dd97f73ddced9d"
From browser, when I tried to access URL: https://bitbucket.org/cacaovm/cacao-staging/ , it asked for name and password.
Is there any ca-certificate required to download?
Would you please provide some pointers to resolve this issue?
Thanks and regards,
Prashant
Is that error resolved in meta-java repo?
Would you please help me here?
Regards,
Prashant
No, no sulutions.
I have add openjdk-8 to L4.1.15 and L4.19.35 successfully.
But failed in L5.4.24_2.1.0, the root cause seems to be caused by the compiler.
Have a nice day!
B.R,
Weidong
Hi @weidong_sun ,
I tried to build openjdk-7, but it failed with same error.
But according to this link http://git.yoctoproject.org/cgit/cgit.cgi/meta-java/tree/README?h=zeus it should work for arm-64.
Would you please confirm at your end?
Regards,
Prashant
OK, thanks a lot.
I will take time to test it.
Have a nice day!
B.R,
Weidong
Hi @weidong_sun ,
It looks like that version 5.4.24 is not supporting openjdk-8.
Is it possible that, does version 4.19.35 support openjdk-8?
If yes, then what is the difference between them? What will I loose by going with 4.19.35 with reference to iMX8MMini chipset?
Would you please guide here?
Regards,
Prashant
Hello Prashant,
Yes, I haven't got a solution yet. I compiled openjdk-8 for Yocto zeus in different environments, but they were all unsuccessful.
B.R,
weidong
Hello Prashant,
Below is from README in source/meta-java, you can add them to local.conf.
...
# Switch to Debian packaging and include package-management in the image
PACKAGE_CLASSES = "package_deb"
EXTRA_IMAGE_FEATURES += "package-management"
# Possible provider: cacao-initial-native and jamvm-initial-native
PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native"
# Possible provider: cacao-native and jamvm-native
PREFERRED_PROVIDER_virtual/java-native = "jamvm-native"
# Optional since there is only one provider for now
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"
IMAGE_INSTALL_append = " openjdk-8"
...
I tested the compilation of openjdk-8 in Yocto zeus, but failed.
I have already compiled openjdk-8 in 2 versions of yocto.
see detail, please!
How to add openjdk to Yocto Layers
Have a nice day!
B.R,
weidong
Hello Weidong,
Thanks for the reply. I didn't get icedtea7 error.
But I got something different error:
| g++: error: unrecognized command line option ‘-fmacro-prefix-map=/home/ubuntu/code/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/aarch64-mx8mm-poky-linux/openjdk-8/242-r0=/usr/src/debug/openjdk-8/242-r0’
| /home/ubuntu/code/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/aarch64-mx8mm-poky-linux/openjdk-8/242-r0/jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b07/hotspot/make/linux/makefiles/adlc.make:228: recipe for target '../generated/adfiles/dfa.o' failed
| make[6]: *** [../generated/adfiles/dfa.o] Error 1
| /home/ubuntu/code/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/aarch64-mx8mm-poky-linux/openjdk-8/242-r0/jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b07/hotspot/make/linux/makefiles/top.make:91: recipe for target 'ad_stuff' failed
| make[5]: *** [ad_stuff] Error 2
| /home/ubuntu/code/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/aarch64-mx8mm-poky-linux/openjdk-8/242-r0/jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b07/hotspot/make/linux/Makefile:284: 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
| HotspotWrapper.gmk:44: recipe for target '/home/ubuntu/code/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/aarch64-mx8mm-poky-linux/openjdk-8/242-r0/build/hotspot/_hotspot.timestamp' failed
| make[1]: *** [/home/ubuntu/code/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/aarch64-mx8mm-poky-linux/openjdk-8/242-r0/build/hotspot/_hotspot.timestamp] Error 2
| /home/ubuntu/code/imx8mm/imx-yocto-bsp/imx8mmevk/tmp/work/aarch64-mx8mm-poky-linux/openjdk-8/242-r0/jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b07//make/Main.gmk:109: recipe for target 'hotspot-only' failed
| make: *** [hotspot-only] Error 2
| WARNING: exit code 1 from a shell command.
|
ERROR: Task (/home/ubuntu/code/imx8mm/imx-yocto-bsp/sources/meta-java/recipes-core/openjdk/openjdk-8_242.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1709 tasks of which 1708 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/home/ubuntu/code/imx8mm/imx-yocto-bsp/sources/meta-java/recipes-core/openjdk/openjdk-8_242.bb:do_compile
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
On the last task I got the error.
Is there a way to overcome it?
Thanks,
Prashant
Hi there,
I was also trying to build openjdk-8 within the meta-java layer for the zeus branch (on Ubuntu 16.04) and found this thread because I encountered the same issues. I was finally able to successfully build after the following steps:
export TARGET_CFLAGS export TARGET_CXXFLAGS
This resolved it for me.
Hello Prashant,
In order to compile openjdk-8 in Yocto zeus, I tested 18.04 LTS, 19.04 LTS, 20.04 LTS, but all failed. I have encountered the problem you encountered. The reason is that your 18.04 LTS gcc/g++ compiler version is too low to recognize the -fmacro-prefix-map parameter.
weidong
Hello Weidong,
I followed these commands to upgrade gcc.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install gcc-9 g++-9
But still it failed.
Is there a way to add a support for it?
Or there is no alternative?
When would it be supported, any idea?
Regards,
Prashant