[1.35.0] Release candidate 1 available

Release Candidate 1 is available at http://boost.cowic.de/rc/ Since there may well be major issues with this first RC, I'm very deliberately not posting this notice to the users list, and am not pushing the files out to Sourceforge. Presumably we will have more confidence in RC2, and will announce it on the users list. See my recent posting "Release candidate quality assurance" for discussion of how to QA check release candidates. --Beman

Beman Dawes wrote:
Release Candidate 1 is available at http://boost.cowic.de/rc/
Hi, I am building the latest release candidate on windows xp with msvc 9.0 (Visual Studio 2008 Express Edition). I was able to build bjam without problems. When I ran bjam.exe from the top level directory, I started seeing compile problems after a few minutes: MkDir1 bin.v2\libs\function_types\build\msvc-9.0express MkDir1 bin.v2\libs\function_types\build\msvc-9.0express\release MkDir1 bin.v2\libs\function_types\build\msvc-9.0express\release\threading-multi Jamfile</c:/cygwin_home/dave/boost_windows_test.git/boost-windows-2008-03-14/libs/function_types/build>.wave c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2007-03-14\libs\function_types\build\timestamps\arity_loops The system cannot find the path specified. c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14/dist/bin/wave -Sc:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14 libs\function_types\build\preprocess_arity_loops.cpp -o c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14\libs\function_types\build\timestamps\arity_loops ...failed Jamfile</c:/cygwin_home/dave/boost_windows_test.git/boost-windows-2008-03-14/libs/function_types/build>.wave c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14\libs\function_types\build\timestamps\arity_loops... ...removing c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14\libs\function_types\build\timestamps\arity_loops Jamfile</c:/cygwin_home/dave/boost_windows_test.git/boost-windows-2008-03-14/libs/function_types/build>.wave c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14\libs\function_types\build\timestamps\encoding The system cannot find the path specified. c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14/dist/bin/wave -Sc:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14 libs\function_types\build\preprocess_encoding.cpp -o c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14\libs\function_types\build\timestamps\encoding ...failed Jamfile</c:/cygwin_home/dave/boost_windows_test.git/boost-windows-2008-03-14/libs/function_types/build>.wave c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14\libs\function_types\build\timestamps\encoding... ...removing c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2008-03-14\libs\function_types\build\timestamps\encoding

Dave Compton wrote:
Beman Dawes wrote:
Release Candidate 1 is available at http://boost.cowic.de/rc/
Hi,
I am building the latest release candidate on windows xp with msvc 9.0 (Visual Studio 2008 Express Edition). I was able to build bjam without problems.
When I ran bjam.exe from the top level directory, I started seeing compile problems after a few minutes:
MkDir1 bin.v2\libs\function_types\build\msvc-9.0express MkDir1 bin.v2\libs\function_types\build\msvc-9.0express\release MkDir1 bin.v2\libs\function_types\build\msvc-9.0express\release\threading-multi Jamfile</c:/cygwin_home/dave/boost_windows_test.git/boost-windows-2008-03-14/libs/function_types/build>.wave c:\cygwin_home\dave\boost_windows_test.git\boost-windows-2007-03-14\libs\function_types\build\timestamps\arity_loops The system cannot find the path specified. ...
Thanks for the report. Also see Sean Hunt's similar report for Linux. --Beman

Dave Compton wrote:
Beman Dawes wrote:
Release Candidate 1 is available at http://boost.cowic.de/rc/
Hi,
I am building the latest release candidate on windows xp with msvc 9.0 (Visual Studio 2008 Express Edition). I was able to build bjam without problems.
When I ran bjam.exe from the top level directory, I started seeing compile problems after a few minutes: ...
This is now fixed in the latest snapshots, but it wouldn't hurt for someone else to verify that. Thanks, --Beman

Beman Dawes wrote:
Release Candidate 1 is available at http://boost.cowic.de/rc/
Since there may well be major issues with this first RC, I'm very deliberately not posting this notice to the users list, and am not pushing the files out to Sourceforge.
Presumably we will have more confidence in RC2, and will announce it on the users list.
See my recent posting "Release candidate quality assurance" for discussion of how to QA check release candidates.
I downloaded it, and the first thing I tried was going to the documentation and trying to follow the links for all the libraries. The links to the accumulators and unordered libraries failed. Also, where's the "What's New" section? Joe Gottman

On 14/03/2008, Joe Gottman <jgottman@carolina.rr.com> wrote:
I downloaded it, and the first thing I tried was going to the documentation and trying to follow the links for all the libraries. The links to the accumulators and unordered libraries failed.
Neither library is included in the release, it looks like the links were accidentally merged, I'll prepare a patch. Daniel

On 14/03/2008, Daniel James <daniel_james@fmail.co.uk> wrote:
On 14/03/2008, Joe Gottman <jgottman@carolina.rr.com> wrote:
I downloaded it, and the first thing I tried was going to the documentation and trying to follow the links for all the libraries. The links to the accumulators and unordered libraries failed.
Neither library is included in the release, it looks like the links were accidentally merged, I'll prepare a patch.
Patch attached, is it okay to commit? Also, several libraries need their documentation rebuilt to pick up the latest BoostBook changes. Can I do this is in the release branch? Although, ideally, this should be part of the release process. Daniel

Daniel James wrote:
On 14/03/2008, Daniel James <daniel_james@fmail.co.uk> wrote:
On 14/03/2008, Joe Gottman <jgottman@carolina.rr.com> wrote:
I downloaded it, and the first thing I tried was going to the documentation and trying to follow the links for all the libraries. The links to the accumulators and unordered libraries failed.
Neither library is included in the release, it looks like the links were accidentally merged, I'll prepare a patch.
Patch attached, is it okay to commit?
Yes. Daniel, it is OK for you to commit docs and links fixes without asking permission.
Also, several libraries need their documentation rebuilt to pick up the latest BoostBook changes. Can I do this is in the release branch? Although, ideally, this should be part of the release process.
Documentation rebuild *is* part of the release snapshot process. It runs once a day, starting at 2AM US Eastern time. I'm not, however, updating RC1. So if you look at http://boost.cowic.de/rc/ now, you will see the RC1 packages plus last night's snapshot. Hopefully the BoostBook changes are reflected in that snapshot. If not, is it possible that they were committed to trunk but not merged into the release branch? Looking at the log for branches/release, I'm not seeing anything recent that looks like docs changes. Thanks for all your help on this, --Beman

