help with boost 1.35 variant specification

View: New views
3 Messages — Rating Filter:   Alert me  

help with boost 1.35 variant specification

by smr99 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

We have been building boost (up to 1.34.1) for Debian/linux using

        $(JAM) variant=release,debug threading=single,multi

where $(JAM) is the path to bjam (built from the boost sources)
together with the options -d2, --user-config and -sHAVE_ICU=1.

The user config file contains:

  using gcc : 4.2 : g++-4.2 : <define>_REENTRANT ;
  using python : 2.4 : /usr ;
  using python : 2.5 : /usr ;


This always resulted in four static libraries and four
shared libraries for, say, the date-time library.

With 1.35, however, I get the four shared libs but only one
static lib:

  steve@riemann{boost_1_35_0}grep 'gcc.link.dll.*date' ../boost_1.35.0-1_i386.build
  gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/release/libboost_date_time-gcc42-1_35.so.1.35.0
  gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/release/threading-multi/libboost_date_time-gcc42-mt-1_35.so.1.35.0
  gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/debug/libboost_date_time-gcc42-d-1_35.so.1.35.0
  gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/debug/threading-multi/libboost_date_time-gcc42-mt-d-1_35.so.1.35.0

  steve@riemann{boost_1_35_0}grep 'gcc.archive.*date' ../boost_1.35.0-1_i386.build
  gcc.archive ../../../bin.v2/libs/date_time/build/gcc-4.2/release/link-static/threading-multi/libboost_date_time-gcc42-mt-1_35.a

How do I get all 8 library builds back?


I have read a couple of posts about --build-type=complete, so I tried adding that to $(JAM),
but this gives a completely inpenetrable error:

Skipping build of:  ./headers  <build>no in common properties
Skipping build of:  ./build_all  <build>no in common properties
Skipping build of:  libs/regex/build/icucore  <build>no in common properties
Skipping build of:  libs/regex/build/icuin  <build>no in common properties
Skipping build of:  libs/regex/build/icudata  <build>no in common properties
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/class.jam:93: in new
*** argument error
* rule object(searched-lib-target)@2059.__init__ ( name : project : shared ? : search * : action )
* called with: ( icudata icui18n icuuc : object(project-target)@212 : true :  : object(null-action)@2058 :  :  :  :  )
* extra argument icui18n
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/tools/builtin.jam:349:see definition of rule '__init__' being called
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/tools/builtin.jam:592: in searched-lib-generator.run
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/tools/unix.jam:113: in object(unix-searched-lib-generator)@25.run
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:859: in try-one-generator-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:920: in try-one-generator
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:1131: in construct-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:1204: in generators.construct
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/tools/builtin.jam:496: in object(lib-generator)@5.run
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:859: in try-one-generator-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:920: in try-one-generator
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:1131: in construct-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:1204: in generators.construct
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:1368: in construct
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:1206: in object(typed-target)@224.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:742: in generate-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:715: in object(main-target)@655.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:254: in object(project-target)@212.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:858: in targets.generate-from-reference
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:1129: in generate-dependencies
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:1179: in object(alias-target-class)@114.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:742: in generate-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:715: in object(main-target)@376.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:254: in object(project-target)@70.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build-system.jam:658: in load
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/modules.jam:267: in import
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/bootstrap.jam:132: in boost-build
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/boost-build.jam:11: in module scope
make: *** [build-stamp] Error 1

What does this mean: did I invoke bjam incorrectly or is some jam file broken?


Thanks,
-Steve


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

signature.asc (196 bytes) Download Attachment

Re: help with boost 1.35 variant specification

by Vladimir Prus :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Steve M. Robbins wrote:

> Hi,
>
> We have been building boost (up to 1.34.1) for Debian/linux using
>
> $(JAM) variant=release,debug threading=single,multi
>
> where $(JAM) is the path to bjam (built from the boost sources)
> together with the options -d2, --user-config and -sHAVE_ICU=1.
>
> The user config file contains:
>
>   using gcc : 4.2 : g++-4.2 : <define>_REENTRANT ;
>   using python : 2.4 : /usr ;
>   using python : 2.5 : /usr ;
>
>
> This always resulted in four static libraries and four
> shared libraries for, say, the date-time library.
>
> With 1.35, however, I get the four shared libs but only one
> static lib:
>
>   steve@riemann{boost_1_35_0}grep 'gcc.link.dll.*date' ../boost_1.35.0-1_i386.build
>   gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/release/libboost_date_time-gcc42-1_35.so.1.35.0
>   gcc.link.dll
>  
bin.v2/libs/date_time/build/gcc-4.2/release/threading-multi/libboost_date_time-gcc42-mt-1_35.so.1.35.0
>   gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/debug/libboost_date_time-gcc42-d-1_35.so.1.35.0
>   gcc.link.dll
>  
bin.v2/libs/date_time/build/gcc-4.2/debug/threading-multi/libboost_date_time-gcc42-mt-d-1_35.so.1.35.0
>
>   steve@riemann{boost_1_35_0}grep 'gcc.archive.*date' ../boost_1.35.0-1_i386.build
>   gcc.archive
>   ../../../bin.v2/libs/date_time/build/gcc-4.2/release/link-static/threading-multi/libboost_date_time-gcc42-mt-1_35.a
>
> How do I get all 8 library builds back?

