Bitbake understanding the EXCLUDE_FROM_WORLD mechanism - yocto

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.

Related

I'm trying to run this command "bitbake-layers show-recipes"

I'm trying to setup Yocto project in my linux system. I have added two layers which point outside the Yocto poky folder.
I'm following build steps from here:
https://www.yoctoproject.org/docs/2.7/brief-yoctoprojectqs/brief-yoctoprojectqs.html
I am trying to run the following command "bitbake-layers show-recipes 'ara-'*"
I'm getting this error
ERROR: ExpansionError during parsing /home/XXX/YYYYY/codebase/apd-source/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.6.4.bb
But I'm expecting output something like this:
***Parsing recipes..done.
=== Matching recipes: ===
ara-com-examples:
meta-ara 1.0.0
ara-com-fusion-example:
meta-ara 1.0.0
ara-com-gen:***
.
.
.
.
.
This error indicates bitabake failed to parse the recipe and could be due to syntax error from the recipe. But I have encounter this issue even without any error in my recipes. Honestly the don't know why that happened and that could be some issue with the build environment. Not sure.
In this situation, can you try
1. Remove the build directory and also ssttate cache directory.
2. Execute the setup environment script and rebuild
Try with the above steps and check issue resolved. And before that make sure you don't have any syntax error in the syslog_ng recipe , check do you have any bbappend recieps for syslog_ng in your layer or any other layers and they don't have any syntax errors.

Pharo on RaspberryPi: Module not found at startup

I am on a raspbian stretch system with the spur32 VM for ARM and a Pharo 7 image. At Startup I always get an exception: Error - Module not found.
It seems to have to do with lgitlibrary. I really cannot figure out what this error is about.
Any ideas?
Thanks,
Henrik
I see. If you check #unixModuleName
unixModuleName
| pluginDir |
pluginDir := Smalltalk vm binary parent.
#('libgit2.so' 'libgit2.so.0')
detect: [ :each | (pluginDir / each) exists ]
ifFound: [ :libName | ^ libName ].
self error: 'Module not found.'
Here you have your error message: self error: 'Module not found.'
You probably have libgit2.so or libgit2.so.0 missing (or dependencies). You may suffer with similar problem as me: Getting error when adding OSSubprocess to my Pharo 6.1 on Centos 7.4x.
You should check the dependencies with ldd (check my question for details).
Edit Adding information due to comment:
I have yet to use IceBerg (the Pharo's git integration). My guess, would be to "(re-)initialize it": (Smalltalk at: #LGitLibrary) initialize.
For more information, I recommend reading these: pharo's iceberg and some Pharo project that uses git like pharo-contributor and checking blog pharoweekly (for some information about the pharo-contributor) - https://pharoweekly.wordpress.com/2018/04/24/pharo-contributor-to-contribute-to-pharo.
You may want to use some guide "How to use git and github with Pharo". Which was done by Peter Uhnak (you can find him on SO).
I had the similar problem and I needed to build libgit2 library from source using this instructions. The basic build didn't work because Pharo wasn't able to initialize the library. I compiled it again with parameter -DSTDCALL=ON an it works.

Building a yocto image for RPi3

Recently I started with yocto-project to build images for raspberry-pi.
I cloned poky and meta-raspberrypi under a directory named as yocto_project on my ubuntu host. Initiated the build using source oe-init-build-env rpi-build.
The first image I created the rpi-basic-image which was a successful attempt.
Upon booting RPi with the image I got a CLI based interface, but the problem is few commands are missing. Came to know by-default all the packages didn't get combine with image, we need to add it manually for example systemd.
If I run bitbake-layers show-recipes I get long list of all the recipes available for RPi. So I added the text IMAGE_INSTALL_append = " systemd" after reading some documents online to append systemd. After this when I bitbake rpi-basic-image got error as ERROR: Nothing RPOVIDES 'systemd' (but /path_to/rpi-basic-image.bb RDEPENDS on or otherwise requires it)
ERROR: systemd was skipped: 'systemd' not in DISTRO_FEATURES
ERROR: Required build target 'rpi-basic-image' has no buildable providers
Don't have clue, why I get this error. How to resolve it. Also do I have to manually add those packages/recipes using build/local.conf to get all the commands.
Need a good explanation/guidance .
From Selecting an Initialization Manager - Yocto Development Manual:
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
You can set those variables in your local.conf.

Yocto Image build fails because "nothing RPROVIDES libavresample"

I am trying to build a custom Yocto image based on fsl-image-gui for my iMX6 based board SECO A62J. I use Hob to do this.
After having selected my machine, my layers and my image, I custom my packages list by adding chromium. This automatically selects libexif and libav which are Chromium dependencies. The build of the packages is successful
The last step is the build of the image itself, and this is where my problem appears. I select the packages I want to include in my image, including Chromium, libexif and libav (and its dependencies).
And I got those errors :
Nothing RPROVIDES 'libavresample' (but
/home/adrien/fsl-release-bsp/build_anna/recipes/images/fsl-image-gui-edited-20170131-144607.bb RDEPENDS on or otherwise requires it)
and
Required build target 'fsl-image-gui-edited-20170131-144607' has no
buildable providers. Missing or unbuildable dependency chain was:
['fsl-image-gui-edited-20170131-144607', 'libavresample']
However, the library libavresample.so is built successfully and can be found under my build directory in sysroots/"machine_name"/usr/lib/
Why Yocto can't find and include this library in my image, What am I missing here?
In your local.conf :
LICENSE_FLAGS_WHITELIST += " commercial"

specifying nuget package sources

My build server fails to build because the package source cannot be found. Here's how I want to specify it:
<PackageSources><add key="My Feed" value="http://tfs2010:90/CompName.Nuget.Web.$(Configuration)/Nuget" /></PackageSources>
The error:
C:\TFS2010\TFS\Nuget\nuget.Other.targets (43): The command ""C:\tmp\nuget.exe" install "C:\Builds\1\PC\PackNameSources\PackName\packages.config" -source -o "C:\Builds\1\PC\PackName\Sources\packages"" exited with code -1.
Now, of course if I do that:
<PackageSources>"http://tfs2010:90/MyFeed/Nuget"</PackageSources>
then it works fine.
The problem is that eventually, I want to specify multiple sources.
How can I do that and what am I doing wrong ?
the solution was to separate the sources with a semi-colon :
<PackageSources>"source1; source2"</PackageSources>