
________________________________________ From: Boost [boost-bounces@lists.boost.org] on behalf of Peter Dimov [lists@pdimov.com] Sent: 28 January 2015 17:23 To: boost@lists.boost.org Subject: Re: [boost] preprocess operation problems
Fletcher, John P wrote: I have had a dig around on this one. I do regularly update all of boost
develop. I have also run ./b2 headers
The explanation is like this.
The copy of integer_fwd.hpp in libs/integer/include/boost has indeed been updated to January 23rd.
In boost itself the file integer_fwd.hpp is not a link, it is the version put there when I installed the libraries.
Odd. What platform is this? Windows or something else?
Ubuntu Linux 12.04 with gcc 4.6 for the utilities work.
(On Windows, integer_fwd.hpp should be a hard link, on something else - a symbolic link.)
These do not look like links to me: fletcher@fletcher-desktop:~/boost_maintenance/modular-boost/boost$ ls -l int*.hpp -rw-rw-r-- 1 fletcher fletcher 4617 Jan 19 2014 integer_fwd.hpp -rw-rw-r-- 1 fletcher fletcher 11314 Jan 19 2014 integer.hpp -rw-rw-r-- 1 fletcher fletcher 8317 Jan 20 2014 integer_traits.hpp This does: rwxrwxrwx 1 fletcher fletcher 37 Jan 19 2014 integer -> ../libs/integer/include/boost/integer In the other location I have this: fletcher@fletcher-desktop:~/boost_maintenance/modular-boost/libs/integer/include/boost$ ls -l integ* -rw-rw-r-- 1 fletcher fletcher 5138 Jan 23 10:51 integer_fwd.hpp -rw-rw-r-- 1 fletcher fletcher 11589 Jan 28 16:43 integer.hpp -rw-rw-r-- 1 fletcher fletcher 8317 Jun 30 2014 integer_traits.hpp
What do you mean when you say "I installed the libraries"? If you use Boost from git, you don't have to install it.
I meant when I copied from the git repository when I started to maintain Boost Phoenix.
In principle, b2 headers (which is an implicit dependency of most everything) should check that your boost/integer_fwd.hpp is out of date and relink it to libs/integer/include/boost/integer_fwd.hpp. I'm not sure why it does not do so.
The workaround is usually to delete boost/ and recreate it with b2 headers, but this shouldn't be necessary, at least in theory.
I could try this, but what does it do with the files in /boost which are not links? Is there a file somewhere which tells it which things to copy? I have run ./b2 headers on my present setup and that runs clean. My mental model has been that if I run these commands I am up to date on develop. git checkout develop git pull --recurse-submodules git submodule update --init | added to check for new libraries. git submodule foreach git checkout develop git submodule foreach git pull | to bring everything up to date. That is what I learned when I started as a maintainer. If that is not sufficient then please indicate where I am going wrong. Thanks for the help. John