Assuming you really want those 8 library variants (just in case -- which other libraries
in Debian build that many?) you can use:

        $(JAM) variant=release,debug threading=single,multi link=shared,static

> I have read a couple of posts about --build-type=complete, so I tried adding that to $(JAM),
> but this gives a completely inpenetrable error:
>
> Skipping build of:  ./headers  <build>no in common properties
> Skipping build of:  ./build_all  <build>no in common properties
> Skipping build of:  libs/regex/build/icucore  <build>no in common properties
> Skipping build of:  libs/regex/build/icuin  <build>no in common properties
> Skipping build of:  libs/regex/build/icudata  <build>no in common properties
> /usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/class.jam:93: in
> new *** argument error
> * rule object(searched-lib-target)@2059.__init__ ( name : project : shared ? : search * : action )
> * called with: ( icudata icui18n icuuc : object(project-target)@212 : true :  :
> object(null-action)@2058 :  :  :  :  ) * extra argument icui18n
.........
> /usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/bootstrap.jam:132:
> in boost-build /usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/boost-build.jam:11: in
> module scope make: *** [build-stamp] Error 1
>
> What does this mean: did I invoke bjam incorrectly or is some jam file broken?

I don't understand what that means, either. Can you provide the output with extra --debug-building
option? Might be that building regex statically got broken somehow.

- Volodya


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: help with boost 1.35 variant specification

by ki11roy :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Volodya,

It means that ICU library compiled with another version of compiler (gcc in this case), so it leads to problems with Boost.Regex compilation. I've solved this by rebuilding of ICU from sources with my current version of GCC.

WBR,
Andrew

Vladimir Prus wrote:
Steve M. Robbins wrote:

> Hi,
>
> We have been building boost (up to 1.34.1) for Debian/linux using
>
> $(JAM) variant=release,debug threading=single,multi
>
> where $(JAM) is the path to bjam (built from the boost sources)
> together with the options -d2, --user-config and -sHAVE_ICU=1.
>
> The user config file contains:
>
>   using gcc : 4.2 : g++-4.2 : <define>_REENTRANT ;
>   using python : 2.4 : /usr ;
>   using python : 2.5 : /usr ;
>
>
> This always resulted in four static libraries and four
> shared libraries for, say, the date-time library.
>
> With 1.35, however, I get the four shared libs but only one
> static lib:
>
>   steve@riemann{boost_1_35_0}grep 'gcc.link.dll.*date' ../boost_1.35.0-1_i386.build
>   gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/release/libboost_date_time-gcc42-1_35.so.1.35.0
>   gcc.link.dll
>  
bin.v2/libs/date_time/build/gcc-4.2/release/threading-multi/libboost_date_time-gcc42-mt-1_35.so.1.35.0
>   gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/debug/libboost_date_time-gcc42-d-1_35.so.1.35.0
>   gcc.link.dll
>  
bin.v2/libs/date_time/build/gcc-4.2/debug/threading-multi/libboost_date_time-gcc42-mt-d-1_35.so.1.35.0
>
>   steve@riemann{boost_1_35_0}grep 'gcc.archive.*date' ../boost_1.35.0-1_i386.build
>   gcc.archive
>   ../../../bin.v2/libs/date_time/build/gcc-4.2/release/link-static/threading-multi/libboost_date_time-gcc42-mt-1_35.a
>
> How do I get all 8 library builds back?

Assuming you really want those 8 library variants (just in case -- which other libraries
in Debian build that many?) you can use:

        $(JAM) variant=release,debug threading=single,multi link=shared,static

> I have read a couple of posts about --build-type=complete, so I tried adding that to $(JAM),
> but this gives a completely inpenetrable error:
>
> Skipping build of:  ./headers  <build>no in common properties
> Skipping build of:  ./build_all  <build>no in common properties
> Skipping build of:  libs/regex/build/icucore  <build>no in common properties
> Skipping build of:  libs/regex/build/icuin  <build>no in common properties
> Skipping build of:  libs/regex/build/icudata  <build>no in common properties
> /usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/class.jam:93: in
> new *** argument error
> * rule object(searched-lib-target)@2059.__init__ ( name : project : shared ? : search * : action )
> * called with: ( icudata icui18n icuuc : object(project-target)@212 : true :  :
> object(null-action)@2058 :  :  :  :  ) * extra argument icui18n
.........
> /usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/bootstrap.jam:132:
> in boost-build /usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/boost-build.jam:11: in
> module scope make: *** [build-stamp] Error 1
>
> What does this mean: did I invoke bjam incorrectly or is some jam file broken?

I don't understand what that means, either. Can you provide the output with extra --debug-building
option? Might be that building regex statically got broken somehow.

- Volodya


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build