Git Product home page Git Product logo

Comments (20)

bergmanu avatar bergmanu commented on August 20, 2024 1

I can confirm that
./kas-docker --isar build kas-iot2050-example.yml
works on my machine:
Ubuntu: 18.04.4
Kernel: 5.3.0-51
docker: 19.03.8

My VM has 4GB of RAM and two cores.

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024 1

I suppose we can close the issue then.

FWIW, I've scheduled some safety measure for kas-docker (siemens/kas@385e42f) to detect and reject execution as root so that at least one source of trouble will be eliminated in the future.

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024

Please also provide the console log where kas-docker was running. And probably also build/tmp/work/isar-arm64/mraa/2.0-r0/temp/log.do_install_builddeps because this looks like something was missed when installing the build deps. I find that javac binary here.

from meta-iot2050.

davimaf avatar davimaf commented on August 20, 2024

Please also provide the console log where kas-docker was running. And probably also build/tmp/work/isar-arm64/mraa/2.0-r0/temp/log.do_install_builddeps because this looks like something was missed when installing the build deps. I find that javac binary here.

Hi jan-kiszka,
Attached there are the kas docker console output and the specific builddeps log files.
thank you.

kas-docker.txt
log.do_install_builddeps.txt

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024

No luck in understanding or even reproducing yet. I just ran

./kas-docker --iser build kas-iot2050-example.yml --target mraa

and that worked.

But my Ubuntu VM is a bit older (18.04.2), and so is the docker.io (18.09.7). Will have to refresh that setup, but that may take some days.

Last thing to compare upfront: I was giving 4G RAM to the VM (and 8 cores, but that should not make the difference). How much does yours have?

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024

We likely need a reference description for the setup of such a system.

Still, I'd like to understand eventually where this issue comes from. Apparently, it was not only seen once.

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024

Another factor to specify, besides recommended RAM size, is free storage size. Both values should also go into our README.

from meta-iot2050.

bergmanu avatar bergmanu commented on August 20, 2024

I'll try to setup a VM from scratch with Ubuntu 20.04 to see what steps are needed to setup such a system.
For now I was using an already prepared VM for docker.

from meta-iot2050.

davimaf avatar davimaf commented on August 20, 2024

The machine with problems was:
System:
Win10 + Virtual Machine VirtualBox 6.0.8 r130520
VM:
Kernel: 5.3.0-51-generic x86_64 bits: 64
Desktop: Gnome 3.28.4 Distro: Ubuntu 18.04.4 LTS
CPU(s): 4 core of Intel Xeon IPC- 8GB RAM
Docker version 19.03.6
The machine is the same used for building IOT2040 images.

I've tried with another VM on VMWare on my Notebook:
Host: ubuntu Kernel: 4.15.0-47-generic x86_64
Distro: Ubuntu 16.04 xenial
CPU(s): 2 core of Intel Core i7-6820EQs - 8GB RAM
Docker version 18.09.6

And its working. I'm able to generate example image correctly.

from meta-iot2050.

tammerOfTheGods avatar tammerOfTheGods commented on August 20, 2024

I ran into this same issue (/usr/lib/jvm/default-java/bin/javac: not found). It was corrected by building on a debian 10 VB as opposed to Ubuntu 18 or by upgrading the MRAA patch to use python 3 exclusively (remove references to python 2.6).

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024

Do you mean you dropped libpython-dev from DEBIAN_BUILD_DEPENDS in recipes-app/mraa/mraa.bb? Or what exactly did you do? How did you find out what was causing the problem for you?

from meta-iot2050.

tammerOfTheGods avatar tammerOfTheGods commented on August 20, 2024

Yes... initially I tried pulling a more recent version of mraa but the problem remained and was during the cmake. IIRC I did the cmake locally to resolve the build problems. This diff is based on a different version of mraa.bb but indicates the different DEBIAN_BUILD_DEPENDS (also turned off the cmake tests). Didn't get a change to test it as we determined that it would build on debian 10.

diff ./recipes-app/mraa/mraa.bb /localhome/tbrown/mraa-patch/ipc-edition/recipes-extended/mraa/mraa.bb

