Skip to contentSkip to conversation

Using boost-program-options and native

DISCUSSION [email protected] 3 participants 4 messages Apr 12, 2017 – Apr 13, 2017

lore
Share & tools
lore
#0 lore raw

Hey all!

I want to build a tool which makes use of boost-program-options lib. As long as I compile for the target, all is fine, but when I add

Quoted 1 line

BBCLASSEXTEND += "native"

to my recipe, I a bitbake error "Nothing Provides" ... :(

Quoted 2 lines

ERROR: Required build target 'mytool-native' has no buildable providers. Missing or unbuildable dependency chain was: ['mytool-native', 'boost-program-options-native']

In the recipe I just depend on boost and RDEPEND on boost-program-options:

Quoted 2 lines

DEPENDS = "boost"
RDEPENDS_${PN} = "boost-program-options"

Is something wrong with this? Why is there a package boost-program-options but no boost-program-options-native, altough boost-native exists and the libboost-program-options.so is installed into the native sysroot. (I can compile flawlessly without the RDEPENDS line.)

Any hints?

Cheers,
Thilo

#1 lore raw
Quoted 10 lines · On Wed, 2017-04-12 at 13:47 +0000, [email protected] wrote:

Hey all!

I want to build a tool which makes use of boost-program-options lib. As long as I compile for the target, all is fine, but when I add

Quoted 1 line

BBCLASSEXTEND += "native"

to my recipe, I a bitbake error "Nothing Provides" ... :(

Quoted 2 lines

ERROR: Required build target 'mytool-native' has no buildable providers. Missing or unbuildable dependency chain was: ['mytool-native', 'boost-program-options-native']

In the recipe I just depend on boost and RDEPEND on boost-program-options:

Quoted 8 lines
Quoted 2 lines

DEPENDS = "boost"
RDEPENDS_${PN} = "boost-program-options"

Is something wrong with this? Why is there a package boost-program-options but no boost-program-options-native, altough boost-native exists and the libboost-program-options.so is installed into the
native sysroot. (I can compile flawlessly without the RDEPENDS line.)

Native and nativesdk flavors don't have packages, so RDEPENDS only works when depending on ${PN}-native (but not for ${PN}-native-some-package).

Try:

DEPENDS = "boost"
RDEPENDS_${PN}_class-target = "boost-program-options"

"boost" already is a dependency via DEPENDS, so you shouldn't need an RDEPENDS for it in the native case.

Signature · 6 lines
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.
#2 lore raw
Quoted 21 lines · Patrick Ohly
Quoted 8 lines · On Wed, 2017-04-12 at 13:47 +0000, [email protected] wrote:

I want to build a tool which makes use of boost-program-options lib. As long as I compile for the target, all is fine, but when I add

Quoted 1 line

BBCLASSEXTEND += "native"

to my recipe, I a bitbake error "Nothing Provides" ... :(

Quoted 2 lines

ERROR: Required build target 'mytool-native' has no buildable providers. Missing or unbuildable dependency chain was: ['mytool-native', 'boost-program-options-native']

In the recipe I just depend on boost and RDEPEND on boost-program-options:

Quoted 8 lines
Quoted 2 lines

DEPENDS = "boost"
RDEPENDS_${PN} = "boost-program-options"

Is something wrong with this? Why is there a package boost-program-options but no boost-program-options-native, altough boost-native exists and the libboost-program-options.so is installed into the
native sysroot. (I can compile flawlessly without the RDEPENDS line.)

Native and nativesdk flavors don't have packages, so RDEPENDS only works when depending on ${PN}-native (but not for ${PN}-native-some-package).

Quoted 7 lines

Try:

DEPENDS = "boost"
RDEPENDS_${PN}_class-target = "boost-program-options"

"boost" already is a dependency via DEPENDS, so you shouldn't need an RDEPENDS for it in the native case.

The following worked for me when building a native recipe that depends on Boost Program Options:

https://github.com/advancedtelematic/meta-updater/blob/morty/recipes-sota/sota-tools/sota-tools_git.bb

inherit cmake
DEPENDS = "boost ..."
BBCLASSEXTEND = "native"

I'm no OE expect, so I won't claim this it is right answer, but it does at least build.

Cheers,

Phil

Signature · 4 lines
Phil Wise, ATS Advanced Telematic Systems GmbH
Kantstrasse 162, 10623 Berlin
Managing Directors: Dirk Pöschl, Armin G. Schmidt
Register Court: HRB 151501 B, Amtsgericht Charlottenburg
#3 lore raw

Am Donnerstag, den 13.04.2017, 08:53 +0200 schrieb Phil Wise:

Quoted 31 lines · Patrick Ohly
Quoted 22 lines · On Wed, 2017-04-12 at 13:47 +0000, [email protected] wrote:
Quoted 9 lines

I want to build a tool which makes use of boost-program-options lib. As long as I compile for the target, all is fine, but when I add

Quoted 1 line

BBCLASSEXTEND += "native"

to my recipe, I a bitbake error "Nothing Provides" ... :(

Quoted 2 lines

ERROR: Required build target 'mytool-native' has no buildable providers. Missing or unbuildable dependency chain was: ['mytool-native', 'boost-program-options-native']

In the recipe I just depend on boost and RDEPEND on boost-program-options:

Quoted 8 lines
Quoted 2 lines

DEPENDS = "boost"
RDEPENDS_${PN} = "boost-program-options"

Is something wrong with this? Why is there a package boost-program-options but no boost-program-options-native, altough boost-native exists and the libboost-program-options.so is installed into the
native sysroot. (I can compile flawlessly without the RDEPENDS line.)

Native and nativesdk flavors don't have packages, so RDEPENDS only works when depending on ${PN}-native (but not for ${PN}-native-some-package).

Quoted 7 lines

Try:

DEPENDS = "boost"
RDEPENDS_${PN}_class-target = "boost-program-options"

"boost" already is a dependency via DEPENDS, so you shouldn't need an RDEPENDS for it in the native case.

Quoted 9 lines

The following worked for me when building a native recipe that depends on Boost Program Options:libboost-program-options1.60.0

https://github.com/advancedtelematic/meta-updater/blob/morty/recipes-sota/sota-tools/sota-tools_git.bb

  inherit cmake
  DEPENDS = "boost ..."
  BBCLASSEXTEND = "native"

Thanks for your answers!

The problem is, that boost_program_options is a library which needs to be installed on the target. This isn't done with DEPENDS boost only.

But the answer of Patrick Ohly worked for me. Now my package has a dependency to libboost-program-options1.60.0 in the control file!

Cheers,
Thilo