Raspberry Pi 4 yocto, rpi-basic-image.bb: Unable to determine endianness for architecture 'INVALID' - yocto

I'm trying to build core-image-minimal for raspberrypi4-64 on the zeus branch
and I had to create the file sanity.conf and I'm getting this errors:
fstrati$ bitbake -c cleanall core-image-minimal
Loading cache: 100% Time: 0:00:00
Loaded 28 entries from dependency cache.
ERROR: rpi-basic-image.bb: Unable to determine endianness for architecture 'INVALID'
ERROR: rpi-basic-image.bb: Please add your architecture to siteinfo.bbclass
ERROR: rpi-hwup-image.bb: Unable to determine endianness for architecture 'INVALID'
ERROR: rpi-hwup-image.bb: Please add your architecture to siteinfo.bbclass
ERROR: Failed to parse recipe: rpi-hwup-image.bb
ERROR: vte_0.56.3.bb: Unable to determine endianness for architecture 'INVALID'
ERROR: vte_0.56.3.bb: Please add your architecture to siteinfo.bbclass
I don't understand why core-image-minimal is using such deprecated recipes.
do I need to switch to the master branch?
Forgive me if this is a dumb question...

It seems my MACHINE configuration was wrong. I tried with MACHINE ?= "raspberrypi4-64" instead and everything went fine.
Removing conf resolved issue for me as well.

Related

Issues With CMSIS In STM32IDE

I'm completely new to microcontroller programming and I'm facing my first problem.
I'm following tutorials and web documentation in order to starting with STM32 libraries, I tried to add CMSIS and HAL drivers into my stm32IDE but every time I try to build a huge quantity of errors occure. Someone can explain to me what is wrong ?
../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f412zx.s:399: Error: bad instruction `section .text:CODE:REORDER:NOROOT(1)'
../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f412zx.s:400: Error: bad instruction `i2c2_ev_irqhandler'
../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f412zx.s:403: Error: bad instruction `pubweak I2C2_ER_IRQHandler'
../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f412zx.s:404: Error: bad instruction `section .text:CODE:REORDER:NOROOT(1)'
../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f412zx.s:405: Error: bad instruction `i2c2_er_irqhandler'
../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f412zx.s:408: Error: bad instruction `pubweak SPI1_IRQHandler'
../Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f412zx.s:409:
.
.
.
.
make: *** [Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/subdir.mk:91: Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f407xx.o] Error 1
"make -j12 all" terminated with exit code 2. Build might be incomplete.
00:32:15 Build Failed. 5895 errors, 0 warnings. (took 2s.475ms)
You are trying to compile the IAR startup files with the GCC compiler. The startup assembler file that you want is under the directory gcc. The two assemblers have different syntax.

Bitbake understanding the EXCLUDE_FROM_WORLD mechanism

I'm developing on Yocto 2.4 rockowith a BSP given by my provider. I'm trying to build modemmanager from the meta-openembedded layer, included in the meta-oe sub layer.
The configure task fail and give me as error :
checking for gobject-introspection...
configure: error: gobject-introspection-1.0 is not installed
After some search I've installed the libgirepository1.0-dev package on my host machine. But the error is always present.
I've continued investigations, and find in my recipe log the line :
DEBUG: EXCLUDE FROM WORLD: virtual:native:/home/test/share/sc20_linux/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.52.1.bb
I've tried to find which recipe excludes the dependency, with no success.
Can you help me to understand how works the EXCLUDE_FROM_WORLD mechanism ?
Thanks for your help.
I suspect that is debug output and doesn't mean the recipe is excluded. Have you looked at the modemmanager recipe to see if it has a DEPENDS on gobject-introspection-native and perhaps gobject-introspection? If not, or the PACKAGECONFIG isn't set, try adding the DEPENDS or enabling the PACKGECONFIG?
Also, have you tried simply building "bitbake object-introspection-native" and "bitbake object-introspection". You should get an error about why they ar disabled if you try and build them directly and they are excluded/disabled for some reason.

Yocto build failed while upgrading to pulseaudio 12.0

I have never worked with Yocto before, have a chance of upgrading the pulseaudio from 9.0 to 12.0 for webos.
However when I am using the 12.0's pulseaudio.inc file, made changes as per my requirement, i am facing the following error during packaging.
ERROR: pulseaudio-12.0-12-r20pulseaudio_v12_14Nov do_package_qa: QA Issue: non -dev/-dbg/nativesdk- package contains symlink .so: pulseaudio-misc path '/work/sa8155-webos-linux/pulseaudio/12.0-12-r20pulseaudio_v12_14Nov/packages-split/pulseaudio-misc/usr/lib/libpulse.so'
non -dev/-dbg/nativesdk- package contains symlink .so: pulseaudio-misc path '/work/sa8155-webos-linux/pulseaudio/12.0-12-r20pulseaudio_v12_14Nov/packages-split/pulseaudio-misc/usr/lib/libpulse-mainloop-glib.so'
non -dev/-dbg/nativesdk- package contains symlink .so: pulseaudio-misc path '/work/sa8155-webos-linux/pulseaudio/12.0-12-r20pulseaudio_v12_14Nov/packages-split/pulseaudio-misc/usr/lib/libpulse-simple.so' [dev-so]
ERROR: pulseaudio-12.0-12-r20pulseaudio_v12_14Nov do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: pulseaudio-12.0-12-r20pulseaudio_v12_14Nov do_package_qa: Function failed: do_package_qa
Inorder to resolve the error
I made the following changes to the inc file. But no luck:
INSANE_SKIP_${PN} = "dev-so"
Can some one please let me know how to resolve this issue.
Adding the following line solved the problem.
FILES_${PN} += "${libdir}/*"

Swift build error_if_any_output_files_are_specified_they_all_must_be

When converting to use the new build system on Xcode 10, I get the following error in my output for several of my extension targets.
<unknown>:0: error: if any output files are specified, they all must be
Command CompileSwift failed with a nonzero exit code
I have looked for a solution online, but the only reference I can find to this error is in the Swift compiler source code itself.
https://www.google.com/search?q=error_if_any_output_files_are_specified_they_all_must_be
Does anyone know how this error is actually triggered, or what I can do to fix it?
Ok, I had the same problem with one of our projects. Building or Archiving are always stopped with the error <unknown>:0: error: if any output files are specified, they all must be.
The solution for us was to set Compilation Mode to Incremental instead of Whole Module.
This means, you have to ignore the Validate Project Settings warning:

Raspberry PI cross compilation linking error - unknown symbol _dl_hwcap

I have successfully set up a cross-complation environment for my RPI under 64 Bit ubuntu. I can compile and run a personal project using gstreamer just fine.
Due to performance-issues with gstreamer, I want to work on a fork of omxplayer. I adapted it to my environment, and compilation of ffmpeg and omxplayer themselves work just fine.
However, linking an actual executable (ffmpeg, or omxplayer.bin) yields a linking error I have been unable to resolve.
You find the full output of the last failing linking-step with verbose flags here:
https://gist.github.com/deets/3bba7c94017405d28f81
The error message is
ffmpeg_compiled/usr/local/lib/libavcodec.so: undefined reference to `_dl_hwcap'
collect2: error: ld returned 1 exit status
The missing symbol to me suggests something with dynamic loading. Maybe the libc or libdl are botched? But how come these are working just fine if compiling another project?
Found the culprit. When setting up the crosscompilation-environment, make sure your copy of the RPI's libraries are correct. I had unresolved symbolic library links that needed fixing in my rsync'ed copy of the RPI's file-system.