Message ID | 20220115160449.2292472-1-fontaine.fabrice@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/riscv-isa-sim: set --with-boost | expand |
Fabrice, All, On 2022-01-15 17:04 +0100, Fabrice Fontaine spake thusly: > Set --with-boost to avoid the following build failure when a non working > boost version is installed on host. This failure is raised since the > addition of the package in commit > ea033cecf990ed3f86619647523a9ad2ccb09adb: > > configure:5559: error: Could not find a version of the Boost::Asio library! > > Fixes: > - http://autobuild.buildroot.org/results/855b66b86d979cc922b947da932b0e2388481263 > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > package/riscv-isa-sim/riscv-isa-sim.mk | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/package/riscv-isa-sim/riscv-isa-sim.mk b/package/riscv-isa-sim/riscv-isa-sim.mk > index ee9067d304..90eed93c36 100644 > --- a/package/riscv-isa-sim/riscv-isa-sim.mk > +++ b/package/riscv-isa-sim/riscv-isa-sim.mk > @@ -9,5 +9,6 @@ RISCV_ISA_SIM_SITE = $(call github,riscv-software-src,riscv-isa-sim,v$(RISCV_ISA > RISCV_ISA_SIM_LICENSE = BSD-3-Clause > RISCV_ISA_SIM_LICENSE_FILES = LICENSE > HOST_RISCV_ISA_SIM_DEPENDENCIES = host-boost host-dtc > +HOST_RISCV_ISA_SIM_CONF_OPTS = --with-boost=$(HOST_DIR) To be noted: riscv-isa-sim could also be configured with --without-boost and the build succeeds. Anyway: applied to master, thanks. Julien, do you know what ill-effect building without Boost would have? Regards, Yann E. MORIN. > $(eval $(host-autotools-package)) > -- > 2.34.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
Hi Yann, On 19/01/2022 21:23, Yann E. MORIN wrote: > Fabrice, All, > > On 2022-01-15 17:04 +0100, Fabrice Fontaine spake thusly: >> Set --with-boost to avoid the following build failure when a non >> working >> boost version is installed on host. This failure is raised since the >> addition of the package in commit >> ea033cecf990ed3f86619647523a9ad2ccb09adb: >> >> configure:5559: error: Could not find a version of the Boost::Asio >> library! >> >> Fixes: >> - >> http://autobuild.buildroot.org/results/855b66b86d979cc922b947da932b0e2388481263 >> >> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> >> --- >> package/riscv-isa-sim/riscv-isa-sim.mk | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/package/riscv-isa-sim/riscv-isa-sim.mk >> b/package/riscv-isa-sim/riscv-isa-sim.mk >> index ee9067d304..90eed93c36 100644 >> --- a/package/riscv-isa-sim/riscv-isa-sim.mk >> +++ b/package/riscv-isa-sim/riscv-isa-sim.mk >> @@ -9,5 +9,6 @@ RISCV_ISA_SIM_SITE = $(call >> github,riscv-software-src,riscv-isa-sim,v$(RISCV_ISA >> RISCV_ISA_SIM_LICENSE = BSD-3-Clause >> RISCV_ISA_SIM_LICENSE_FILES = LICENSE >> HOST_RISCV_ISA_SIM_DEPENDENCIES = host-boost host-dtc >> +HOST_RISCV_ISA_SIM_CONF_OPTS = --with-boost=$(HOST_DIR) > > To be noted: riscv-isa-sim could also be configured with > --without-boost > and the build succeeds. > > Anyway: applied to master, thanks. > > Julien, do you know what ill-effect building without Boost would have? The absence of Boost is removing the "Command I/O via socket" feature of riscv-isa-sim (-s command line option). See: https://github.com/riscv-software-src/riscv-isa-sim/blob/v1.1.0/spike_main/spike.cc#L30 It's generally not needed in simple use-cases. My initial intent was to have host-riscv-isa-sim compiled without this Boost support. The upstream riscv-isa-sim detection of boost seems a bit peculiar and does not really honor --without-boost/--without-boost-regex/--without-boost-asio. Setting --without-boost alone on a system with boost will make the ./configure fail with: checking whether the Boost::ASIO library is available... yes configure: error: Could not find a version of the Boost::Asio library! Setting --without-boost --without-boost-regex --without-boost-asio will end up with a successful configuration/compilation, but with a binary linked with libboost_regex.so and libboost_system.so... I believe this part could be slightly improved before setting --without-boost in the BR recipe. I'll have a look into that. Best regards, Julien. > Regards, > Yann E. MORIN. > >> $(eval $(host-autotools-package)) >> -- >> 2.34.1 >> >> _______________________________________________ >> buildroot mailing list >> buildroot@buildroot.org >> https://lists.buildroot.org/mailman/listinfo/buildroot > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' > conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ > | > | +33 561 099 427 `------------.-------: X AGAINST | \e/ There > is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v > conspiracy. | > '------------------------------^-------^------------------^--------------------'
Julien, All, On 2022-01-23 21:03 +0100, Julien Olivain spake thusly: > On 19/01/2022 21:23, Yann E. MORIN wrote: [--SNIP--] > >To be noted: riscv-isa-sim could also be configured with --without-boost > >and the build succeeds. > >Julien, do you know what ill-effect building without Boost would have? > > The absence of Boost is removing the "Command I/O via socket" feature of > riscv-isa-sim (-s command line option). See: > https://github.com/riscv-software-src/riscv-isa-sim/blob/v1.1.0/spike_main/spike.cc#L30 > It's generally not needed in simple use-cases. Thanks for the feedback. :-) Indeed, if Boost is not a strict requirement, it would be nice to be able to build without it... > My initial intent was to have host-riscv-isa-sim compiled without this Boost > support. > > The upstream riscv-isa-sim detection of boost seems a bit peculiar and does > not > really honor --without-boost/--without-boost-regex/--without-boost-asio. > > Setting --without-boost alone on a system with boost will make the > ./configure > fail with: > > checking whether the Boost::ASIO library is available... yes > configure: error: Could not find a version of the Boost::Asio library! > > Setting --without-boost --without-boost-regex --without-boost-asio will end > up > with a successful configuration/compilation, but with a binary linked with > libboost_regex.so and libboost_system.so... > > I believe this part could be slightly improved before setting > --without-boost > in the BR recipe. I'll have a look into that. The problem, as you said, is that if Boost is available (either already isntalled on the build machine, or host-boost is puleld in by another package), configuring riscv-isa-sim with --without-boost still breaks with the message you pasted above. But we can't guarantee that Boost (system or host-boost) is not present. So, either we have a patch that fixes the Boost detection (and we push that patch upstream), or we can only depend on host-boost and keep the current status. Regards, Yann E. MORIN.
Hi Yann, All, On 23/01/2022 21:51, Yann E. MORIN wrote: > Julien, All, > > On 2022-01-23 21:03 +0100, Julien Olivain spake thusly: >> On 19/01/2022 21:23, Yann E. MORIN wrote: > [--SNIP--] >> >To be noted: riscv-isa-sim could also be configured with --without-boost >> >and the build succeeds. >> >Julien, do you know what ill-effect building without Boost would have? >> >> The absence of Boost is removing the "Command I/O via socket" feature >> of >> riscv-isa-sim (-s command line option). See: >> https://github.com/riscv-software-src/riscv-isa-sim/blob/v1.1.0/spike_main/spike.cc#L30 >> It's generally not needed in simple use-cases. > > Thanks for the feedback. :-) > > Indeed, if Boost is not a strict requirement, it would be nice to be > able to build without it... > >> My initial intent was to have host-riscv-isa-sim compiled without this >> Boost >> support. >> >> The upstream riscv-isa-sim detection of boost seems a bit peculiar and >> does >> not >> really honor >> --without-boost/--without-boost-regex/--without-boost-asio. >> >> Setting --without-boost alone on a system with boost will make the >> ./configure >> fail with: >> >> checking whether the Boost::ASIO library is available... yes >> configure: error: Could not find a version of the Boost::Asio >> library! >> >> Setting --without-boost --without-boost-regex --without-boost-asio >> will end >> up >> with a successful configuration/compilation, but with a binary linked >> with >> libboost_regex.so and libboost_system.so... >> >> I believe this part could be slightly improved before setting >> --without-boost >> in the BR recipe. I'll have a look into that. > > The problem, as you said, is that if Boost is available (either already > isntalled on the build machine, or host-boost is puleld in by another > package), configuring riscv-isa-sim with --without-boost still breaks > with the message you pasted above. > > But we can't guarantee that Boost (system or host-boost) is not > present. > > So, either we have a patch that fixes the Boost detection (and we push > that patch upstream), or we can only depend on host-boost and keep the > current status. I proposed a small upstream improvement of the boost detection here: https://github.com/riscv-software-src/riscv-isa-sim/pull/909 This should allow a clean host-riscv-isa-sim build in Buildroot using --without-boost is all situations (i.e. host has/hasn't boost, br host has/hasn't boost). Best regards, Julien. > Regards, > Yann E. MORIN. > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' > conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ > | > | +33 561 099 427 `------------.-------: X AGAINST | \e/ There > is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v > conspiracy. | > '------------------------------^-------^------------------^--------------------'
Julien, All, On 2022-01-24 19:47 +0100, Julien Olivain spake thusly: > On 23/01/2022 21:51, Yann E. MORIN wrote: [--SNIP--] > >So, either we have a patch that fixes the Boost detection (and we push > >that patch upstream), or we can only depend on host-boost and keep the > >current status. > > I proposed a small upstream improvement of the boost detection here: > https://github.com/riscv-software-src/riscv-isa-sim/pull/909 > > This should allow a clean host-riscv-isa-sim build in Buildroot using > --without-boost is all situations (i.e. host has/hasn't boost, br host > has/hasn't boost). Thanks for the heads up. It looks like upstream has been positive about that patch of yours, great! :-) When they actually merge it, do not hesitate to send an update to buildroot to backport that patch. Thanks! Regards, Yann E. MORIN.
diff --git a/package/riscv-isa-sim/riscv-isa-sim.mk b/package/riscv-isa-sim/riscv-isa-sim.mk index ee9067d304..90eed93c36 100644 --- a/package/riscv-isa-sim/riscv-isa-sim.mk +++ b/package/riscv-isa-sim/riscv-isa-sim.mk @@ -9,5 +9,6 @@ RISCV_ISA_SIM_SITE = $(call github,riscv-software-src,riscv-isa-sim,v$(RISCV_ISA RISCV_ISA_SIM_LICENSE = BSD-3-Clause RISCV_ISA_SIM_LICENSE_FILES = LICENSE HOST_RISCV_ISA_SIM_DEPENDENCIES = host-boost host-dtc +HOST_RISCV_ISA_SIM_CONF_OPTS = --with-boost=$(HOST_DIR) $(eval $(host-autotools-package))
Set --with-boost to avoid the following build failure when a non working boost version is installed on host. This failure is raised since the addition of the package in commit ea033cecf990ed3f86619647523a9ad2ccb09adb: configure:5559: error: Could not find a version of the Boost::Asio library! Fixes: - http://autobuild.buildroot.org/results/855b66b86d979cc922b947da932b0e2388481263 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- package/riscv-isa-sim/riscv-isa-sim.mk | 1 + 1 file changed, 1 insertion(+)