← Back to team overview

kicad-developers team mailing list archive

Re: Call for update of avhttp because of boost 1.57

 

I committed the latest avhttp to the product branch r5264.  You will
most likely have to delete the .downloads-by-cmake/avhttp folder from
your kicad source before rebuilding.  I'm not sure that cmake will
remove it for you.

On 11/12/2014 4:04 PM, Bernhard Stegmaier 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
> <mailto: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
>>> <mailto: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>
>>>> >>>>>>> <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
>>>> >>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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
>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>>
> 




References