engicam-stable / meta-engicam-st

MIT License
1 stars 7 forks source link

SDK build failure for stm32mp1-ugea-512M #2

Closed mattmart3 closed 4 years ago

mattmart3 commented 4 years ago

When the machine is set to stm32mp1-ugea-512M the SDK build operation fails. More specifically, by running bitbake -c populate_sdk engicam-test-hw, the following error is shown in the logs:

ERROR: engicam-test-hw-1.0-r0 do_populate_sdk: Unable to install packages. Command '/home/user/openstlinux-4.19-thud-mp1-19-02-20/build-ugea/tmp-glibc/work/stm32mp1_ugea_512M-openstlinux_weston-linux-gnueabi/engicam-test-hw/1.0-r0/recipe-sysroot-native/usr/bin/apt-get  install --force-yes --allow-unauthenticated nativesdk-bison nativesdk-gcc-arm-none-eabi nativesdk-perl-module-encode nativesdk-u-boot-mkimage nativesdk-perl-module-encode-mime-header nativesdk-sdcard-raw-tools nativesdk-packagegroup-sdk-host nativesdk-openocd-stm32mp nativesdk-glibc-gconv-utf-32 packagegroup-cross-canadian-stm32mp1-ugea-512M nativesdk-binutils nativesdk-perl-module-term-ansicolor nativesdk-openssl-dev nativesdk-glibc-gconv-utf-16 nativesdk-ncurses-libncursesw' returned 100:                                                                                                                                                                                         
Reading package lists...                                                                                                                                                                      
Building dependency tree...                                                                                                                                                                   
Reading state information...                                                                                                                                                                  
E: Unable to locate package packagegroup-cross-canadian-stm32mp1-ugea-512M                                                                                                                    

ERROR: engicam-test-hw-1.0-r0 do_populate_sdk: Function failed: do_populate_sdk
ERROR: Logfile of failure stored in: /home/user/openstlinux-4.19-thud-mp1-19-02-20/build-ugea/tmp-glibc/work/stm32mp1_ugea_512M-openstlinux_weston-linux-gnueabi/engicam-test-hw/1.0-r0/temp/log.do_populate_sdk.2492
ERROR: Task (/home/user/openstlinux-4.19-thud-mp1-19-02-20/layers/meta-engicam-st/recipes-images/images/engicam-test-hw.bb:do_populate_sdk) failed with exit code '1'

My guess is that the generation of the packagegroup-cross-canadian-stm32mp1-ugea-512M package fails due to the capital M character and debian package naming restrictions:

Package names (both source and binary, see Package) must consist only of lower case letters (a-z), digits (0-9), plus (+) and minus (-) signs, and periods (.)

This is also suggested by the following warning message, printed several times during the build process: WARNING: QA Issue: PN: meta-environment-stm32mp1-ugea-512M is upper case, this can result in unexpected behavior. [uppercase-pn]

I did not encounter this issue by building the SDK for the stm32mp1-ugea machine (standard 256MB RAM version).

engicam-stable commented 4 years ago

Hi Matteo,

the error is indeed related to the capital M. We fixed this issue in the thud branch of meta-engicam-st, developed for the last ugeast BSP (openstlinux-4.19-thud-mp1-19-10-09).

On 11/05/20 14:36, Matteo Martelli wrote:

When the machine is set to |stm32mp1-ugea-512M| the SDK build operation fails. More specifically, by running |bitbake -c populate_sdk engicam-test-hw|, the following error is shown in the logs:

|ERROR: engicam-test-hw-1.0-r0 do_populate_sdk: Unable to install packages. Command '/home/user/openstlinux-4.19-thud-mp1-19-02-20/build-ugea/tmp-glibc/work/stm32mp1_ugea_512M-openstlinux_weston-linux-gnueabi/engicam-test-hw/1.0-r0/recipe-sysroot-native/usr/bin/apt-get install --force-yes --allow-unauthenticated nativesdk-bison nativesdk-gcc-arm-none-eabi nativesdk-perl-module-encode nativesdk-u-boot-mkimage nativesdk-perl-module-encode-mime-header nativesdk-sdcard-raw-tools nativesdk-packagegroup-sdk-host nativesdk-openocd-stm32mp nativesdk-glibc-gconv-utf-32 packagegroup-cross-canadian-stm32mp1-ugea-512M nativesdk-binutils nativesdk-perl-module-term-ansicolor nativesdk-openssl-dev nativesdk-glibc-gconv-utf-16 nativesdk-ncurses-libncursesw' returned 100: Reading package lists... Building dependency tree... Reading state information... E: Unable to locate package packagegroup-cross-canadian-stm32mp1-ugea-512M ERROR: engicam-test-hw-1.0-r0 do_populate_sdk: Function failed: do_populate_sdk ERROR: Logfile of failure stored in: /home/user/openstlinux-4.19-thud-mp1-19-02-20/build-ugea/tmp-glibc/work/stm32mp1_ugea_512M-openstlinux_weston-linux-gnueabi/engicam-test-hw/1.0-r0/temp/log.do_populate_sdk.2492 ERROR: Task (/home/user/openstlinux-4.19-thud-mp1-19-02-20/layers/meta-engicam-st/recipes-images/images/engicam-test-hw.bb:do_populate_sdk) failed with exit code '1' |

My guess is that the generation of the |packagegroup-cross-canadian-stm32mp1-ugea-512M| package fails due to the capital |M| character and debian package naming restrictions https://www.debian.org/doc/debian-policy/ch-controlfields.html#source:

Package names (both source and binary, see Package) must consist
only of lower case letters (a-z), digits (0-9), plus (+) and minus
(-) signs, and periods (.)

This is also suggested by the following warning message, printed several times during the build process: |WARNING: QA Issue: PN: meta-environment-stm32mp1-ugea-512M is upper case, this can result in unexpected behavior. [uppercase-pn]|

I did not encounter this issue by building the SDK for the |stm32mp1-ugea| machine (standard 256MB RAM version).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/engicam-stable/meta-engicam-st/issues/2, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB3LCWKJVVPXWDE2CB33MALRQ7WOPANCNFSM4M534BWQ.

mattmart3 commented 4 years ago

Great, thank you for the support. To provide some feedback, I updated the meta-engicam-st layer to the latest commit of the thud branch and the ST meta-layers according to the repo manifest of the ST distribution package at the openstlinux-20-02-19 tag. With this environment I can confirm I could successfully build both the image and SDK for the stm32mp1-ugea-512 machine. At first, I tried without success to use the openstlinux-4.19-thud-mp1-19-10-09 tag as you suggested. It looked like some of your recipes mismatched with the ST meta layer. I assume you pointed your BSP to the openstlinux-4.19-thud-mp1-19-10-09 tag, but you later updated the repositories during development. Thus, I believe you are now more close to the openstlinux-20-02-19 release. Thanks again.