Just one more thing...

Michel Fortin michel.fortin at michelf.com
Sun Feb 15 04:50:48 PST 2009


On 2009-02-15 04:30:28 -0500, Anders F Björklund <afb at algonet.se> said:

> Walter Bright wrote:
>> Anders F Björklund wrote:
>>> -mmacosx-version-min=10.4
>> 
>> I recompiled with that switch, and uploaded a new dmd.1.040.zip. Can 
>> you give it a try, please?
> 
> You did add *both* the switches, right ? One for MDT, one for SDK.
> (MDT is for choosing functions, SDK chooses headers and libraries)
> 
> -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
> 
> It still fails on Mac OS X 10.4, maybe it still used native SDK ?

If you specify a SDK for the compiler, you should also tell the linker 
to use the SDK.

	-syslibroot /Developer/SDKs/MacOSX10.4u.sdk

Or if you're passing the linker's argument through GCC instead of 
calling the linker directly:

	-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk

That's all explained in the document I linked to yesterday.


> (if it matters, it gets a null dereference in _malloc_initialize)

I made a diff of malloc.c (which contains _malloc_initialize) between 
10.4 and 10.5, and it looks like the rewrote half of that file, so 
there may be some differences.

But even then, if Walter is using the 10.5 SDK and isn't using anything 
specific to 10.5, I don't see where the problem could be comming from; 
especially after setting -mmacosx-version-min=10.4. When using the 10.5 
SDK, -mmacosx-version-min=10.4 will only make 10.5-only APIs 
weak-linked. When using the 10.4 SDK, it shoudn't do anything special, 
as 10.5's APIs are just not available.

I'd suggest to Walter to try adding the SDK flags to the linker. If 
that doesn't work, I'd suggest someone with 10.4 on an Intel Mac look 
for the crash report that should be in 
~/Library/Logs/CrashReporter/dmd_<date>.crash and send it to Walter, or 
post it somewhere for everyone to analyse.

-- 
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/



More information about the Digitalmars-d-announce mailing list