Boost logo

Boost Users :

Subject: [Boost-users] Bug in darwin.jam of boost 1.43 prevents Mac OS X backwards compatibility
From: Manfred Schwind (lists_at_[hidden])
Date: 2010-05-19 15:49:18


After debugging problem that my app did not launch on older Mac OS X versions, I figured out that darwin.jam of boost 1.43 has a nasty bug:

These lines:

            case mac* :
            {
                flags darwin.compile OPTIONS <macosx-version-min>$(version-feature)
                    : -miphoneos-version-min=$(version[2-]:J=.) ;
                flags darwin.link OPTIONS <macosx-version-min>$(version-feature)
                    : -miphoneos-version-min=$(version[2-]:J=.) ;
            }

Should be:

            case mac* :
            {
                flags darwin.compile OPTIONS <macosx-version-min>$(version-feature)
                    : -mmacosx-version-min=$(version[2-]:J=.) ;
                flags darwin.link OPTIONS <macosx-version-min>$(version-feature)
                    : -mmacosx-version-min=$(version[2-]:J=.) ;
            }

("macosx" instead of "iphoneos". Seems to be a copy&paste bug.)

To get backwards compatible binaries it's essential to pass the appropriate -mmacosx-version-min option to the compiler. But because of this bug, this option was never passed, so my built boost libraries where not backwards compatible.
It took me a whole day to figure this out. First I checked all my build settings of my app. The bjam build settings looked OK, so it was not obvious that the boost libraries were the cause of all the trouble.
Just wanted to let you know, in case other people have the same problem.

Mani

--
http://mani.de - friendly software
iVolume - listen to music hands-free
LittleSecrets - the encrypted notepad
Sahara - sand in your pocket
Watchdog - baffle the curious

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net