← Back to team overview

kicad-developers team mailing list archive

Re: Kicad build fails with Boost 1.34 (documentation

 

Alain Mouette wrote:
Dick Hollenbeck escreveu:

Alain Mouette wrote:



Does anyone have a link to the 9.04 files that are needed to install boost 1.37?

it would help a lot, many people :)

http://packages.ubuntu.com/ You can search from here, and get this:
http://packages.ubuntu.com/search?keywords=boost&searchon=names&suite=jaunty&section=all


Well, I had already gone down that road but I ended with more questions than I had before. That is why I asked for help...



*THE ANSWER*


It is not a certainty that you can install a package from a newer distribution onto an older revision of that same distro. Usually what determines this is the degree of change in the C and C++ runtime libraries. Often you can. The package you would need is boost-dev. boost-dev is a bunch of header files. They do not need to be compiled. (Header files are not compiled.) So if you find your "boost installation process", whatever it is, needs or wants you to compile anything, then stop. You have gone down the wrong path.


Once you have installed the header files, realize that they do not need to be installed in the "standard place". With the wonderful CMake system used by Kicad, you tell your Kicad build environment where your boost header files are by running ccmake, yes ccmake, not cmake. You do this once, and then you should not have to do it again anytime soon.


On linux, the simplest way to install working boost headers is to use a partial tree of the boost SVN repo, instead of installing a distro package. Here is what I do, and I use revision 52863 which is known to work for me. It may be that HEAD also works, but until it is necessary, I have been content to use revision 52863 from the boost-dev repo.


$ mkdir svn

$ cd svn

$ svn -r 52863 co https://svn.boost.org/svn/boost/trunk/boost

Now directory * svn/boost * (actually its full path) is what you tell ccmake about so it knows where your "boost installation" is. Note that we do not even have to copy the header files to a "standard place".


This process will work across any linux distribution, and distro revision. So now you know how to fish, rather than simply solve this problem for a particular linux distro and revision.


Dick








Follow ups

References