On 15/03/2008, Beman Dawes <bdawes@acm.org> wrote:
Also, several libraries need their documentation rebuilt to pick up the latest BoostBook changes. Can I do this is in the release branch? Although, ideally, this should be part of the release process.
Documentation rebuild *is* part of the release snapshot process. It runs once a day, starting at 2AM US Eastern time.
I was writing about the documentation which is checked in. I'll rebuild anything which needs updating. Daniel

Daniel James wrote:
On 15/03/2008, Beman Dawes <bdawes@acm.org> wrote:
Also, several libraries need their documentation rebuilt to pick up the latest BoostBook changes. Can I do this is in the release branch? Although, ideally, this should be part of the release process.
Documentation rebuild *is* part of the release snapshot process. It runs once a day, starting at 2AM US Eastern time.
I was writing about the documentation which is checked in. I'll rebuild anything which needs updating.
Ah! I'd forgotten about that. So for the future, it sounds as if we should be running an additional automatic process, perhaps as part of the snapshot creation, that commits any generated documentation that is supposed to be checked in? I'm hazy as to the exact details. When you manually "rebuild anything that needs updating", could you please keep track of what you do so we can talk about automating it? Thanks, --Beman

Beman Dawes wrote:
Daniel James wrote:
Also, several libraries need their documentation rebuilt to pick up the latest BoostBook changes. Can I do this is in the release branch? Although, ideally, this should be part of the release process.
Documentation rebuild *is* part of the release snapshot process. It runs once a day, starting at 2AM US Eastern time.
I'm not, however, updating RC1. So if you look at http://boost.cowic.de/rc/ now, you will see the RC1 packages plus last night's snapshot. Hopefully the BoostBook changes are reflected in that snapshot. If not, is it possible that they were committed to trunk but not merged into the release branch? Looking at the log for branches/release, I'm not seeing anything recent that looks like docs changes.
FYI... I just merged the various tools. So this aspect should be resolved now. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail

Rene Rivera wrote:
Beman Dawes wrote:
Daniel James wrote:
Also, several libraries need their documentation rebuilt to pick up the latest BoostBook changes. Can I do this is in the release branch? Although, ideally, this should be part of the release process. Documentation rebuild *is* part of the release snapshot process. It runs once a day, starting at 2AM US Eastern time.
I'm not, however, updating RC1. So if you look at http://boost.cowic.de/rc/ now, you will see the RC1 packages plus last night's snapshot. Hopefully the BoostBook changes are reflected in that snapshot. If not, is it possible that they were committed to trunk but not merged into the release branch? Looking at the log for branches/release, I'm not seeing anything recent that looks like docs changes.
FYI... I just merged the various tools. So this aspect should be resolved now.
Thanks, Rene! --Beman

----- Original Message ----- From: "Beman Dawes" <bdawes@acm.org> To: "Boost mailing list" <boost@lists.boost.org> Sent: Friday, March 14, 2008 4:16 PM Subject: [boost] [1.35.0] Release candidate 1 available
Release Candidate 1 is available at http://boost.cowic.de/rc/
--Beman
The added libraries are not ordered lexicographically on the Libraries Listed by Category section. Should this be ordered? ;-) _____________________ Vicente Juan Botet Escriba

vicente.botet wrote:
The added libraries are not ordered lexicographically on the Libraries Listed by Category section. Should this be ordered? ;-)
Yes, but I'm not seeing the problem. Can you be more specific about the page and place on the page where you are seeing a problem? Thanks, --Beman

