← Back to team overview

kicad-developers team mailing list archive

Kicad build fails with Boost 1.34 (documentation issue or bug?)


SVN version: 1963

Hi guys,
The default version of Boost that Ubuntu 9.04 installs (that is, the one you get if you install the package "libboost-dev") is 1.34.1-15ubuntu3.

Cvpcb makes use of BOOST_REVERSE_FOREACH on line 388 of /kicad/cvpcb/cvframe.cpp, which appears to be a construct that was only introduced in Boost 1.36.

There is nothing on the "Building Kicad" page or in COMPILING.txt about the Boost version requirement. COMPILING-Debian.txt just mentions the libboost-dev dependency.

I can see two possible solutions for this:
1. Fix the code so that it doesn't use BOOST_REVERSE_FOREACH
2. Document the fact that Kicad (or at least Cvpcb) won't build when the version of Boost is less than 1.36, and maybe add something to make Cmake check the Boost version when generating the Makefiles, and fail if Boost is too old.

Unless of course anyone has any other ideas?

It seems BOOST_REVERSE_FOREACH is only used in that one place, although there are instances of BOOST_FOREACH being used in other parts of the Kicad codebase. In the interests of keeping the code easy to understand, I'd be very tempted just to update COMPILING.txt and COMPILING-Debian.txt, and maybe add the version-check...


Follow ups