← Back to team overview

kicad-developers team mailing list archive

Re: Call for update of avhttp because of boost 1.57

 

OK, so I installed boost from MacPorts as I do with the other dependencies.
Just a simple “sudo port install boost” which did install boost 1.56 using shared libraries and multithreaded libs (these are the default variants set by MacPorts).
As far as I can see MacPorts applies some patches, but it seems to be only stuff related to building boost.
If anybody is interested… current patches are here:
  https://trac.macports.org/browser/trunk/dports/devel/boost/files <https://trac.macports.org/browser/trunk/dports/devel/boost/files>

For building KiCad I just used the usual cmake configuration (non-scripting build) with -DKICAD_SKIP_BOOST=ON.
It automatically found boost, built fine, and all binaries seem to start and work doing a quick check.
All boost .dylibs correctly get copied into the bundle.

And yes, I also updated avhttp.


Regards,
Bernhard


> On 12.11.2014, at 19:07, Bernhard Stegmaier <stegmaier@xxxxxxxxxxxxx> wrote:
> 
> Hi,
> 
> I can't tell at the moment, I will try how if/it works.
> I did use external boost some while back, but I can't exactly remember how I did it...
> 
> 
> Regards,
> Bernhard
> 
> 
> On Wed, 2014-11-12 at 12:44 -0500, Wayne Stambaugh wrote:
>> 
>> On 11/12/2014 11:33 AM, Bob Gustafson wrote:
>> > I tried doing this on one of my blind alleys - I was able to compile
>> > Boost 1.57 ok,
>> > but then needed to do it again because the libs need to be static.
>> > 
>> >   ./b2 link=static
>> 
>> My guess is that you should be using dynamic libraries in spite of the
>> bundling issues.  Bernhard, can you give Bob some guidance?
>> 
>> > 
>> > Then there was the problem of telling kicad where the newly compiled
>> > boost was..
>> 
>> -DBOOST_ROOT=/path/to/boost-1.57
>> 
>> in the cmake command or
>> 
>> export BOOST_ROOT=/path/to/boost-1.57
>> 
>> before you run cmake.
>> 
>> > 
>> > ----
>> > 
>> > I think a simpler process is to just start from scratch (bzr branch
>> > lp:kicad)
>> > 
>> > and before the 'make' step go into download_boost.cmake and make two
>> > changes
>> > - the version from 54 to 57 and on the next line change the MD5 hash result
>> > (see my notes below)
>> > 
>> > From that point, boost will download nicely where kicad expects it to be.
>> > 
>> > The problem as you have pointed out is the patch step.
>> > 
>> > The first patch works (!) minkowski.hpp
>> > but then the 2nd patch cstdint.hpp fails
>> 
>> The eventual goal is to do away with our custom patched version of boost
>> 1.54 and use a stock build (except for the gas assembly files required
>> to build the context library on windows) of boost 1.56 or later and use
>> find_package() to find boost.  I would also like to move all of the
>> download_foo.cmake files into a separate kicad dependency library
>> builder project and only use find_package() when building kicad.
>> 
>> > 
>> > If there was a way to make a failed patch not kill the build, it would
>> > be possible to cleanly step over this bump and possibly continue with a
>> > successful build.
>> > 
>> > Bob G
>> > 
>> > On 11/12/2014 07:51 AM, Wayne Stambaugh wrote:
>> >> You should build and install Boost 1.57 outside of kicad by following
>> >> the boost build instructions of OSX and then configure the kicad build
>> >> with KICAD_SKIP_BOOST=ON.  You may also have to set BOOST_ROOT if cmake
>> >> cannot find the installed boost 1.57.  What you are attempting to do
>> >> will most likely fail because the kicad build configuration applies a
>> >> bunch of patches to boost 1.54 that will likely not apply cleanly to
>> >> 1.57.  Sorry if I was not clear about the process.
>> >>
>> >> On 11/11/2014 7:58 PM, Bob Gustafson wrote:
>> >>> To build and test with boost_1_57, my process may be different..
>> >>>
>> >>> I went into ~/KiCad/kicad/CMakeModules
>> >>> and changed in the file download_boost.cmake
>> >>> the first 54 to 57 - all of the other 54s are in comments
>> >>>
>> >>> Then went to ~/KiCad/kicad/kicad and did 'make 2&1 | tee make.out'
>> >>> The boost 1.57 was downloaded and then failed on the hash check verify
>> >>> step.
>> >>>
>> >>> I then went deeper into download_boost.cmake and changed the check
>> >>> line to:
>> >>> set( BOOST_MD5 1be49befbdd9a5ce9def2983ba3e7b76 ) ..
>> >>>
>> >>> Then doing the make step over again, it was smart enough not to download
>> >>> boost again
>> >>> and it was successful on the verify step, but then it started to patch
>> >>> and failed.
>> >>>
>> >>> I have gone down several blind holes on this, but the build fails every
>> >>> time.
>> >>> (Need to go and peel the garlics now)
>> >>>
>> >>> ---
>> >>>
>> >>> In directory ~/KiCad/kicad/kicad, in file CMakeCache.txt
>> >>>
>> >>> Change line 'KICAD_SKIP_BOOST:BOOL=OFF'
>> >>> to KICAD_SKIP_BOOST:BOOL=ON
>> >>>
>> >>> Although it seems that on the first build of Boost,
>> >>> KICAD_SKIP_BOOST:BOOL should equal OFF (do not skip)
>> >>> After Boost has been (successfully) built, then the
>> >>> KICAD_SKIP_BOOST:BOOL can be set to ON (skip..)
>> >>> I may be wrong about this.
>> >>>
>> >>> Later
>> >>>
>> >>> Bob G
>> >>>
>> >>> On 11/11/2014 12:14 PM, Wayne Stambaugh wrote:
>> >>>> Thanks Bob.  If the 1.57 testing doesn't cause any issues, I'll commit
>> >>>> the latest avhttp changes.
>> >>>>
>> >>>> Wayne
>> >>>>
>> >>>> On 11/11/2014 12:19 PM, Bob Gustafson wrote:
>> >>>>> Going through your list of instructions for the new avhttp - good
>> >>>>> instructions by the way.
>> >>>>>
>> >>>>> On OSX, boost 1.54 (was on computer) and KICAD_SKIP_BOOST=OFF (this
>> >>>>> was
>> >>>>> the setting)
>> >>>>>
>> >>>>> Build went fast (no rebuild of boost..) Only a few warnings.
>> >>>>>
>> >>>>> kicad executes. Clicking on pcbnew - also looks good. At the top of
>> >>>>> the
>> >>>>> pcbnew window, it says: 2014-10-31 BZR 5247.
>> >>>>>
>> >>>>> Hope this is what was expected
>> >>>>>
>> >>>>> I will build the new boost 1.57 and test that.
>> >>>>>
>> >>>>> Bob G
>> >>>>>
>> >>>>> On 11/11/2014 08:17 AM, Wayne Stambaugh wrote:
>> >>>>>> Thank you everyone for testing this.  I verified that it works with
>> >>>>>> Boost 1.57 using KICAD_SKIP_BOOST=ON and our modified Boost 1.54 with
>> >>>>>> KICAD_SKIP_BOOST=OFF on windows.  The only unknown at this point is
>> >>>>>> OSX.
>> >>>>>>     Would someone please test both Boost build options (stock 1.57
>> >>>>>> and our
>> >>>>>> custom 1.54) on OSX?  We have OSX builds in pretty good shape so I
>> >>>>>> don't
>> >>>>>> want to break anything.  The process is fairly straight forward.
>> >>>>>>
>> >>>>>> 1) Down load the avhttp source zip file from
>> >>>>>> https://github.com/avplayer/avhttp/archive/master.zip <https://github.com/avplayer/avhttp/archive/master.zip>
>> >>>>>> 2) Copy the zip file to pcbnew/github/avhttp-master.zip.
>> >>>>>> 3) Delete existing avhttp source folder .downloads-by-cmake/avhttp
>> >>>>>> 4) Configure and build kicad against boost 1.57 using
>> >>>>>> KICAD_SKIP_BOOST=ON.
>> >>>>>> 5) Configure and build kicad against our custom boost 1.54 using
>> >>>>>> KICAD_SKIP_BOOST=OFF.
>> >>>>>>
>> >>>>>> Once I have confirmation that this doesn't break the OSX build, I
>> >>>>>> will
>> >>>>>> commit the latest avhttp source zip file.
>> >>>>>>
>> >>>>>> Thanks,
>> >>>>>>
>> >>>>>> Wayne
>> >>>>>>
>> >>>>>> On 11/9/2014 10:45 PM, Blair Bonnett wrote:
>> >>>>>>> On 10 November 2014 09:41, Nick Østergaard <oe.nick@xxxxxxxxx <mailto:oe.nick@xxxxxxxxx>
>> >>>>>>> <mailto:oe.nick@xxxxxxxxx <mailto:oe.nick@xxxxxxxxx>>> wrote:
>> >>>>>>>> Yes, it also builds with kicad's boost and it fetches the
>> >>>>>>>> footprints
>> >>>>>>>> form github without problems. So I would say it is safe to update.
>> >>>>>>>>
>> >>>>>>> I ran into the same compile error last night after a system update.
>> >>>>>>> I've
>> >>>>>>> just compiled with the latest avhttp with both Boost 1.57, and the
>> >>>>>>> patched 1.54 bundled with KiCad. I encountered no problems using
>> >>>>>>> either
>> >>>>>>> -- cvpcb seems happy in both cases.
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> _______________________________________________
>> >>>>>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> >>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> >>>>>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> >>>>>>>
>> >>>>>> _______________________________________________
>> >>>>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> >>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >>>>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> >>>>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> >>>>> _______________________________________________
>> >>>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> >>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >>>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> >>>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> >>>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> >>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> >>>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> >>>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> >>>
>> > 
>> > 
>> > _______________________________________________
>> > Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> > Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> > More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> > 
>> 
>> 
>> 
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References