----- Original Message ----- From: "Beman Dawes" <bdawes@acm.org> To: <boost@lists.boost.org> Sent: Saturday, March 15, 2008 2:28 PM Subject: Re: [boost] [1.35.0] Release candidate 1 available
vicente.botet wrote:
The added libraries are not ordered lexicographically on the Libraries Listed by Category section. Should this be ordered? ;-)
Yes, but I'm not seeing the problem. Can you be more specific about the page and place on the page where you are seeing a problem?
Thanks,
--Beman
Hello, In file:///C:/cygwin/home/Vicente/boost/boost-windows-2008-03-14/libs/libraries.htm#Category I have prefixed by **** every librari that is unordered. Regards _____________________ Vicente Juan Botet Escriba Algorithms foreach - BOOST_FOREACH macro for easily iterating over the elements of a sequence, from Eric Niebler. gil - Generic Image Library, from Lubomir Bourdev and Hailin Jin. graph - Generic graph components and algorithms, from Jeremy Siek and a University of Notre Dame team. minmax - standard library extensions for simultaneous min/max and min/max element computations, from Hervé Brönnimann. string_algo - String algorithms library, from Pavol Droba utility - Class next(), prior() function templates, from Dave Abrahams and others. ****range - A new infrastructure for generic algorithms that builds on top of the new iterator concepts, from Thorsten Ottosen. Generic Programming call_traits - Defines types for passing parameters, from John Maddock, Howard Hinnant, et al. concept check - Tools for generic programming, from Jeremy Siek. enable_if - Selective inclusion of function template overloads, from Jaakko Järvi, Jeremiah Willcock, and Andrew Lumsdaine. gil - Generic Image Library, from Lubomir Bourdev and Hailin Jin. in_place_factory, typed_in_place_factory- Generic in-place construction of contained objects with a variadic argument-list, from Fernando Cacciola. operators - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek. property map - Concepts defining interfaces which map key objects to value objects, from Jeremy Siek. static_assert - Static assertions (compile time assertions), from John Maddock. type_traits - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al. ****function_types - Type traits for callable, built-in types, from Tobias Schwinger Template Metaprogramming mpl - Template metaprogramming framework of compile-time algorithms, sequences and metafunction classes, from Aleksey Gurtovoy. static_assert - Static assertions (compile time assertions), from John Maddock. type_traits - Templates for fundamental properties of types, from John Maddock, Steve Cleary, et al. ***function_types - Type traits for callable, built-in types, from Tobias Schwinger ***fusion - Library for working with tuples, including various containers, algorithms, etc. From Joel de Guzman, Dan Marsden and Tobias Schwinger. Math and numerics accumulators - Framework for incremental calculation, and collection of statistical accumulators, from Eric Niebler. ****math - Several contributions in the domain of mathematics, from various authors. ****numeric/conversion - Optimized Policy-based Numeric Conversions, from Fernando Cacciola. integer - Headers to ease dealing with integral types. interval - Extends the usual arithmetic functions to mathematical intervals, from Guillaume Melquiond, Herv? Br?nnimann and Sylvain Pion. math/complex number algorithms - These complex number algorithms are the inverses of trigonometric functions currently present in the C++ standard, from John Maddock. math/common_factor - Greatest common divisor and least common multiple, from Daryle Walker. math/octonion - Octonions, from Hubert Holin. math/quaternion - Quaternions, from Hubert Holin. math/special_functions - A wide selection of mathematical special functions from John Maddock, Paul Bristow, Hubert Holin and Xiaogang Zhang. math/statistical distributions - A wide selection of univariate statistical distributions and functions that operate on them from John Maddock and Paul Bristow multi_array - Multidimensional containers and adaptors for arrays of contiguous data, from Ron Garcia. operators - Templates ease arithmetic classes and iterators, from Dave Abrahams and Jeremy Siek. random - A complete system for random number generation, from Jens Maurer. rational - A rational number class, from Paul Moore. uBLAS - Basic linear algebra for dense, packed and sparse matrices, from Joerg Walter and Mathias Koch. Data structures any - Safe, generic container for single values of different value types, from Kevlin Henney. bimap - Bidirectional maps, from Matias Capeletto. compressed_pair - Empty member optimization, from John Maddock, Howard Hinnant, et al. multi_index - Containers with multiple STL-compatible access interfaces, from Joaquín M López Muñoz. pointer container - Containers for storing heap-allocated polymorphic objects to ease OO-programming, from Thorsten Ottosen. tuple - Ease definition of functions returning multiple values, and more, from Jaakko J?rvi. variant - Safe, generic, stack-based discriminated union container, from Eric Friedman and Itay Maman. ****fusion - Library for working with tuples, including various containers, algorithms, etc. From Joel de Guzman and Dan Marsden and Tobias Schwinger. Input/Output asio - Portable networking, including sockets, timers, hostname resolution and socket iostreams, from Chris Kohlhoff. format - Type-safe 'printf-like' format operations, from Samuel Krempp. io state savers - Save I/O state to prevent jumbled data, from Daryle Walker. iostreams - Framework for defining streams, stream buffers and i/o filters, from Jonathan Turkanis. program_options - Access to configuration data given on command line, in config files and other sources, from Vladimir Prus. serialization - Serialization of arbitrary data for persistence and marshalling, from Robert Ramey ****assign - Filling containers with constant or generated data has never been easier, from Thorsten Ottosen. Miscellaneous base-from-member - Idiom to initialize a base class with a member, from Daryle Walker. compressed_pair - Empty member optimization, from John Maddock, Howard Hinnant, et al. conversion - Polymorphic and lexical casts, from Dave Abrahams and Kevlin Henney. ****numeric/conversion - Optimized Policy-based Numeric Conversions, from Fernando Cacciola. crc - Cyclic Redundancy Code, from Daryle Walker. date_time - Date-Time library from Jeff Garland. filesystem - Portable paths, iteration over directories, and other useful filesystem operations, from Beman Dawes. optional - Discriminated-union wrapper for optional values, from Fernando Cacciola. program_options - Access to configuration data given on command line, in config files and other sources, from Vladimir Prus. statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code, from Andreas Huber. system - Operating system support, including the diagnostics support that will be part of the C++0x standard library, from Beman Dawes. timer - Event timer, progress timer, and progress display classes, from Beman Dawes. TR1 - An implementation of the Technical Report on C++ Library Extensions, using other Boost libraries as a basis, from John Maddock. tribool - 3-state boolean type library, from Doug Gregor. typeof - Typeof operator emulation, from Arkadiy Vertleyb and Peder Holt. utility - Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom, from Dave Abrahams and others. value_initialized - Wrapper for uniform-syntax value initialization, from Fernando Cacciola, based on the original idea of David Abrahams.

Beman Dawes wrote:
Release Candidate 1 is available at http://boost.cowic.de/rc/
Since there may well be major issues with this first RC, I'm very deliberately not posting this notice to the users list, and am not pushing the files out to Sourceforge.
Presumably we will have more confidence in RC2, and will announce it on the users list.
See my recent posting "Release candidate quality assurance" for discussion of how to QA check release candidates.
--Beman _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
I get a compilation fail with the following error (or a similar-enough one, differing only in the target) on a total of 24 different targets: Jamfile</<snip>/boost-posix-2008-03-14/libs/function_types/build>.wave /<snip>/boost-posix-2008-03-14/libs/function_types/build/timestamps/cc_names /bin/sh: line 1: /<snip>/boost-posix-2008-03-14/dist/bin/wave: No such file or directory It may be the same as Dave Compton's problem, just on Linux. Sean.

