7 Replies Latest reply on Nov 17, 2016 2:42 AM by Manty

    Broken package links when building Edison image from source

    NickAri

      Hi folks,

       

      I am trying to build an Edison image from source which I would like to customise however the most recent source packages I can find (listed below) have a bunch of out of date /broken package links and are causing the build to fail. Question: am I using the latest source distribution and if not where can I find one that builds? 

       

      I am using the following source:

      meta-intel-edison - Layer for the Intel Edison Development Platform

       

      Many thanks.

       

      Nick

        • 1. Re: Broken package links when building Edison image from source
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hello Nick,

          Thanks for reaching out!

          Could you please explain us more about the error message you received? Was it related to paho-mqtt? I have seen several thread where users have issues with this recipe when building Edison's image. If that was the case please try the following:

          1. Go to paho-mqtt:

          cd ~/edison-src/out/linux64/poky/meta-intel-iot-middleware/recipes-connectivity/paho-mqtt/

          2. Modify paho-mqtt_3.1.bb:

          Search for the line that contains SRC_URI and change it into the following:

          SRC_URI = "git://github.com/eclipse/paho.mqtt.c.git;protocol=http \
          file://makefile.patch \
          "

          3. Try building the image again.

          If the error message is not related to paho-mqtt, please send us a screenshot of the error message.

          We'll be waiting for your response.
          -Peter.

          1 of 1 people found this helpful
          • 2. Re: Broken package links when building Edison image from source
            NickAri

            Hi Peter,

             

            Thanks so much for getting back to me so quickly.

             

            I did hit the issue you mention with paho-mqtt and fixed it manually in exactly the way you describe.

             

            In addition I got several warnings for other packages which seem to have out of date URLs:

             

            WARNING: Failed to fetch URL http://gnome-build-stage-1.googlecode.com/files/uuid-1.6.2.tar.gz, attempting MIRRORS if available

            WARNING: Failed to fetch URL http://zlib.net/pigz/pigz-2.3.1.tar.gz, attempting MIRRORS if available

            WARNING: Failed to fetch URL ftp://ftp.debian.org/debian/pool/main/b/base-passwd/base-passwd_3.5.29.tar.gz, attempting MIRRORS if available

            WARNING: Failed to fetch URL http://downloads.sourceforge.net/project/libpng/libpng16/1.6.13/libpng-1.6.13.tar.xz, attempting MIRRORS if available

            WARNING: Failed to fetch URL http://www.apache.org/dist/apr/apr-1.5.1.tar.bz2, attempting MIRRORS if available

            WARNING:Failed to fetch URL http://downloads.sourceforge.net/flex/flex-2.5.39.tar.bz2, attempting MIRRORS if available

            WARNING: Failed to fetch URL http://www.apache.org/dist/apr/apr-util-1.5.3.tar.gz, attempting MIRRORS if available

            WARNING: Failed to fetch URLhttp://code.entropywave.com/download/orc/orc-0.4.18.tar.gz;name=orc, attempting MIRRORS if available

            WARNING: Failed to fetch URLhttp://downloads.sourceforge.net/beecrypt/beecrypt-4.2.1.tar.gz, attempting MIRRORS if available

            WARNING: Failed to fetch URLhttp://downloads.sourceforge.net/project/libcg/libcgroup/v0.41/libcgroup-0.41.tar.bz2, attempting MIRRORS if available

            WARNING: Failed to fetch URL http://downloads.sourceforge.net/libusb/libusb-compat-0.1.5.tar.bz2, attempting MIRRORS if available

             

            The build then failed on a compilation error on this package:

             

            ERROR: Function failed: do_compile (log file is located at /home/nick/temp/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/temp/log.do_compile.30217)

            ERROR: Logfile of failure stored in: /home/nick/temp/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/temp/log.do_compile.30217

             

            SNIP

             

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/eblnormalizepc.c: In function 'ebl_normalize_pc':

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/eblnormalizepc.c:38:6: error: nonnull argument 'ebl' compared to NULL [-Werror=nonnull-compare]

            |    if (ebl != NULL && ebl->normalize_pc != NULL)

            |       ^

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/ebldwarftoregno.c: In function 'ebl_dwarf_to_regno':

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/ebldwarftoregno.c:38:6: error: nonnull argument 'ebl' compared to NULL [-Werror=nonnull-compare]

            |    if (ebl == NULL)

            |       ^

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/eblinitreg.c: In function 'ebl_frame_nregs':

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/eblinitreg.c:50:26: error: nonnull argument 'ebl' compared to NULL [-Werror=nonnull-compare]

            |    return ebl == NULL ? 0 : ebl->frame_nregs;

            |           ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~

            | cc1: all warnings being treated as errors

            | Makefile:516: recipe for target 'ebldwarftoregno.o' failed

            | make[2]: *** [ebldwarftoregno.o] Error 1

            | make[2]: *** Waiting for unfinished jobs....

            | cc1: all warnings being treated as errors

            | cc1: all warnings being treated as errors

            | Makefile:516: recipe for target 'eblinitreg.o' failed

            | make[2]: *** [eblinitreg.o] Error 1

            | Makefile:516: recipe for target 'eblnormalizepc.o' failed

            | make[2]: *** [eblnormalizepc.o] Error 1

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/eblobjnote.c: In function 'ebl_object_note':

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/eblobjnote.c:48:3: error: this 'if' clause does not guard... [-Werror=misleading-indentation]

            |    if (! ebl->object_note (name, type, descsz, desc))

            |    ^~

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/eblobjnote.c:138:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'

            |      switch (type)

            |      ^~~~~~

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/eblunwind.c: In function 'ebl_unwind':

            | /home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158-r0/elfutils-0.158/libebl/eblunwind.c:40:6: error: nonnull argument 'ebl' compared to NULL [-Werror=nonnull-compare]

            |    if (ebl == NULL || ebl->unwind == NULL)

            |       ^

            | cc1: all warnings being treated as errors

            | Makefile:516: recipe for target 'eblunwind.o' failed

            | make[2]: *** [eblunwind.o] Error 1

            | cc1: all warnings being treated as errors

            | Makefile:516: recipe for target 'eblobjnote.o' failed

            | make[2]: *** [eblobjnote.o] Error 1

            | make[2]: Leaving directory '/home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158

            -r0/build/libebl'

            | Makefile:461: recipe for target 'all-recursive' failed

            | make[1]: *** [all-recursive] Error 1

            | make[1]: Leaving directory '/home/nick/latest2/out/linux64/build/tmp/work/x86_64-linux/elfutils-native/0.158

            -r0/build'

            | Makefile:376: recipe for target 'all' failed

            | make: *** [all] Error 2

            | ERROR: oe_runmake failed

            | WARNING: exit code 1 from a shell command.

            | ERROR: Function failed: do_compile (log file is located at /home/nick/latest2/out/

             

            SNIP

             

            Build Configuration:

            BB_VERSION        = "1.24.0"

            BUILD_SYS         = "x86_64-linux"

            NATIVELSBSTRING   = "Ubuntu-16.10"

            TARGET_SYS        = "i586-poky-linux"

            MACHINE           = "edison"

            DISTRO            = "poky-edison"

            DISTRO_VERSION    = "1.7.2"

            TUNE_FEATURES     = "m32 core2"

            TARGET_FPU        = ""

             

            I cant see a way to attach a file bit I have the full compilation output if would help.

             

            FYI running this in a GCP virtual machine on Ubuntu-16.10

             

            Many thanks for looking in to this.

             

            Regards,

             

            Nick

            • 3. Re: Broken package links when building Edison image from source
              Intel Corporation
              This message was posted on behalf of Intel Corporation

              Hi Nick,

              I believe the issue might be related to the OS you are using to build the image. As you can see in section 1.3.1 of Yocto's Mega Manual (http://www.yoctoproject.org/docs/1.7.2/mega-manual/mega-manual.html). When you build the image on an unsupported OS, it will throw a warning message that unexpected issues might occur. I personally have never had this specific issue on Ubuntu 14. Is it possible for you to try using Ubuntu 14? If so, let me know if the issue persists.

              The warning messages you posted above are normal, they simply let you know that the packages were not found on the "first download link" and it used a mirror to get it. In case it fails to obtain the package from another mirror it will throw an error message such as in the case of paho-mqtt. If that is not the case, it is O.K. to ignore those warning messages.

              Let me know how it goes.
              -Peter.

              • 4. Re: Broken package links when building Edison image from source
                NickAri

                Hi Peter,

                 

                I retried this using Ubuntu 14 and was able to successfully build the image.

                 

                Just to recap for anyone else:

                 

                1, Use this source: meta-intel-edison - Layer for the Intel Edison Development Platform

                2, Run on Ubuntu 14 (not 16)

                3, Fix the broken link in the paho_mqtt recipe as above

                4, Ignore the warnings

                 

                Thanks so much for helping!

                 

                Nick

                • 5. Re: Broken package links when building Edison image from source
                  Intel Corporation
                  This message was posted on behalf of Intel Corporation

                  Hi Nick,

                  I'm glad to be of help! I'm really happy to hear that now you are able to build the image.

                  If you ever have any other doubts, please don't hesitate to come back to the community, we'll try to help you in any way we can.

                  -Peter.

                  • 6. Re: Broken package links when building Edison image from source
                    nniles

                    NickAri,

                     

                    The source you linked to builds just fine on Ubuntu 16.04 LTS (with the fix to the paho-mqtt recipe), although it will complain about it every step of the way...

                     

                    Thanks,

                    • 7. Re: Broken package links when building Edison image from source
                      Manty

                      Hi,

                      I am using ubuntu 16.10. Could you please tell a way to resolve this error without having to install ubuntu 14.

                      The error looks very strange. Why is NULL check wrong? Also I am tryying to pass "-wno-error=nonull-compare" but still I cannot resolve the issue.

                       

                      Awaiting your reply.

                       

                      Thanks,

                      Manty