Vladimir Prus | 20 Nov 19:01
Picon

Re: Boost 1.37 will not build for me on Windows

On Thursday 20 November 2008 20:25:10 Larry E. Ramey wrote:
> I've used boost before, I've used jam before. Something about 1.37 doesn't like me.....
> 
> 
> So I downloaded all the sources for 1.37, I went and ran the bjam
> build.bat file. It correctly identified my compiler as vc7. (2003.NET)
> JOY.
> 
> bjam --help works. I can get a print of my options. When I then try to run it, I get very wierd errors:
> 
> C:\RTI\devroot\packages-src\boost>tools\jam\stage\bin.ntx86\bjam.exe
> --includedir="c:\ler\boost\" --libdir="c:\ler\boost\win32"
> --with-filesystem --builddir="c:\ler\build"
> C:/RTI/devroot/packages-src/boost/tools/build/v2/build\project.jam:292: in load-jamfile
> *** argument error
> * rule path.parent ( path )
> * called with: ( project-root.jam Jamroot )

This means some directory has both project-root.jam and Jamroot. 'project-root.jam' is old
spelling, and Jamroot is new, and Boost.Build naturally cannot load both. Are you sure
you're not unpacking 1.37 over some old tree?

I have committed a fix to improve this error message, like so:

	error: Multiple Jamfiles found at '.'
	error: Filenames are:  Jamroot jamroot.jam

- Volodya

_______________________________________________
(Continue reading)

Michael Jackson | 20 Nov 16:53

Re: [1.37][VC8.0] Building Filesystem Library


On Nov 20, 2008, at 10:21 AM, df.trash wrote:

> I want to build the Filesystem Library on Windows so that it  
> statically links to my code at runtime.
> I use the following statement on the command line to invoke bjam:
>
> bjam release --with-filesystem --toolset=msvc-7.1 link=static
>
> This builds only 1 library: libboost_filesystem-vc80-mt-1_36.lib
> It does not build the System Library which Filesystem depends on.
>
> I'm very much new to the Boost paradigm.
> Why can I not build the System Library statically?
> Do I really need the System Library and its error handling features?
> Will the Filesystem Library need the System Library or is the System  
> Library just an option to handle errors and not essential at  
> runtime? _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

bjam release --with-filesystem --with-system --toolset=msvc-7.1  
link=static

should get you there. It should compile BOTH the filesystem and system  
libraries for you.

_________________________________________________________
Mike Jackson                  mike.jackson <at> bluequartz.net
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio
(Continue reading)

vicente.botet | 20 Nov 15:02
Picon

building with gcc-4.3.2 on cygwin

Hi,
 
I'm trying to build Boost with gcc 4.3.2 on cygwin.
 
I have added this to my user-config
 
using gcc : : : ;
using gcc : 4.3.2 : /bin/g++-4.exe ;
and I use the following bjam command
 
$ bjam toolset=gcc-4.3.2 target-os=cygwin threading=multi threadapi=pthread var
iant=debug
 
How can I be sure that I'm building with the correct compiler version?
 
I have tried with the -a option on both toolsets
$ bjam toolset=gcc-4.3.2 target-os=cygwin threading=multi threadapi=pthread var
iant=debug  -a
 
$ bjam toolset=gcc target-os=cygwin threading=multi threadapi=pthread var
iant=debug  -a
 
and I don't see any differences
 
    "g++"  -ftemplate-depth-128 -O0 -fno-inline -Wall -g -mthreads  -DBOOST_ALL_NO_LIB=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -DBOOST_THREAD_USE_LIB=1  -I"../../.." -I"../../../.." -c -o "C:\cygwin\home\Vicente\SVN\bin.v2\vbe_interthreads\libs\interthreads\test\multiple_algorithms.test\gcc-4.3.2\debug\threading-multi\multiple_algorithms.o" "C:\cygwin\home\Vicente\SVN\vbe_interthreads\libs\interthreads\example\multiple_algorithms.cpp"
What could be wrong on my configuration?
 
Thanks for your help,

Vicente
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
Jurko Gospodnetić | 20 Nov 02:10
Picon

Re: Programmatic Job Count

   Hi Volodya.
> Please update and rebuild Boost.Jam. Then, put the following in your Jamroot:
> 
> 	import modules ;
> 	modules.poke : PARALLELISM : 4 ;
> 
> and it should have the same effect as -j4 on command line. Presently, the PARALLELISM
> variable overrides -j option. Soonish, I'll make it so:
> 
> - you can create file project-config.jam, containing:
> 
> 	option jobs : 4 ;
> 
> and have 4 jobs by default
> 
> - you can use --jobs=10 on command like, overriding project-config.jam
> 
> Let me know if the Boost.Jam change works for you, and if the future directions
> seems right,

   Me likes... :-) Seems to naturally and cleanly extend to other 