Sean Hunt wrote:
I get a compilation fail with the following error (or a similar-enough one, differing only in the target) on a total of 24 different targets:
Jamfile</<snip>/boost-posix-2008-03-14/libs/function_types/build>.wave /<snip>/boost-posix-2008-03-14/libs/function_types/build/timestamps/cc_names /bin/sh: line 1: /<snip>/boost-posix-2008-03-14/dist/bin/wave: No such file or directory
It may be the same as Dave Compton's problem, just on Linux.
Hum... This isn't sounding good. We need someone familiar with the build system to debug this. Volunteers? We've also got a process glitch in that we should know about install failures long before the point where we are issuing release candidates. But that's a different topic. Thanks for the report, --Beman

Beman Dawes wrote:
Sean Hunt wrote:
I get a compilation fail with the following error (or a similar-enough one, differing only in the target) on a total of 24 different targets:
Jamfile</<snip>/boost-posix-2008-03-14/libs/function_types/build>.wave /<snip>/boost-posix-2008-03-14/libs/function_types/build/timestamps/cc_names /bin/sh: line 1: /<snip>/boost-posix-2008-03-14/dist/bin/wave: No such file or directory
It may be the same as Dave Compton's problem, just on Linux.
Hum... This isn't sounding good.
We need someone familiar with the build system to debug this. Volunteers?
This has nothing to do with build system. For whatever reason, Jamfile for the function_types library assumes there's <boost-root>/dist/bin/wave binary -- and there's no reason to assume that. I don't know how wave is used by function_types, but requiring that wave is built and installed seems a questionable thing -- was it ever discussed, and agreed upon? In fact, here's what Jamfile in question has: make $(BOOST_ROOT)/libs/function_types/build/timestamps/arity_loops : preprocess_arity_loops.cpp : wave ; so it's not even building anything the user would ever find in installed tree. I'm confused as to what's the purpose here. - Volodya

Vladimir Prus wrote:
Beman Dawes wrote:
Sean Hunt wrote:
I get a compilation fail with the following error (or a similar-enough one, differing only in the target) on a total of 24 different targets:
Jamfile</<snip>/boost-posix-2008-03-14/libs/function_types/build>.wave /<snip>/boost-posix-2008-03-14/libs/function_types/build/timestamps/cc_names /bin/sh: line 1: /<snip>/boost-posix-2008-03-14/dist/bin/wave: No such file or directory
It may be the same as Dave Compton's problem, just on Linux. Hum... This isn't sounding good.
We need someone familiar with the build system to debug this. Volunteers?
This has nothing to do with build system. For whatever reason, Jamfile for the function_types library assumes there's <boost-root>/dist/bin/wave binary -- and there's no reason to assume that.
I don't know how wave is used by function_types, but requiring that wave is built and installed seems a questionable thing -- was it ever discussed, and agreed upon?
In fact, here's what Jamfile in question has:
make $(BOOST_ROOT)/libs/function_types/build/timestamps/arity_loops : preprocess_arity_loops.cpp : wave ;
so it's not even building anything the user would ever find in installed tree. I'm confused as to what's the purpose here.
Thanks for tracking this down, Volodya! Tobias, what's going on here? Can you fix it? --Beman

Beman Dawes wrote:
Thanks for tracking this down, Volodya!
Tobias, what's going on here? Can you fix it? I think it might be fixed on the trunk, already. That is, the targets are all /explicit/ now so the problems should be gone. I consider myself a "basic user" of Boost.Build however, so maybe Volodya should take a second look and possibly give me some hints for further improvements :-).
I will move the trunk version to the release branch later today. Regards, Tobias

Tobias Schwinger wrote:
Beman Dawes wrote:
Thanks for tracking this down, Volodya!
Tobias, what's going on here? Can you fix it? I think it might be fixed on the trunk, already. That is, the targets are all /explicit/ now so the problems should be gone. I consider myself a "basic user" of Boost.Build however, so maybe Volodya should take a second look and possibly give me some hints for further improvements :-).
'explicit' will cause those targets not to build for regular install, so it will fix the problem. There's one issue though -- I think that 'function_types' will still appear in output of bjam --show-libraries in boost root. That is supposed to give the list of buildable libraries, and since function_types does not really buildable/installable. We probably can either move that Jamfile somewhere else (say, build/util/Jamfile) and add a comment to the Jamfile that is requires Wave built and installed, and that Jamfile is for maintaining the library, or we can teach top-level Jamroot to ignore this Jamfile. I'd suspect moving it is better, it reduces a potential for confusion. - Volodya

Vladimir Prus wrote:
Tobias Schwinger wrote:
Beman Dawes wrote:
Thanks for tracking this down, Volodya!
Tobias, what's going on here? Can you fix it? I think it might be fixed on the trunk, already. That is, the targets are all /explicit/ now so the problems should be gone. I consider myself a "basic user" of Boost.Build however, so maybe Volodya should take a second look and possibly give me some hints for further improvements :-).
'explicit' will cause those targets not to build for regular install, so it will fix the problem.
There's one issue though -- I think that 'function_types' will still appear in output of
bjam --show-libraries
in boost root. That is supposed to give the list of buildable libraries, and since function_types does not really buildable/installable.
We probably can either move that Jamfile somewhere else (say, build/util/Jamfile) and add a comment to the Jamfile that is requires Wave built and installed, and that Jamfile is for maintaining the library, or we can teach top-level Jamroot to ignore this Jamfile.
I'd suspect moving it is better, it reduces a potential for confusion.
Understood, thanks. What are the top-level scripts globbing for? When I rename the 'build' directory to 'preprocess' all problems are gone and I could also remove the 'explicit's, right? In that case, would it be possible to trigger the Wave tool to be built automatically? Regards, Tobias

