← Back to team overview

kicad-developers team mailing list archive

OSX Red Blob Bug

 

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

Follow ups