options then like -q, -d or even those like toolset and regular property 
settings, etc... but one thing at a time... :-)

   Except that I do not really understand what the project-config.jam 
file is supposed to represent? Is that another Jamroot alias or have I 
missed a design change while I was off-line?

   Best regards,
     Jurko Gospodnetić

   P.S.
     My work still isn't easing up so I'm still pretty much off-line 
related to Boost Build but I'm trying to catch up... currently only 548 
unread posts and lots of commit messages to process :-)))

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
K.Noel Belcourt | 18 Nov 20:44
Picon

darwin DYLD_LIBRARY_PATHn environment variable problem

Hi,

It seems that a recent change to the build system resulted in  
failures of this sort, when running tests on OSX (either darwin or  
intel-darwin).

testing.capture-output ../bin.v2/libs/mesh/test/test_hfds.test/ 
darwin-4.0.1/debug/test_hfds.run

     DYLD_LIBRARY_PATH=/Users/kbelco/boost/bin.v2/libs/mesh/build/ 
darwin-4.0.1/debug:$DYLD_LIBRARY_PATHnexport DYLD_LIBRARY_PATHn

...

/bin/sh: line 2: DYLD_LIBRARY_PATHn: command not found
====== BEGIN OUTPUT ======
dyld: Library not loaded: libboost_mesh-xgcc40-d-1_38.dylib
   Referenced from: /Users/kbelco/boost/status/../bin.v2/libs/mesh/ 
test/test_hfds.test/darwin-4.0.1/debug/test_hfds
   Reason: image not found

There is an extra 'n' showing up in the environment variable name.   
Anyone know where this is coming from?  It rather looks like an end  
of line character that is mis-interpreted on the Mac.

-- Noel

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

Chuck_d | 17 Nov 18:25

Linker error when build filesystem library for Arm9 on x86 Suse 10 platform


I desperatly need help resolving this issue, as I am fighting against a
deadline.
I would really appreciate if someone can help resolve this issue.

I am using Suse 10 linux running on x86 and trying to cross-compile
filesystem library for Arm9 processor. I am using windriver PCD1.4
toolchain. Here's the command and output.