Tobias Schwinger wrote:
Vladimir Prus wrote:
Tobias Schwinger wrote:
Beman Dawes wrote:
Thanks for tracking this down, Volodya!
Tobias, what's going on here? Can you fix it? I think it might be fixed on the trunk, already. That is, the targets are all /explicit/ now so the problems should be gone. I consider myself a "basic user" of Boost.Build however, so maybe Volodya should take a second look and possibly give me some hints for further improvements :-). 'explicit' will cause those targets not to build for regular install, so it will fix the problem.
There's one issue though -- I think that 'function_types' will still appear in output of
bjam --show-libraries
in boost root. That is supposed to give the list of buildable libraries, and since function_types does not really buildable/installable.
We probably can either move that Jamfile somewhere else (say, build/util/Jamfile) and add a comment to the Jamfile that is requires Wave built and installed, and that Jamfile is for maintaining the library, or we can teach top-level Jamroot to ignore this Jamfile.
I'd suspect moving it is better, it reduces a potential for confusion.
Understood, thanks.
What are the top-level scripts globbing for?
It's globbing for the build/Jamfile...
When I rename the 'build' directory to 'preprocess' all problems are gone and I could also remove the 'explicit's, right?
As you noticed there :-) So yes, you no longer need the explicits.
In that case, would it be possible to trigger the Wave tool to be built automatically?
Yes, you'd have to add a <dependency> to the tool target at minimum. The hard part is getting the path to it correctly so you can invoke it. As assuming it's in the path is not possible. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail

Sean Hunt wrote:
Beman Dawes wrote:
Release Candidate 1 is available at http://boost.cowic.de/rc/
Since there may well be major issues with this first RC, I'm very deliberately not posting this notice to the users list, and am not pushing the files out to Sourceforge.
Presumably we will have more confidence in RC2, and will announce it on the users list.
See my recent posting "Release candidate quality assurance" for discussion of how to QA check release candidates.
--Beman _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
I get a compilation fail with the following error (or a similar-enough one, differing only in the target) on a total of 24 different targets:
Jamfile</<snip>/boost-posix-2008-03-14/libs/function_types/build>.wave /<snip>/boost-posix-2008-03-14/libs/function_types/build/timestamps/cc_names /bin/sh: line 1: /<snip>/boost-posix-2008-03-14/dist/bin/wave: No such file or directory
It may be the same as Dave Compton's problem, just on Linux.
This is now fixed in the latest Windows snapshots, but it wouldn't hurt for someone to verify it is also fixed for Linux. Thanks, --Beman

Hi, while trying the 1_35_RC1 svn snapshot, AFAICS there is a problem with range/iterator_range.hpp. There is assumed that BOOST_ASSERT(x) evaluates to nothing when NDEBUG is set. This is not the case of you install an assert handler in release mode. David.

David Grüner wrote:
Hi,
while trying the 1_35_RC1 svn snapshot, AFAICS there is a problem with range/iterator_range.hpp. There is assumed that BOOST_ASSERT(x) evaluates to nothing when NDEBUG is set. This is not the case of you install an assert handler in release mode.
Can you file a Track issue on this at svn.boost.org so this doesn't get lost? Thanks, John.

(repost)
Release Candidate 1 is available at http://boost.cowic.de/rc/
C++ Builder 2007 (0x593, the latest) and boost::format produces an useless warning in boost/format/alt_sstream_impl.hpp. The warning is W8072 ("suspicious pointer conversion") and occures on four places in the file. It could be safely supressed by adding: ------------- #include <boost/detail/workaround.hpp> #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x593)) # pragma warn -8072 // CG 2007: suspicious pointer conversion; on several places within the file #endif ----------- on the top of the file and ----------- #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x593)) # pragma warn +8072 #endif ----------- on the bottom of the file. /Pavel

Hi Beman, On Fri, Mar 14, 2008 at 11:16:11AM -0400, Beman Dawes wrote:
Release Candidate 1 is available at http://boost.cowic.de/rc/
I checked RC2 (tar.bz2) and noticed that still many files have wrong permissions: -rwxrwxrwx Administrator/None 10006 2008-02-23 19:00 boost-posix-2008-03-21/libs/iostreams/doc/guide/exceptions.html -rwxrwxrwx Administrator/None 10009 2008-03-21 08:31 boost-posix-2008-03-21/doc/html/foreach/portability.html -rwxrwxrwx Administrator/None 100117 2006-02-02 00:33 boost-posix-2008-03-21/libs/iterator/doc/iterator_adaptor.pdf -rwxrwxrwx Administrator/None 1001 2006-03-19 13:01 boost-posix-2008-03-21/libs/test/example/cla/validation/ambiguous_access.cpp I told you already about this and wonder why it isn't fixed yet (removing the svn:executable property of Subversion should be sufficient). Opening a PDF file marked as executable will probably confuse some file managers as executing will fail. Nearly 20% of all files are affected! If you need a script just ask ... Jens

Jens Seidel wrote:
Hi Beman,
On Fri, Mar 14, 2008 at 11:16:11AM -0400, Beman Dawes wrote:
Release Candidate 1 is available at http://boost.cowic.de/rc/
I checked RC2 (tar.bz2) and noticed that still many files have wrong permissions:
-rwxrwxrwx Administrator/None 10006 2008-02-23 19:00 boost-posix-2008-03-21/libs/iostreams/doc/guide/exceptions.html -rwxrwxrwx Administrator/None 10009 2008-03-21 08:31 boost-posix-2008-03-21/doc/html/foreach/portability.html -rwxrwxrwx Administrator/None 100117 2006-02-02 00:33 boost-posix-2008-03-21/libs/iterator/doc/iterator_adaptor.pdf -rwxrwxrwx Administrator/None 1001 2006-03-19 13:01 boost-posix-2008-03-21/libs/test/example/cla/validation/ambiguous_access.cpp
I told you already about this and wonder why it isn't fixed yet (removing the svn:executable property of Subversion should be sufficient). Opening a PDF file marked as executable will probably confuse some file managers as executing will fail.
Nearly 20% of all files are affected!
If you need a script just ask ...
OK... What does the script do? Obviously I would prefer something that does the svn manipulations. I would also love it if I could run it on Windows so I could more easily verify with tsvn what the changes to the repo it's going to do. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail

Rene Rivera wrote:
Jens Seidel wrote:
Hi Beman,
Release Candidate 1 is available at http://boost.cowic.de/rc/ I checked RC2 (tar.bz2) and noticed that still many files have wrong
On Fri, Mar 14, 2008 at 11:16:11AM -0400, Beman Dawes wrote: permissions:
-rwxrwxrwx Administrator/None 10006 2008-02-23 19:00 boost-posix-2008-03-21/libs/iostreams/doc/guide/exceptions.html -rwxrwxrwx Administrator/None 10009 2008-03-21 08:31 boost-posix-2008-03-21/doc/html/foreach/portability.html -rwxrwxrwx Administrator/None 100117 2006-02-02 00:33 boost-posix-2008-03-21/libs/iterator/doc/iterator_adaptor.pdf -rwxrwxrwx Administrator/None 1001 2006-03-19 13:01 boost-posix-2008-03-21/libs/test/example/cla/validation/ambiguous_access.cpp
I told you already about this and wonder why it isn't fixed yet
Sorry, I dropped the ball on that one. The issue is now added to the trac 1.35.0 issues list: http://svn.boost.org/trac/boost/wiki/MergeOneDotThreeFiveDotZero
(removing the svn:executable property of Subversion should be sufficient). Opening a PDF file marked as executable will probably confuse some file managers as executing will fail.
Nearly 20% of all files are affected!
If you need a script just ask ...
OK... What does the script do? Obviously I would prefer something that does the svn manipulations. I would also love it if I could run it on Windows so I could more easily verify with tsvn what the changes to the repo it's going to do.
There are really two issues here: (1) Clearing svn:executable in Subversion (not just in branches/release, I assume), and (2) preventing this from happening in the future. An alternative is to not worry about Subversion, but to clear out the wrong permissions in the snapshot script, trunk/tools/release/snapshot_windows.sh and snapshot_posix.sh. Without knowing how the svn:executable property got set in the first place I can't tell if this is a one time or recurring problem. Any ideas? Thanks, --Beman

Beman Dawes wrote:
Without knowing how the svn:executable property got set in the first place I can't tell if this is a one time or recurring problem. Any ideas?
It was likely set on the initial import from CVS. At some point we realized we needed the autoprops, hence why we have <http://svn.boost.org/trac/boost/wiki/BoostSubversion#MIMETypesandEnd-Of-LineStyles>. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail

On Sat, Mar 22, 2008 at 02:03:21PM -0400, Beman Dawes wrote:
There are really two issues here: (1) Clearing svn:executable in Subversion (not just in branches/release, I assume), and
For 90% of the files it could be done in a few seconds. Remaining files need to be inspected more carefully.
(2) preventing this from happening in the future.
I think it is possible that most wrong permissions could come from the previous CVS repository. CVS itself used the initial permission during the check-in and saved these. Since Windows systems don't know anything about executable permissions it was assumed that each file is executable to be on the save side (it doesn't hurt on Unix systems it is just ugly, why should some wrongly marked executable *.cpp files be displayed in a red color, but others in green?). I applied the following script to iterate over all executable .cpp files and to print the name of the author who did the initial commit: for i in $(find -type f -iname "*.cpp" -perm +111); do \ svn log -r 1:HEAD --limit 1 --xml "$i" | grep author; \ done | sed -e 's,^<author>,,' -e 's,</author>,,' | sort | uniq It displays: alnsn anthonyw daniel_wallin david_abrahams dgregor eric_niebler hljin johnmaddock jsiek matiascape nesotto rogeeff rwgk turkanis vertleyb witt Probably the list would be different once only files created after the migration to Subversion would be considered but I did it as described ...
An alternative is to not worry about Subversion, but to clear out the wrong permissions in the snapshot script, trunk/tools/release/snapshot_windows.sh and snapshot_posix.sh.
Ah, that's ugly. Subversion is (opposed to CVS) able to manage properties and svn:executable is just a special one. It is able to merge such commits and to revert so let's change Subversion's repository. There is also no strong need to do it before the release. But as only properties are fixed and no content it is hard to break something and I'm sure (Linux) distributors would fix permissions themself to avoid uglyness installed on the system ...
Without knowing how the svn:executable property got set in the first place I can't tell if this is a one time or recurring problem. Any ideas?
Probably from CVS and only from Windows users. Let's fix it and watch ... There should be a default setting in each Subversion client (the default on Posix systems is to use the filesystem properties) and a good default for Windows is probably svn:executable turned off (since it is unlikely (but not impossible) that Windows guys create scripts. PS: Don't forget that also the svn:eol-style property should be set to native for text files to get proper line endings (Posix: \n, Windows: \r\n, MacOS: \r) You once wrote a mail and asked for confirmation. Do you remember? Again fixing 90% of all files is a matter of seconds. Jens

2008/3/22, Jens Seidel <jensseidel@users.sf.net>:
PS: Don't forget that also the svn:eol-style property should be set to native for text files to get proper line endings (Posix: \n, Windows: \r\n, MacOS: \r)
This is only ok if the text files are have UTF-8 or ASCII (or similar) encoding, not if they are e.g. UTF-16 encoded. /$

