← Back to team overview

kicad-developers team mailing list archive

Re: Call for update of avhttp because of boost 1.57

 

Hi Bernhard,

Thanks!  My whole cluster choked this week on a bad update (I guess I'll
need a test machine...), so I'm rebuilding it! I should be up and running
before the weekend, but this is helping me prove my backups are good, I
guess.

Adam Wolf
Cofounder and Engineer
Wayne and Layne, LLC

On Wed, Nov 12, 2014 at 3:04 PM, Bernhard Stegmaier <stegmaier@xxxxxxxxxxxxx
> wrote:

> Just for the record…
> I compiled boost via MacPorts on my 10.10 machine and it compiled boost
> for minimum OSX 10.10 (-mmacosx-version-min=10.10).
> So, it won’t run on an older version even if everything is bundled
> correctly and KiCad itself is built with minimum version 10.?.
>
> Not a problem on the same machine, but if you want to use on different
> machines and/or OSX versions, you might want to build boost yourself and
> make sure to use correct/matching "-mmacosx-version-min=10.?” parameters.
>
> @Adam:
> At least for my MacPorts libraries the same seems to be the case for the
> other dependencies, e.g. libcairo.dylib is also built for 10.10.
> I didn’t have any problems with my previous 10.10 builds on 10.9, I don’t
> know why (I would have assumed that it just bails out because of the
> version mismatch, but it didn’t).
> You can check minimum version of a library using “otool -l
> ../path/to/lib/xxx.dylib” and looking for that block:
>
> Load command 8
>       cmd LC_VERSION_MIN_MACOSX
>   cmdsize 16
>   version 10.10
>       sdk 10.10
>
> Maybe you want to make sure that all the dependencies of your automated
> builds have the same minimum version to avoid problems. For KiCad/wxWidgets
> it is explicitly set to 10.6 in your build script as far as I remember...
>
>
> Regards,
> Bernhard
>
> On 12.11.2014, at 20:20, Bernhard Stegmaier <stegmaier@xxxxxxxxxxxxx>
> wrote:
>
> 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
>
> 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>>>>>> 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 <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>>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers>>>>>>> More help   : 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>>>>> _______________________________________________>>>>> 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>>>>>>>>>>>>> _______________________________________________>>>> 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>>>> > > _______________________________________________> 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>
>
>
>
> _______________________________________________
> 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
>
>  _______________________________________________
> 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
>
>
>
>
> _______________________________________________
> 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
>
>

References