17,20c17,23
<             file://0002-feat-iot2050-add-iot2050-platform-support.patch \
<             file://0003-feat-iot2050-add-some-example-code-for-testing.patch \
<             file://rules"
< SRC_URI[sha256sum] = "15783b4c4431a36d44ba95daf134318a04ff44a8190ba3f19abbda89ede35a26"
---
>             file://0002-feat-iot2050-add-iot2050-platform-support.patch  \
>             file://0003-feat-iot2050-add-some-example-code-for-testing.patch "
> 
> #
> #           file://rules"
> #
> #SRC_URI[sha256sum] = "15783b4c4431a36d44ba95daf134318a04ff44a8190ba3f19abbda89ede35a26"
22c25,26
< MRAA_REV = "967585c9ea0e1a8818d2172d2395d8502f6180a2"
---
> #MRAA_REV = "967585c9ea0e1a8818d2172d2395d8502f6180a2"
> MRAA_REV = "e15ce6fbc76148ba8835adc92196b0d0a3f245e7"
30,39d33
< DEBIAN_BUILD_DEPENDS = " \
<     cmake, \
<     swig3.0, \
<     libpython-dev, \
<     libpython3-dev, \
<     nodejs, \
<     libnode-dev, \
<     libjson-c-dev, \
<     default-jdk"
< 
40a35
> DEB_BUILD_GNU_TYPE = " aarch64-linux-gnu "
45a41,43
>     sed -i -e 's/Build-Depends: /Build-Depends: cmake, swig3.0, libpython3-dev, nodejs, libnode-dev, libjson-c-dev, openjdk-11-jdk, /g' ${S}/debian/control
>     sed -i -e 's/option (BUILDTESTS "Override the addition of tests" ON)/option (BUILDTESTS "Override the addition of tests" OFF)/g' ${S}/CMakeLists.txt

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024

It's a bit tricky to find the root change here. My feeling is that one of your chances disabled the java binding support and, thus, no longer needs the javac during build. That would obviously also avoid the issue. Or can you rule that out?

from meta-iot2050.

tammerOfTheGods avatar tammerOfTheGods commented on August 20, 2024

javac is required for the cmake. I think that the default javac is not set up correctly with libpython-dev, libpython3-dev and default-jdk on some platforms. Removing libpython-dev and using the specific openjdk-11-jdk (as opposed to default-jdk) appears to set up javac in a more consistent manner across platforms.

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024

cmake (with the mraa-provided setup) probes for java, it does not require it. You can perfectly build mraa without any java installed. However, our recipe enforces it (-DBUILDSWIGJAVA=ON).

from meta-iot2050.

applea9 avatar applea9 commented on August 20, 2024

I also ran into the same issue, my machine is
Ubuntu: 16.04
Kernel: 4.15.0-112
docker: 18.09.7

Actually I have compiled it successfully before on same machine, but when I cleaned the cache and try to rebuild, this issue occured.

from meta-iot2050.

applea9 avatar applea9 commented on August 20, 2024

I changed -DBUILDSWIGJAVA=ON to -DBUILDSWIGJAVA=OFF, the issue is solved.

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024

I think I found the solution:

diff --git a/recipes-app/mraa/mraa.bb b/recipes-app/mraa/mraa.bb
index 0c2f39c..03921dd 100644
--- a/recipes-app/mraa/mraa.bb
+++ b/recipes-app/mraa/mraa.bb
@@ -35,7 +35,7 @@ DEBIAN_BUILD_DEPENDS = " \
     nodejs, \
     libnode-dev, \
     libjson-c-dev, \
-    default-jdk"
+    default-jdk:native"
 
 DEBIAN_DEPENDS = "python3, nodejs "
 

Could you retry with that change and java enabled? Please do a clean rebuild.

from meta-iot2050.

applea9 avatar applea9 commented on August 20, 2024

With configuration of default-jdk:native and -DBUILDSWIGJAVA=ON, the image is successfully compiled.

What is difference between default-jdk and default-jdk:native?

from meta-iot2050.

jan-kiszka avatar jan-kiszka commented on August 20, 2024

From the commit log of the upcoming fix:

Otherwise, also the arm64 jdk is installed, and
/usr/lib/jvm/default-java is set up to point to it. That will make the
build reference the arm64 javac which may work on some systems
inheriting binfmt-misc settings from the host, but not on all.

from meta-iot2050.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.