On Sat, Mar 22, 2008 at 11:49:11AM -0500, Rene Rivera wrote:
Jens Seidel wrote:
I checked RC2 (tar.bz2) and noticed that still many files have wrong permissions:
I told you already about this and wonder why it isn't fixed yet (removing the svn:executable property of Subversion should be sufficient).
If you need a script just ask ...
OK... What does the script do?
Nothing, it doesn't exist yet. But once written it could find affacted files with wrong permissions and fix these.
Obviously I would prefer something that does the svn manipulations. I would also love it if I could run it on Windows so I could more easily verify with tsvn what the changes to the repo it's going to do.
OK, let me restrict to the simple find and svn tools which should have counterparts on your system. $ find -type f -iname "*.html" -exec svn propdel svn:executable "{}" \; simple finds all files (-type f) with end with ".html" (case insensitive, -iname "*.html") and executes "svn propdel svn:executable" on it to delete the svn:executable property. It should be simple to replace this with commands available for you. Otherwise I suggest you obtain Cygwin from http://www.cygwin.com/ and install it. It will install a minimal set of Linux tools properly packaged for Windoofs. Installation should need only 2-5 minutes. Let's first determine the current number of executable files: $ find -type f -perm +111 | wc -l 2687 Puh, too many! Some of these may be valid scripts, so let's touch only files we know about for sure. Let's fix these according to file suffix: Affected files by name: *.html (864), *.hpp (857), *.cpp (496), *.png (111), *.qbk (63) Change into your trunk directory (which souldn't contain any changes) and start ($ indicates a shell prompt, don't enter it): $ find -type f -iname "*.html" -exec svn propdel svn:executable "{}" \; $ find -type f -iname "*.hpp" -exec svn propdel svn:executable "{}" \; $ find -type f -iname "*.cpp" -exec svn propdel svn:executable "{}" \; $ find -type f -iname "*.png" -exec svn propdel svn:executable "{}" \; $ find -type f -iname "*.qbk" -exec svn propdel svn:executable "{}" \; Only 297 files left :-) Now let's commit after inspecting that "svn status" only reports changes to properties: $ svn ci -m'Removed svn:executable flag from *.html, *.hpp, *.cpp, *.png, *.qbk files' I think all remaining files should be touched later (such as *.rst, *.pdf, ...). The stuff should not need a long time and cleans many broken permissions! PS: The Subversion config file (on Unix: ~/.subversion/config contains a section [auto-props] which can ensure proper mime types and executable flags based on file name). Once properly set there should be not again such a situation. Also inspecting new files bevore an initial commit helps to ensure a proper state. Jens

Jens Seidel wrote:
On Sat, Mar 22, 2008 at 11:49:11AM -0500, Rene Rivera wrote:
Jens Seidel wrote:
OK, let me restrict to the simple find and svn tools which should have counterparts on your system.
Oh, if the world where that simple. ;-) But I'll manage.
Change into your trunk directory (which souldn't contain any changes) and start ($ indicates a shell prompt, don't enter it):
$ find -type f -iname "*.html" -exec svn propdel svn:executable "{}" \; $ find -type f -iname "*.hpp" -exec svn propdel svn:executable "{}" \; $ find -type f -iname "*.cpp" -exec svn propdel svn:executable "{}" \; $ find -type f -iname "*.png" -exec svn propdel svn:executable "{}" \; $ find -type f -iname "*.qbk" -exec svn propdel svn:executable "{}" \;
Only 297 files left :-)
Hm, that seems like a rather tedious route. This is a bit shorter and covers all the cases we currently have in for our auto-props: find . -regextype posix-extended -type f \ -not -regex ".*[/][.]svn[/].*" \ -not -regex ".*([.]pl|[.]py|[.]sh|configure)" \ --exec svn propdel svn:executable "{}" ";"
PS: The Subversion config file (on Unix: ~/.subversion/config contains a section [auto-props] which can ensure proper mime types and executable flags based on file name). Once properly set there should be not again such a situation. Also inspecting new files bevore an initial commit helps to ensure a proper state.
We have instructions for just that <http://svn.boost.org/trac/boost/wiki/BoostSubversion#MIMETypesandEnd-Of-LineStyles>. But as I mention in another post, it was likely the automated CVS->SVN import that introduced the problems.
Jens _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail

On Sat, Mar 22, 2008 at 03:00:18PM -0500, Rene Rivera wrote:
Jens Seidel wrote:
Only 297 files left :-)
Hm, that seems like a rather tedious route. This is a bit shorter and covers all the cases we currently have in for our auto-props:
find . -regextype posix-extended -type f \ -not -regex ".*[/][.]svn[/].*" \ -not -regex ".*([.]pl|[.]py|[.]sh|configure)" \ --exec svn propdel svn:executable "{}" ";"
The following would be wrongly changed: ./tools/jam/src/debian/rules ./tools/jam/src/boehm_gc/config.sub ./tools/jam/src/boehm_gc/install-sh ./tools/jam/src/boehm_gc/missing ./tools/jam/src/boehm_gc/depcomp ./tools/jam/src/boehm_gc/callprocs ./tools/jam/src/boehm_gc/config.guess ./tools/jam/src/boehm_gc/compile ./tools/jam/src/boehm_gc/mkinstalldirs ./libs/graph/doc/mungeaux.csh ./libs/mpl/preprocessed/preprocess.cmd ./libs/iterator/doc/rst2latex Manual inspection of these 297 files was not too hard :-)) Jens

Jens Seidel wrote:
On Sat, Mar 22, 2008 at 03:00:18PM -0500, Rene Rivera wrote:
Jens Seidel wrote:
Only 297 files left :-) Hm, that seems like a rather tedious route. This is a bit shorter and covers all the cases we currently have in for our auto-props:
find . -regextype posix-extended -type f \ -not -regex ".*[/][.]svn[/].*" \ -not -regex ".*([.]pl|[.]py|[.]sh|configure)" \ --exec svn propdel svn:executable "{}" ";"
The following would be wrongly changed:
./tools/jam/src/debian/rules ./tools/jam/src/boehm_gc/config.sub ./tools/jam/src/boehm_gc/install-sh ./tools/jam/src/boehm_gc/missing ./tools/jam/src/boehm_gc/depcomp ./tools/jam/src/boehm_gc/callprocs ./tools/jam/src/boehm_gc/config.guess ./tools/jam/src/boehm_gc/compile ./tools/jam/src/boehm_gc/mkinstalldirs ./libs/graph/doc/mungeaux.csh ./libs/mpl/preprocessed/preprocess.cmd ./libs/iterator/doc/rst2latex
I went with: C:\DevRoots\Boost\boost-release>find.exe . -type f -not -regex ".*[/][.]svn[/].*" -not -regex ".*\([.]bat\|[.]cmd\|[.] com\|[.]csh\|[.]m4\|[.]pl\|[.]py\|[.]sh\|configure\|rst2latex\)" -exec svn propdel "svn:executable" "{}" ";" And then ignored the jam changes. So this should now be fixed in the release branch. I'm applying the same procedure to trunk now. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org (msn) - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim,yahoo,skype,efnet,gmail

