Yes, sounds reasonable… I was wrong about 10.8, libc++ seems to be there since 
10.7.

I found a report of one guy having problems with a binary linked against 
libstdc++ because some system libs pulled in libc++.
He was able to find out the exact class/type which caused the problem.
He reported it to Apple, it was considered a bug because it should be 
compatible, and it got fixed quite some while later.

Doing the same will be quite painful I guess, because we have so many (foreign) 
things using C++… wxWidgets, boost, etc.
So, I guess the easiest way to fix this for now is to ensure everything is 
built with the same min version (or standard C++ lib I guess).

Moreover… I guess that at some point in time Apple probably will drop libstdc++ 
support anyway… so the effort of providing in worst case two packages (one for 
<10.7 and another for >10.7) will be much less than trying to fix that now.

That’s something that has most impact on Adam and the upcoming automated 
builds...


Regards,
Bernhard

On 16.11.2014, at 10:43, Garth Corral <gcor...@abode.com> wrote:

> Interesting.  When I had replied in the past that I was unable to reproduce 
> this, I had been building with a local patch that set macosx-version-min to 
> 10.7 for everything.  When I read this I tried building again without that 
> patch and sure enough, red blob.  When I rebuilt with version-min set to 10.7 
> it went away again.
> 
> Garth
> 
> 
>> On Nov 16, 2014, at 12:41 AM, Bernhard Stegmaier <stegma...@sw-systems.de> 
>> wrote:
>> 
>> Hi OSX guys,
>> 
>> do you still see the "red blob bug” in latest revisions (since yesterday)?
>> I still had it in all the builds I made, the last revision I built was 5263, 
>> and it was in there.
>> 
>> When I switched to external boost for the avhttp tests (this build has the 
>> red blob problem) I noticed that my boost (from MacPorts) was compiled 
>> against libc++, whereas wxWidgets and KiCad itself was built against 
>> libstdc++. 
>> This is how it is forced in KiCad CMake (via "—mmacosx-min-version" which 
>> implicitly sets used C++ standard library) and in the wxWidgets 
>> configuration I use.
>> 
>> Although common sense seems to be “if it compiles/links fine, it will work” 
>> I know from problems at work that mixing standard C++ libraries in one 
>> binary can lead to very weird problems. Mixing libs is often not obvious, 
>> because different versions can be pulled in by any indirect library 
>> dependency in the whole dependency chain.
>> 
>> So, I pulled to head yesterday and made some small changes to build 
>> everything (KiCad and wxWidgets) with minimum OSX version 10.9 which selects 
>> libc++… just to see what happens.
>> Built fine, I did my usual tests and I was quite surprised that the red blob 
>> problem was gone!
>> 
>> So, can anyone confirm 
>> (1) if problem is still there with latest revision?
>> (2) it goes away if you rebuild KiCad & wxWidgets and change every 
>> “-mmacosx-min-version=10.5” in KiCad CMake files to something more recent 
>> (probably 10.9 or 10.10, AFAIK libc++ was default starting with 10.8) and 
>> remove any "-stdlib=libstdc++” (it used when configuring wxWidgets if you 
>> use the supplied script)?
>> 
>> If it is confirmed that this is due to mixing libc++/libstdc++ I will change 
>> build process in a way that you can specify which OSX version is targeted…
>> 
>> 
>> Regards,
>> Bernhard
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
> 


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to