1 2 Previous Next 29 Replies Latest reply on Jul 13, 2017 1:25 AM by FerryT

    Impossible to build Edison image 20160606

    francknos

      Hi,

       

      I have read many thread about how build an image of intel edison, but I have always errors. Why we can't compile WHITOUT errors sources download directly from intel web page ?

       

      I have read the BSP doc...

       

      Page 7 on intel edison board support package

       

      I have install all prerequisite package

       

      source poky/oe-init-build-env => OK

       

      bitbake edison-image => NOT OK

       

      several error like this thread: Building 20160606 from source

       

      I have tried to replace the "poky/meta-java/recipes-core/icedtea" folder due to error of checksum but it doesn't work

       

      I have an other problem with openjdk-8-jre

       

      Where i can find a source package which compile or some step to have a buildable project ?

       

      Thanks for reply.

       

      My Promt say:

      ERROR: Fetcher failure for URL: 'http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/archive/f89009ada191.tar.bz2;name=openjdk;unpack=false'. Checksum mismatch!

      File: '/home/franck/Bureau/edison-20160606/build_edison/downloads/f89009ada191.tar.bz2' has md5 checksum 2bc941373ca4b033c9a25f972eec7858 when c26bbb33addfaeb14d28a1329b4b5a3e was expected

      File: '/home/franck/Bureau/edison-20160606/build_edison/downloads/f89009ada191.tar.bz2' has sha256 checksum 5efd8e66f18fcbf45527bcc74aa3e6ed11f66bc793c88e3841925c4acb4827ba when 54a0ef02b56b265b4122324e08a33c42ececbf2a300ada260611e7b6ccdba96d was expected

      If this change is expected (e.g. you have upgraded to a new version without updating the checksums) then you can use these lines within the recipe:

      SRC_URI[openjdk.md5sum] = "2bc941373ca4b033c9a25f972eec7858"

      SRC_URI[openjdk.sha256sum] = "5efd8e66f18fcbf45527bcc74aa3e6ed11f66bc793c88e3841925c4acb4827ba"

      Otherwise you should retry the download and/or check with upstream to determine if the file has become corrupted or otherwise unexpectedly modified.

       

       

      ERROR: Function failed: Fetcher failure for URL: 'http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/archive/f89009ada191.tar.bz2;name=openjdk;unpack=false'. Unable to fetch URL from any source.

      ERROR: Logfile of failure stored in: /home/franck/Bureau/edison-20160606/build_edison/tmp/work/x86_64-linux/icedtea7-native/2.1.3-r1.0/temp/log.do_fetch.13837

      ERROR: Task 2976 (/home/franck/Bureau/edison-20160606/build_edison/../poky/meta-java/recipes-core/icedtea/icedtea7-native_2.1.3.bb, do_fetch) failed with exit code '1'

      NOTE: Tasks Summary: Attempted 1479 tasks of which 1390 didn't need to be rerun and 1 failed.

        • 1. Re: Impossible to build Edison image 20160606
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hi Francknos,

          Thank you for contacting us.

          First, we want to apologize for the problems that this might be causing you, and I will try my best to help you.

          Yes, you are right you can't build the image using the sources that are downloaded, and it is because the repositories are constantly changing. I was able to build image with the following steps, consider that I built it using Ubuntu 14.04 (kernel version 4.4.0-38-generic)

          1. Make sure that you have Git 1.7.8 or greater, tar 1.24 or greater, Python 2.7.3 or greater excluding Python 3.x, which is not supported.

          2. Install all the dependencies with the command:

          sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
               build-essential chrpath socat libsdl1.2-dev xterm


          3. Download and unzip iot-devkit-yp-poky-edison-20160606.zip (http://iotdk.intel.com/src/3.5/edison/iot-devkit-yp-poky-edison-20160606.zip).

          4. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-intel-edison/meta-intel-edison-distro/recipes-core/images/edison-image.bb  and comment or delete the following lines:

          IMAGE_INSTALL += "iotkit-comm-js"
          IMAGE_INSTALL += "iotkit-comm-c-dev"


          5. Go to http://git.yoctoproject.org/cgit/cgit.cgi/meta-java/commit/recipes-core/icedtea/openjdk-7-03b147/sigsegv.patchid=97f81e65843dd1e01c55cae528fd766dd13a265d, download the patch and unzip it.

          7. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-java/recipes-core/ant and delete the file called ant-native_1.8.1.bb, replace it with the file with the same name found in <path_to_downloaded_and_unzipped_patch>/meta-java-master/recipes-core/ant/.

          8. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-java/recipes-core/icedtea/ and delete the file called icedtea7-native_2.1.3.bb, replace it with the file with the same name found in <path_to_downloaded_and_unzipped_patch>/meta-java-master/recipes-core/icedtea/.

          9. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-java/recipes-core/icedtea/openjdk-7-03b147/ and delete the file fix-checksums.patch, replace it with the file with the same name found in <path_to_downloaded_and_unzipped_patch>/meta-java-master/recipes-core/icedtea/openjdk-7-03b147/.

          10. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-intel-iot-devkit/recipes-connectivity/bacnet-stack and open the file called bacnet-stack_0.8.2.bb. Look for the line:

          SRC_URI = "http://sourceforge.net/projects/bacnet/files/bacnet-stack/bacnet-stack-${PV}/bacnet-stack-${PV}.tgz \

          And change it for:

          SRC_URI = "https://svwh.dl.sourceforge.net/project/bacnet/bacnet-stack/bacnet-stack-0.8.2/bacnet-stack-0.8.2.tgz \

          11. Then follow the usual steps:

          cd iot-devkit-yp-poky-edison-20160606/poky/
          source oe-init-build-env ../build_edison/
          bitbake edison-image u-boot
          ../poky/meta-intel-edison/utils/flash/postBuild.sh .
          zip -r toFlash.zip toFlash


          I hope you find this useful, and let us know if it works for you.

          Have a nice day.

          Regards,
          Leonardo R.

          • 2. Re: Impossible to build Edison image 20160606
            FerryT

            francknos This has been a frustration for many of us. In the official repo's related to Edison there seems not to much going on. Fortunately, it is all open source. Kernel development continues, U-boot development continues, Yocto development continues. So, I decided to fork meta-intel-edison + whatever else needed fixing. It is more or less based on the Edison 2.1 image.

             

            You can find my new images here: GitHub - htot/meta-intel-edison: Here is the meta-intel-edison that builds, tries to stay up to date and provides a PREE…

             

            There are four branches that generate 4 different images:

            • dizzy-uptodate tracks origin/dizzy with 3.10.98 kernel. This branch pulls https://github.com/htot/meta-intel-iot-middleware.git branch dizzy-uptodate with fixes for paho-mqtt relocated and iotkit-comm-js no longer supported.
            • dizzy-latest tracks origin/master as much as possible with 3.10.98 kernel. This branch pulls https://github.com/htot/meta-intel-iot-middleware.git branch dizzy-latest with fixes for paho-mqtt relocated and iotkit-comm-js no longer supported + java support removed. This gives mraa 0.9.0, upm 0.4.1 and mosquitto 1.4.
            • dizzy-rt same as dizzy-latest but with real time kernel. Switches the kernel to the PREEMPT_RT 3.10.17-rt kernel
            • morty experimental branch based on Yocto Morty, vanilla kernel 4.11

             

            If you select one of these branches on github, you will see the contents of the README.md change to the appropriate info for that branch. For morty build instructions can be found on the wiki pages.

             

            To me the most exciting are dizzy-rt and morty. But, if you are just looking to build a new image and can't because the official 3.5 image needs manual modifications try out dizzy-uptodate or dizzy-latest. To get the dizzy* variants to the 3.5 state (and building), more layers need to be added. If somebody needs that done, please fork me and send  a pull request with the changes needed.

             

            Of course, adding layers to morty should be less painfull as these can be directly taken from the openembedded layers here: http://layers.openembedded.org/layerindex/branch/morty/layers/

             

            Help on morty work is highly appreciated, especially in testing and adding back features that I removed (current list of packages installed https://raw.githubusercontent.com/wiki/htot/meta-intel-edison/edison-image-edison.manifest).

             

            Also, I believe many would be happy to see mraa ported to the vanilla (currently 4.11) kernel, so their mraa based applications will work again. Noteworthy things that need to be changed: serial port moved from ttyMFD2 to linux standard ttyS2, pincontrol and pinmux changed to linux standard. The mraa abstraction that takes care is this and needs porting is : mraa/intel_edison_fab_c.c at master · intel-iot-devkit/mraa · GitHub

             

            Ferry

            1 of 1 people found this helpful
            • 3. Re: Impossible to build Edison image 20160606
              francknos

              Thanks for yours reply FerryT .

              I'll try this tomorrow.

               

              what is real time branch ?

               

              I'll use edison to manage application will communicate in wifi to transfer throu wifi big image about 10 000 * 800 pixel in real time the construction of image is made by a coder an takes about 10 seconds to have width of 10 000.

              My code works well on PC, I hope that edison will be strong to do this.

              I use Qt framework to do that so I need to add meta-qt5 to image normally this meta complu without error.

               

              What branch you suggest me to do that ?

              Thanks again for your reply.

              • 4. Re: Impossible to build Edison image 20160606
                francknos

                Hi,

                 

                I have some trouble when I use make setup commande, impossible to clone 'poky-mirror.git'

                 

                ======================================================================================

                franck@franck-VirtualBox:~/Bureau/edison-20160606/poky$ make setupSetup buildenv for SDK host linux64

                ./meta-intel-edison/setup.sh  --dl_dir=/home/franck/Bureau/edison-20160606/poky/bbcache/downloads --sstate_dir=/home/franck/Bureau/edison-20160606/poky/bbcache/sstate-cache --build_dir=/home/franck/Bureau/edison-20160606/poky/out/linux64 --build_name=custom_build_franck@20170612110854 --sdk_host=linux64

                Clonage dans le dépôt nu 'poky-mirror.git'

                fatal: unable to connect to git.yoctoproject.org:

                git.yoctoproject.org[0: 140.211.169.56]: errno=Connexion terminée par expiration du délai d'attente

                ======================================================================================

                 

                make: *** [setup] Erreur 128

                 

                Delay timeout I don't know why, git is install on my liunx (i use Virtual machine linux is

                franck@franck-VirtualBox:~$ cat /etc/lsb-release

                DISTRIB_ID=Ubuntu

                DISTRIB_RELEASE=14.04

                DISTRIB_CODENAME=trusty

                DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"

                 

                 

                But with bitbake it's start ...?

                • 5. Re: Impossible to build Edison image 20160606
                  francknos

                  Hi ,

                   

                  I have an other problem with swig 3.0.6 .bb

                  in meta-intel-iot-middleware

                   

                  Error in do_install

                   

                  in my poky/meta-intel-iot-middleware/recipes-devtools/swig/swig_3.0.6.bb.

                  i have :

                   

                  require ${BPN}.inc

                   

                   

                  SRC_URI += " file://0001-configure-use-pkg-config-for-pcre-detection.patch"

                   

                   

                  SRC_URI[md5sum] = "df43ae271642bcfa61c1e59f970f9963"

                  SRC_URI[sha256sum] = "c67f63ea11956106e4cda66416d5020330dc4ce2ee45057d39a9494ce33eca05"

                  In log file i have

                  Log data follows:

                  | DEBUG: Executing shell function do_install

                  | NOTE: make -j 12 DESTDIR=/home/franck/Bureau/edison-20160606/build_edison/tmp/work/x86_64-linux/swig-native/3.0.6-r0/image install

                  | make: *** No rule to make target `install'.  Stop.

                  | ERROR: oe_runmake failed

                  | WARNING: exit code 1 from a shell command.

                  | ERROR: Function failed: do_install (log file is located at /home/franck/Bureau/edison-20160606/build_edison/tmp/work/x86_64-linux/swig-native/3.0.6-r0/temp/log.do_install.717)

                  No rule to make target install i don't know why.?

                   

                  Can you help me ?

                   

                  I think it's the last error.

                  • 6. Re: Impossible to build Edison image 20160606
                    Intel Corporation
                    This message was posted on behalf of Intel Corporation

                    Hi Francknos,

                    The steps that I have provided you are the steps to build the Edison's standard image, if you need help following them let us know and we would be glad to help you.

                    On the other hand, these images are an excellent contribution from FerryT who is a valuable member of this community that has been helping with his projects, nevertheless if you use these images, we won’t be able to assist you because they are beyond of our support, but hopefully FerryT will be able to help you here.

                    Have a nice day.

                    Regards,
                    Leonardo R.

                    • 7. Re: Impossible to build Edison image 20160606
                      francknos

                      I a reply for your step here :

                       

                      Hi ,

                       

                      I have an other problem with swig 3.0.6 .bb

                      in meta-intel-iot-middleware

                       

                      Error in do_install

                       

                      in my poky/meta-intel-iot-middleware/recipes-devtools/swig/swig_3.0.6.bb.

                      i have :

                      require ${BPN}.inc

                       

                       

                      SRC_URI += " file://0001-configure-use-pkg-config-for-pcre-detection.patch"

                       

                       

                      SRC_URI[md5sum] = "df43ae271642bcfa61c1e59f970f9963"

                      SRC_URI[sha256sum] = "c67f63ea11956106e4cda66416d5020330dc4ce2ee45057d39a9494ce33eca05"

                      In log file i have

                      Log data follows:

                      | DEBUG: Executing shell function do_install

                      | NOTE: make -j 12 DESTDIR=/home/franck/Bureau/edison-20160606/build_edison/tmp/work/x86_64-linux/swig-native/3.0.6-r0/image install

                      | make: *** No rule to make target `install'.  Stop.

                      | ERROR: oe_runmake failed

                      | WARNING: exit code 1 from a shell command.

                      | ERROR: Function failed: do_install (log file is located at /home/franck/Bureau/edison-20160606/build_edison/tmp/work/x86_64-linux/swig-native/3.0.6-r0/temp/log.do_install.717)

                      No rule to make target install i don't know why?

                       

                      Can you help me ?

                       

                      I think it's the last error. (i hope)

                      • 8. Re: Impossible to build Edison image 20160606
                        FerryT

                        francknos The real time branch is based on the Intel Edison 2.1 image but with real time patch applied on the 3.10.14 kernel and defconfig set to match. The effect of the patch is to reduce jitter (variable time delays that can happen everywhere in your code or in the kernel) to < 1ms. You pay for this with reduced throughput, f.i. the wifi speed will be cut in half.

                         

                        Qt: For the morty branch you should be able to use https://layers.openembedded.org/layerindex/branch/morty/layers/ , for dizzy if it works with the original Intel image, it should work now too.

                        • 9. Re: Impossible to build Edison image 20160606
                          francknos

                          Sorry for the last message :

                           

                          ======================================================================================

                          franck@franck-VirtualBox:~/Bureau/edison-20160606/poky$ make setupSetup buildenv for SDK host linux64

                          ./meta-intel-edison/setup.sh  --dl_dir=/home/franck/Bureau/edison-20160606/poky/bbcache/downloads --sstate_dir=/home/franck/Bureau/edison-20160606/poky/bbcache/sstate-cache --build_dir=/home/franck/Bureau/edison-20160606/poky/out/linux64 --build_name=custom_build_franck@20170612110854 --sdk_host=linux64

                          Clonage dans le dépôt nu 'poky-mirror.git'

                          fatal: unable to connect to git.yoctoproject.org:

                          git.yoctoproject.org[0: 140.211.169.56]: errno=Connexion terminée par expiration du délai d'attente

                          ======================================================================================

                           

                          There was a problem with a firewall.

                          Now it's compiling...

                           

                          An other thank you for https://layers.openembedded.org/layerindex/branch/morty/layers/  ihere is a meta-qt more complet than mine.

                           

                          I'm looking forward to testing this !

                          • 10. Re: Impossible to build Edison image 20160606
                            francknos

                            I have another question about your project FerryT

                             

                            If I want include meta-qt5 on my image where do I put the instruction lines?

                             

                            In offical project I need to put in "edison/build_edison/conf/auto.conf"

                            IMAGE_INSTALL_append = " qtbase qtbase-fonts \

                                qtbase-plugins \

                                qtbase-tools \

                                qtimageformats-plugins"

                             

                            And put this in  "~/edison/build_edison/conf/bblayers.conf"

                            ${TOPDIR}/../poky/meta-qt5 \

                             

                            On your project I try to put "/home/franck/Bureau/workspace_edison/meta-qt5 \" in "workspace_edison/out/linux64/build/conf/bblayers.conf"

                             

                            but if i do "make setup" the file bblayers.conf is re-write and meta-qt5 disappears.

                             

                            I'm looking for add and remove some packages.

                             

                            Thanks

                            • 11. Re: Impossible to build Edison image 20160606
                              FerryT

                              That is correct, I followed the same structure as the Intel image v2.1. I think that was changed in 3.5.

                               

                              So, you are correct, when running setup the bblayers.conf is reset to original. But normally you would not run setup to often, it also fetches changes to your locally mirrored git repositories. But if you like to stay current with my repository, then the best place to do the edit is in the setup.sh script.

                               

                              I have never changed anything in auto.conf, what does that?

                               

                              Anyway, the layers best go in setup.sh.

                              Packages go in meta-intel-edison/meta-intel-edison-distro/recipes-core/images/edison-image.bb

                               

                              Or you create your own layer and append edison-image.bb to add specific for your project.

                              meta-intel-edison/meta-intel-edison-distro/recipes-core/images/edison-image.bb

                              • 12. Re: Impossible to build Edison image 20160606
                                francknos

                                Hi, thanks for your reply,

                                 

                                I have build your image successfully.

                                 

                                Now I try to add Qt on edison image.

                                 

                                I choosed to add it in setup.sh like this :

                                 

                                BBLAYERS ?= " \\

                                  $poky_dir/meta \\

                                  $poky_dir/meta-yocto \\

                                  $poky_dir/meta-yocto-bsp \\

                                  $top_repo_dir/meta-intel-edison/meta-intel-edison-bsp \\

                                  $top_repo_dir/meta-intel-edison/meta-intel-edison-distro \\

                                  $poky_dir/meta-intel-iot-middleware \\

                                  $top_repo_dir/meta-intel-edison/meta-intel-arduino \\

                                $top_repo_dir/meta-qt5 \\

                                  $top_repo_dir/meta-arduino \\

                                  $extra_layers

                                  "

                                 

                                ========

                                ...

                                ========

                                 

                                cd ${top_repo_dir}

                                  echo "Cloning meta-arduino layer to ${top_repo_dir} directory from GitHub.com/01org/meta-arduino"

                                  rm -rf meta-arduino || true

                                  git clone -b 1.6.x https://github.com/01org/meta-arduino.git

                                  cd meta-arduino

                                  git checkout 1.6.x

                                 

                                 

                                 

                                #clone meta-qt5

                                  cd ${top_repo_dir}

                                  echo "Cloning meta-qt5 layer to ${top_repo_dir} directory from github.com/meta-qt5/meta-qt5/"

                                  rm -rf meta-qt5 || true

                                  git clone -b dizzy https://github.com/meta-qt5/meta-qt5.git

                                  cd meta-qt5

                                  git checkout dizzy

                                I have take the template of arduino to clone qt.

                                 

                                The "make setup" works well and clone meta-qt5 if not exist on my workspace.

                                 

                                But I think when I do "make image" that qt is not include in the edison image.

                                 

                                I think I need to put some line in "edison-image.bb"

                                 

                                but I don't know exactlly which line .

                                 

                                I tried to put :

                                IMAGE_INSTALL = " qtbase qtbase-fonts \

                                    qtbase-plugins \

                                    qtbase-tools \

                                    qtimageformats-plugins"

                                In edison-image.bb, I found this on web but I don't know what it means. This line will install all Qt Framework?

                                 

                                And if I do "make image" with these lines I have errors like :

                                 

                                ERROR: Function failed: do_configure (log file is located at /home/franck/Bureau/workspace_edison/out/linux64/build/tmp/work/core2-32-poky-linux/qtbase/5.3.2-r0/temp/log.do_configure.12191)

                                ERROR: Logfile of failure stored in: /home/franck/Bureau/workspace_edison/out/linux64/build/tmp/work/core2-32-poky-linux/qtbase/5.3.2-r0/temp/log.do_configure.12191

                                ...

                                fatal error: X11/Xlib.h: No such file or directory

                                |  #include <X11/Xlib.h>

                                |                       ^

                                | compilation terminated.

                                | make: *** [xlib.o] Error 1

                                | XLib disabled.

                                | EGL auto-detection... ()

                                | i586-poky-linux-g++  -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mstackrealign -fno-omit-frame-pointer --sysroot=/home/franck/Bureau/workspace_edison/out/linux64/build/tmp/sysroots/edison -c -pipe  -O2 -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -O2 -Wall -W -fPIE  -I../../../../qtbase-opensource-src-5.3.2/mkspecs/linux-oe-g++ -I../../../../qtbase-opensource-src-5.3.2/config.tests/qpa/egl -I. -o egl.o ../../../../qtbase-opensource-src-5.3.2/config.tests/qpa/egl/egl.cpp

                                | ../../../../qtbase-opensource-src-5.3.2/config.tests/qpa/egl/egl.cpp:42:21: fatal error: EGL/egl.h: No such file or directory

                                |  #include <EGL/egl.h>

                                |                      ^

                                | compilation terminated.

                                | make: *** [egl.o] Error 1

                                | EGL disabled.

                                | Warning: Disabling Accessibility. This version of Qt is unsupported.

                                | No QPA platform plugin enabled!

                                |  If you really want to build without a QPA platform plugin you must pass

                                |  -no-qpa-platform-guard to configure. Doing this will

                                |  produce a Qt that can not run GUI applications.

                                |  The dependencies needed for xcb to build are listed in

                                |  src/plugins/platforms/xcb/README

                                | WARNING: exit code 1 from a shell command.

                                | ERROR: Function failed: do_configure (log file is located at /home/franck/Bureau/workspace_edison/out/linux64/build/tmp/work/core2-32-poky-linux/qtbase/5.3.2-r0/temp/log.do_configure.12191)

                                ERROR: Task 283 (/home/franck/Bureau/workspace_edison/meta-qt5/recipes-qt/qt5/qtbase_5.3.2.bb, do_configure) failed with exit code '1'

                                 

                                and many other line ...

                                 

                                 

                                Which is the way to include all qt framework to my edison image?

                                 

                                Thank you for your time.

                                • 13. Re: Impossible to build Edison image 20160606
                                  FerryT

                                  What I get from the above message is that there is a dependency on X. So probably you need to set an option somewhere to create headless packages only.

                                   

                                  The recipes supported by the layer are here: https://layers.openembedded.org/layerindex/branch/morty/layer/meta-qt5/

                                   

                                  I think the recipe providing the packages you wanted installed is at least qtbase. Looking inside the recipe they use DISTRO_FEATURES to create PACKAGECONFIG*. Then these are used to create the cl options for configuring. I set the DISTRO_FEATURES here meta-intel-edison/poky-edison.conf at master · htot/meta-intel-edison · GitHub ,  but you could also append the recipe.

                                   

                                  So, I don't know how to build qt, but I think you do, so you might know what config you need. I suspect this is the real critical message:

                                  If you really want to build without a QPA platform plugin you must pass

                                  |  -no-qpa-platform-guard to configure. Doing this will

                                  |  produce a Qt that can not run GUI applications.

                                  but I don't see how to do that. Maybe you should to ask this on the yocto mailing list? They are very helpful and helped me out 2x.

                                   

                                  I guess you are experiencing one of my problems too: you want to install an executable, which is inside a package, but you don't know in which package until you've built it. There is probably some clever yocto command to list what's inside, but I don;t know which.

                                  • 14. Re: Impossible to build Edison image 20160606
                                    FerryT

                                    Maybe this has useful info on package selections?

                                    1 2 Previous Next