On Sat, Mar 22, 2008 at 04:54:26PM -0500, Rene Rivera wrote:
I went with:
C:\DevRoots\Boost\boost-release>find.exe . -type f -not -regex ".*[/][.]svn[/].*" -not -regex ".*\([.]bat\|[.]cmd\|[.] com\|[.]csh\|[.]m4\|[.]pl\|[.]py\|[.]sh\|configure\|rst2latex\)" -exec svn propdel "svn:executable" "{}" ";"
And then ignored the jam changes. So this should now be fixed in the release branch. I'm applying the same procedure to trunk now.
Thanks a lot. Situation improved dramatically and it was indeed not very time consuming. I checked trunk and noticed: * Many *.sh files are not marked executable. This may be OK if these files are explicitely started in a subshell or included in the current shell via ". file.sh". (These files were not touched today!) But some of these files contain also a Shebang (e.g. #!/bin/sh) http://en.wikipedia.org/wiki/Shebang_(Unix) such as tools/regression/src/run_tests.sh. Is #!/bin/sh used if the file is not executable? I doubt it. So I ask myself whether the files are really needed. * Same for *.pl, *.py, ... * tools/jam/src/boehm_gc/NT_MAKEFILE Please remove svn:executable * tools/jam/src/boehm_gc/config.sub Please re-add svn:executable So, now I stop nitpicking :-) Jens

On Sun, Mar 23, 2008 at 12:41:21AM +0100, Jens Seidel wrote:
On Sat, Mar 22, 2008 at 04:54:26PM -0500, Rene Rivera wrote:
I went with:
C:\DevRoots\Boost\boost-release>find.exe . -type f -not -regex ".*[/][.]svn[/].*" -not -regex ".*\([.]bat\|[.]cmd\|[.] com\|[.]csh\|[.]m4\|[.]pl\|[.]py\|[.]sh\|configure\|rst2latex\)" -exec svn propdel "svn:executable" "{}" ";"
And then ignored the jam changes. So this should now be fixed in the release branch. I'm applying the same procedure to trunk now.
Thanks a lot. Situation improved dramatically and it was indeed not very time consuming.
I checked trunk and noticed:
* Many *.sh files are not marked executable. This may be OK if these files are explicitely started in a subshell or included in the current shell via ". file.sh". (These files were not touched today!) But some of these files contain also a Shebang (e.g. #!/bin/sh) http://en.wikipedia.org/wiki/Shebang_(Unix) such as tools/regression/src/run_tests.sh. Is #!/bin/sh used if the file is not executable? I doubt it. So I ask myself whether the files are really needed. * Same for *.pl, *.py, ... * tools/jam/src/boehm_gc/NT_MAKEFILE Please remove svn:executable * tools/jam/src/boehm_gc/config.sub Please re-add svn:executable
Please do not forget to correct tools/jam/src/boehm_gc/NT_MAKEFILE and tools/jam/src/boehm_gc/config.sub or explain why you don't perform this action.
So, now I stop nitpicking :-)
Jens

Rene Rivera wrote:
Jens Seidel wrote:
On Sat, Mar 22, 2008 at 03:00:18PM -0500, Rene Rivera wrote:
Jens Seidel wrote:
Only 297 files left :-) Hm, that seems like a rather tedious route. This is a bit shorter and covers all the cases we currently have in for our auto-props:
find . -regextype posix-extended -type f \ -not -regex ".*[/][.]svn[/].*" \ -not -regex ".*([.]pl|[.]py|[.]sh|configure)" \ --exec svn propdel svn:executable "{}" ";" The following would be wrongly changed:
./tools/jam/src/debian/rules ./tools/jam/src/boehm_gc/config.sub ./tools/jam/src/boehm_gc/install-sh ./tools/jam/src/boehm_gc/missing ./tools/jam/src/boehm_gc/depcomp ./tools/jam/src/boehm_gc/callprocs ./tools/jam/src/boehm_gc/config.guess ./tools/jam/src/boehm_gc/compile ./tools/jam/src/boehm_gc/mkinstalldirs ./libs/graph/doc/mungeaux.csh ./libs/mpl/preprocessed/preprocess.cmd ./libs/iterator/doc/rst2latex
I went with:
C:\DevRoots\Boost\boost-release>find.exe . -type f -not -regex ".*[/][.]svn[/].*" -not -regex ".*\([.]bat\|[.]cmd\|[.] com\|[.]csh\|[.]m4\|[.]pl\|[.]py\|[.]sh\|configure\|rst2latex\)" -exec svn propdel "svn:executable" "{}" ";"
And then ignored the jam changes. So this should now be fixed in the release branch. I'm applying the same procedure to trunk now.
Thanks, Jens and Rene! I've opened a ticket (1706) and will add something to the inspect program to detect regressions. --Beman
participants (14)
-
Beman Dawes
-
Daniel James
-
Dave Compton
-
David Grüner
-
Henrik Sundberg
-
Jens Seidel
-
Joe Gottman
-
John Maddock
-
Pavel Vozenilek
-
Rene Rivera
-
Sean Hunt
-
Tobias Schwinger
-
vicente.botet
-
Vladimir Prus