If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Fix building under 10.3 with Xcode

RESOLVED FIXED

Status

Camino Graveyard
General
RESOLVED FIXED
14 years ago
14 years ago

People

(Reporter: Simon Fraser, Assigned: Simon Fraser)

Tracking

Details

Attachments

(1 attachment, 1 obsolete attachment)

457 bytes, patch
Mike Pinkerton (not reading bugmail)
: review+
Brian Ryner (not reading)
: superreview+
Details | Diff | Splinter Review
(Assignee)

Description

14 years ago
Building Camino on 10.3 breaks because pbxbuild is no longer present; it's
xcodebuild now.
(Assignee)

Comment 1

14 years ago
Created attachment 133899 [details] [diff] [review]
Patch to use xcodebuild when present
Comment on attachment 133899 [details] [diff] [review]
Patch to use xcodebuild when present

r=pink
Attachment #133899 - Flags: review+
(Assignee)

Comment 3

14 years ago
Created attachment 133951 [details] [diff] [review]
Patch to make Rendezvous stuff build
Attachment #133899 - Flags: superreview+
Comment on attachment 133951 [details] [diff] [review]
Patch to make Rendezvous stuff build

landed
Attachment #133951 - Attachment is obsolete: true
Attachment #133899 - Flags: approval1.6a?

Comment 5

14 years ago
*** Bug 223778 has been marked as a duplicate of this bug. ***
eric albert gave us this help on the xcode mailing list:


Cool bug!  This appears to be running afoul of the compiler's
implicit wrapping of all /usr/include headers with 'extern "C"'.
Prior to Panther, system headers didn't always do a great job of
exporting their APIs as C.  GCC implicitly exports anything in
/usr/include as a C API, but CodeWarrior doesn't.  If you look
through various list and newsgroup archives, you'll see a lot of
messages from CodeWarrior users who had trouble with the Mach headers
from C++ code on Jaguar.  It seems that GCC isn't recognizing the SDK
headers as system headers, so you're running into the same problem
there.  The compiler thinks the functions are C++ APIs, so it links
against the C++-name-mangled versions, but those don't exist at link
time.

Until this is fixed, the workaround is to wrap all includes of Mach
headers like this:
#ifdef __cplusplus
extern "C" {
#endif
#include <mach/mach.h>
#ifdef __cpluplus
}
#endif

This works for me with a test program in Xcode that calls
mach_host_self() and uses the 10.2.7 SDK.

Hope this helps,
Eric 
this patch we were waiting on has already landed, but other issues are still in
bug 224161. closing this one out.
Status: NEW → RESOLVED
Last Resolved: 14 years ago
Resolution: --- → FIXED

Comment 8

14 years ago
Comment on attachment 133899 [details] [diff] [review]
Patch to use xcodebuild when present

Removing obsolete approval request.
Attachment #133899 - Flags: approval1.6a?
You need to log in before you can comment on or make changes to this bug.