wrlinux <at> mp201_linux_box_1:~/boost_1_35_0> ./tools/jam/src/bin.linuxx86/bjam 
'-sBUILD=release static multi'
'-sGCC_ROOT_DIRECTORY=/home/wrlinux/gnu/3.4.4-wrlinux-1.4/x86-linux2/bin/'
'-sGCC=arm-wrs-linux-gnueabi-arm_novfp-glibc_small-gcc'
'-sGXX=arm-wrs-linux-gnueabi-arm_novfp-glibc_small-g++ -D_REENTRANT'
--with-filesystem
...patience...
...found 410 targets...
...updating 1 target...
gcc.link.dll
bin.v2/libs/filesystem/build/gcc-3.4.4/release/threading-multi/libboost_filesystem-gcc34-mt-1_35.so.1.35.0
bin.v2/libs/filesystem/build/gcc-3.4.4/release/threading-multi/path.o:(.bss._ZZNK5boost6system14error_category7messageEiE1s[boost::system::error_category::message(int)
const::s]+0x0): multiple definition of
`boost::system::error_category::message(int) const::s'
bin.v2/libs/filesystem/build/gcc-3.4.4/release/threading-multi/operations.o:(.bss._ZZNK5boost6system14error_category7messageEiE1s[*boost::system::error_category::message(int)
const::s]+0x0): first defined here
collect2: ld returned 1 exit status

   
"/home/wrlinux/gnu/3.4.4-wrlinux-1.4/x86-linux2/bin/arm-wrs-linux-gnueabi-arm_novfp-glibc_small-g++"
"-D_REENTRANT"    -o
"bin.v2/libs/filesystem/build/gcc-3.4.4/release/threading-multi/libboost_filesystem-gcc34-mt-1_35.so.1.35.0"
-Wl,-h -Wl,libboost_filesystem-gcc34-mt-1_35.so.1.35.0
-shared
-Wl,--start-group
"bin.v2/libs/filesystem/build/gcc-3.4.4/release/threading-multi/operations.o"
"bin.v2/libs/filesystem/build/gcc-3.4.4/release/threading-multi/path.o"
"bin.v2/libs/filesystem/build/gcc-3.4.4/release/threading-multi/portability.o"
"bin.v2/libs/filesystem/build/gcc-3.4.4/release/threading-multi/utf8_codecvt_facet.o"
"bin.v2/libs/system/build/gcc-3.4.4/release/threading-multi/libboost_system-gcc34-mt-1_35.so.1.35.0" 
-Wl,-Bstatic  -Wl,-Bdynamic -lrt -Wl,--end-group -Wl,--strip-all -pthread

...failed gcc.link.dll
bin.v2/libs/filesystem/build/gcc-3.4.4/release/threading-multi/libboost_filesystem-gcc34-mt-1_35.so.1.35.0...
...failed updating 1 target...

--

-- 
View this message in context: http://www.nabble.com/Linker-error-when-build-filesystem-library-for-Arm9-on-x86-Suse-10-platform-tp20543990p20543990.html
Sent from the Boost - Build mailing list archive at Nabble.com.

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

Vladimir Prus | 16 Nov 19:00
Picon

Re: gcc precompiled headers

On Sunday 16 November 2008 20:25:35 Jeroen van der Wulp wrote:
> Hello everyone,
> 
> I'm still looking at precompiled headers and I found another small 
> issue. At some point it all seemed to work but today I found that the 
> names of precompiled headers should be of the form x.hpp.gch for a 
> header file x.hpp. With the Boost trunk version of Boost Build I am 
> getting x.gch which I thought to be okay for some time.
> 
> The comment in gcc.jam suggests that it was once working this way:
> 
> # Calls the base version specifying source's name as the name of the created
> # target. As result, the PCH will be named whatever.hpp.gch, and not
> # whatever.gch.
> rule generated-targets ( sources + : property-set : project name ? )
> 
> I prepared a small patch that solved the problem for me. Although it 
> solves the problem it feels like a hack. Maybe someone more knowledgable 
> can have a quick look.

This is recent breakage from the 'make source files with same name 
in different directories work' patch. I've checked in a fix:

	https://svn.boost.org/trac/boost/changeset/49800

> Another problem I'm having is that I'm importing precompiled headers in 
> library sources files as well as source files for executables. The 
> differences between the two in my case are the setting of the -fPIC 
> flag. The precompiled header cannot be used by both.

Are either libraries or executables static? Because when link=static, which
is the default, -fPIC is added everywhere.

> Can I also solve this problem by setting -fpic for all compilations in 
> the project? For what platforms/gcc versions can this work and does this 
> have any unwanted side-effects? 

-fPIC will work everywhere. It has some performance penalty, though I'm not
sure anybody considers it significant nowdays.

> On the other hand I was wondering  
> whether an position independent code feature might help with this.

Suggestion for 'shared-linkable' feature was raised some time ago; I'm don't
have a strong opinion either way.

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

John Maddock | 15 Nov 13:35
Picon

Inserting an extra stage into the BoostBook toolchain?

OK, I have a very primitive automatic indexer, that accepts Docbook XML as 
input along with a concordance/script file and outputs another Docbook XML 
file with index entries inserted.  It would speed up development a great 
deal if I could insert this tool into the regular quickbook/boostbook build 
process, anyone have any pointers on how to achieve this?  And yes, I've 
looked at the extender manual, but can't see at present how to modify an 
existing tool chain...

Many thanks, John. 

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

Vidhu Choudhary | 14 Nov 22:13
Picon

tokenizer

Hi
I am using tokenizer from boost. On my windows machine I want to
install tokenizer only. Can you please suggest how can I do that

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

Paul A. Bristow | 14 Nov 17:19

bjam rule message unknown in module Jamfile /boost_1_37_0/libs/graph/build

Using a new machine (Vista Sp1 and VS2008)  I have been able to build using
several jamfiles from Boost 1.37, trunk and sandbox.

But quite a few items won't build thus (for example):

I:\Boost_sandbox\math_toolkit\libs\math\example>bjam
I:\boost_1_37_0\libs\graph\build\Jamfile.v2:41: in modules.load
rule message unknown in module Jamfile</I:/boost_1_37_0/libs/graph/build>.
I:/boost_1_37_0/boost-build/build\project.jam:312: in load-jamfile
I:/boost_1_37_0/boost-build/build\project.jam:68: in project.load
I:/boost_1_37_0/boost-build/build\project.jam:718: in project.use
I:/boost_1_37_0/boost-build/build\project.jam:94: in load-used-projects
I:/boost_1_37_0/boost-build/build\project.jam:79: in load
I:/boost_1_37_0/boost-build/build\project.jam:120: in load-parent
I:/boost_1_37_0/boost-build/build\project.jam:447: in initialize
I:/boost_1_37_0/boost-build/build\project.jam:301: in load-jamfile
I:/boost_1_37_0/boost-build/build\project.jam:68: in project.load
I:/boost_1_37_0/boost-build/build\project.jam:718: in project.use
I:/boost_1_37_0/boost-build/build\project.jam:94: in load-used-projects
I:/boost_1_37_0/boost-build/build\project.jam:79: in load
I:/boost_1_37_0/boost-build/build\project.jam:120: in load-parent
I:/boost_1_37_0/boost-build/build\project.jam:447: in initialize
I:/boost_1_37_0/boost-build/build\project.jam:301: in load-jamfile
I:/boost_1_37_0/boost-build/build\project.jam:68: in load
I:/boost_1_37_0/boost-build/build\project.jam:170: in project.find
I:/boost_1_37_0/boost-build\build-system.jam:248: in load
I:\boost_1_37_0\boost-build/kernel\modules.jam:261: in import
I:\boost_1_37_0\boost-build/kernel/bootstrap.jam:132: in boost-build
I:\Boost_sandbox\boost-build.jam:43: in module scope

\boost_1_37_0\libs\math\example

And \boost_trunk\libs\math\example

Both build OK.

I've not been able to see what is the feature the failures have in common.

The same modules build OK using 

Nor, despite trying some of the debug options, what I am doing wrong.

Suggestions - please!

Paul

---
Paul A. Bristow
Prizet Farmhouse
Kendal, UK   LA8 8AB
+44 1539 561830, mobile +44 7714330204
pbristow <at> hetp.u-net.com

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

Brad Howes | 14 Nov 15:49
Picon

IDL and Qt Generator Conflict

All,

I'm working on a project that is attempting to use OpenDDS (from the  
ACE/TAO team) along with Nokia's Qt. The build system works great so  
far with just Qt. I created my own simplistic idl.jam tool that  
invokes the two OpenDDS tools to generate the C++ files from an IDL  
spec. For a file Foobar.idl, the first tool generates the following:

     FoobarTypeSupport.idl
     FoobarTypeSupportImpl.cpp
     FoobarTypeSupportImpl.h

One then runs another tool from ACE/TAO to generate C++ files from the  
(now two) IDL files:

     FoobarTypeSupportC.cpp
     FoobarTypeSupportC.h
     FoobarTypeSupportC.inl
     FoobarTypeSupportS.cpp
     FoobarTypeSupportS.h
     FoobarTypeSupportS.inl

     FoobarC.cpp
     FoobarC.h
     FoobarC.inl
     FoobarS.cpp
     FoobarS.h
     FoobarS.inl

All of this works just great in Boost Build. The derived files are  
created in the appropriate build variant directory. Here is my  
generator line in the idl.jam file:

     type.register INL : inl : H ;
     generators.register-standard idl.OpenDDS-IDL : IDL :  
CPP(%TypeSupportImpl) CPP(%TypeSupportC) CPP(%TypeSupportS)
          CPP(%C) CPP(%S) INL(%TypeSupportC) INL(%TypeSupportS)  
INL(%C) INL(%S) ;

What I would like is to add the *.h files as well, using  
H(%TypeSupportImpl), H(%TypeSupportC), etc. But when I do, I get a  
Boost Build error complaining:

     Error: ambiguity found when searching for best transformation
     Trying to produce type 'CPP' from:
      -  { Messenger.idl.IDL }
     Generators that succeeded:
      -  qt4.moc
      -  idl.OpenDDS-IDL
     First generator produced:
      -  { qt4%qt4.moc-moc_MessengerC.cpp.CPP { idl%idl.OpenDDS-IDL- 
MessengerC.h.H { Messenger.idl.IDL } } }
     Second generator produced:
      -  { idl%idl.OpenDDS-IDL-MessengerTypeSupportC.cpp.CPP  
{ Messenger.idl.IDL } }
     .
     .
     .

I certainly understand the ambiguity, though why does it happen when I  
add "H(%C)" to the generator? Any ideas on how to coexist with another  
generator that handles similar suffixes? For the record, my Qt stuff  
does not use any IDL, so I could conceivably customize my qt4.jam file  
and remove that part.

Finally, just a quick note of thanks to all who work on Boost Build. I  
cannot imagine working on another project without it.

Thanks,

Brad

--

-- 
Brad Howes
Group 42
MIT Lincoln Laboratory • 244 Wood St. • Lexington, MA 02173
Phone: 781.981.5292 • Fax: 781.981.3495 • Secretary: 781.981.7420

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


Gmane