← Back to team overview

kicad-developers team mailing list archive

Re: Wrong (external) boost pulled in?

 

To get a baseline, I just build KiCad from scratch.
I just upgraded to OS X Yosemite, refreshed all my MacPorts for the dev tools, 
and I am using Xcode 6.1,
clang 6.1.1,
Cmake 3.0.2,
make 3.81,
wxwidgets 3.0.2.

Jean-Pauls-MacBook-Pro-3:Soft_Dev jean-paullouis$ cmake --version
cmake version 3.0.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).
Jean-Pauls-MacBook-Pro-3:Soft_Dev jean-paullouis$ make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0



This first build is using the boost 1.54 patched by KiCad.
It finished without error, and both eeschema and pcbnew are starting properly when started in that order. Starting pcbnew, then eeschema still brings the ugly red background in eeschema.

I have not yet patched wxwidgets with Adam’s patch for Yosemite. I will do that next.

Then I will try to use the stock Boost 1.57, and will let you know what I find.

Regards,
Jean-Paul
AC9GH





> On Nov 19, 2014, at 1:48 PM, Wayne Stambaugh <stambaughw@xxxxxxxxxxx> wrote:
> 
> On 11/19/2014 1:28 PM, Bernhard Stegmaier wrote:
>> 
>> On 19.11.2014, at 18:59, Wayne Stambaugh <stambaughw@xxxxxxxxxxx
>> <mailto:stambaughw@xxxxxxxxxxx>> wrote:
>> 
>>> On 11/19/2014 12:38 PM, Bernhard Stegmaier wrote:
>>>> 
>>> 
>>> cd build_folder
>>> make clean                # clean any source files generated by CMake
>> 
>> I didn’t do the "make clean", ...
>> 
>>> rm -rf *
>> 
>> … but after that the folder is completely empty (I checked that more
>> than once).
>> 
>>> cd src_path
>>> rm -rf .downloads-by-cmake
>>> rm -rf boost_root
>> 
>> So, all in all that should be pretty much what I do to get a clean build.
>> That also always worked before.
>> But, I can also try if a “make clean” does make any difference...
> 
> I always try to make sure that all of the source downloaded and
> generated by CMake is gone.  I'm not 100% sure `make clean` gets rid of
> all of it so I manually delete it myself.
> 
>> 
>>>> 
>>>> It also was not a once issue… I made at least 3 or 4 builds (release and
>>>> debug) this way and all of them consistently showed this problem.
>>>> 
>>>> I checked the pcbnew binary and it seem to be correctly linked.
>>>> The internal boost is built statically, whereas the external one is only
>>>> built as dynamic libs.
>>>> If I use external boost external libs are correctly linked/referenced.
>>>> The broken pcbnew doesn’t reference any of the external dynamic libs, so
>>>> I think it has been built against the internal static version.
>>>> 
>>>> BTW: 
>>>> eeschema starts up and also shows a version information with boost 1.56.
>>>> So, I guess debugger is really right here.
>>> 
>>> Eeschema doesn't use the boost context library so that is probably why
>>> it doesn't crash.  My guess is your going to find that it crashes here:
>>> 
>>> #if BOOST_VERSION >= 105600
>>>   m_self = new boost::context::fcontext_t();
>>>   *m_self = boost::context::make_fcontext( sp, m_stackSize, callerStub );
>>> #else
>>>   m_self = boost::context::make_fcontext( sp, m_stackSize, callerStub );
>>> #endif
>> 
>> If you look at the screenshot of my first mail, the last call before it
>> crashes is highlighted:
>> 
>> #if BOOST_VERSION >= 105600
>> ==>  return boost::context::jump_fcontext(aOld, *aNew, aP,
>> aPreserveFPU); <==
>> 
>> The *aNew seems to have changed from/to a pointer, that’s why it
>> segfaults in jump_fcontext itself.
>> 
>>> If this is where the crash occurs, then FindBoost may be causing the
>>> issue and we will have to sort it out.  It's easy to see if KiCad uses
>>> the incorrect Boost version during the build how this would segfault.
>> 
>> Hmm?
>> I didn’t get what you meant here...
>> 
>> 
>> Regards,
>> Bernhard
> 
> 
> 
> _______________________________________________
> 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