| Summary: | sanity.bbclass: check for libsdl-native is broken | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Patrick Ohly <patrick.ohly> |
| Component: | core | Assignee: | Yau Wai Gan <yau.wai.gan> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | bluelightning, juro.bystricky, meta.mr.watcher, meta.watcher, ross.burton, sgw, yau.wai.gan |
| Version: | unspecified | ||
| Target Milestone: | 2.4 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
Originally found by Jonathan Liu. I've a patch that just deletes the check. Do we really need the extra check? (In reply to comment #2) > I've a patch that just deletes the check. Do we really need the extra check? I'd be fine with simply removing it. This is a periodically recurring problem, see for example: https://bugzilla.yoctoproject.org/show_bug.cgi?id=8553 https://bugzilla.yoctoproject.org/show_bug.cgi?id=7469 Basically, the order of libraries is important, this should fix it in local.conf: ASSUME_PROVIDED += "libsdl-native" BUILD_LDFLAGS_prepend_pn-qemu-native = "-Wl,-rpath-link,/lib/x86_64-linux-gnu " Maybe the sanity check message can be simply updated to suggest adding the extra line BUILD_LDFLAGS_prepend_pn-qemu-native in local.conf... Assuming this does fix it, can we have qemu-native do the right thing so that users don't have to insert this line into their configuration? (In reply to comment #6) > Assuming this does fix it, can we have qemu-native do the right thing so > that users don't have to insert this line into their configuration? I would say yes, providing the recipe can somehow detect we specified ASSUME_PROVIDED += "libsdl-native (In reply to comment #4) > This is a periodically recurring problem, see for example: > https://bugzilla.yoctoproject.org/show_bug.cgi?id=8553 > https://bugzilla.yoctoproject.org/show_bug.cgi?id=7469 Those are problems with building qemu-native. This issue here is about the sanity test and that it checks for SDL differently than qemu-native, so this not quite the same. Turns out I'd already fixed this ages ago. Closed in oe-core a8d8b0d9e1c2346d5a314ed0a7bf5be66044a51d. |
To reproduce: - set up a clean build directory (in particular, conf/sanity_info must not exist) - add ASSUME_PROVIDED += "libsdl-native" to local.conf - bitbake qemu-native It fails with: "libsdl-native is set to be ASSUME_PROVIDED but sdl-config can't be found in PATH. Please either install it, or configure qemu not to require sdl." The check in sanity.bbclass is out-dated and fails because sdl-config is not in HOSTTOOLS. It shouldn't be added there either, because that would affect all recipes and qemu.inc doesn't need it at all. From qemu.inc: do_configure_prepend_class-native() { # Append build host pkg-config paths for native target since the host may provide sdl BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "") if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH fi insanity.bbclass could use the host pkg-config to ensure that sdl.pc is installed.