digitalmars.D.learn - GDC on Mac - math linker errors for do-nothing program
- Chris Pelling <chris inventivedingo.com> Nov 20 2006
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> Nov 20 2006
- Chris Pelling <chris inventivedingo.com> Nov 21 2006
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> Nov 21 2006
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> Nov 21 2006
- Chris Pelling <chris inventivedingo.com> Nov 21 2006
- Chris Pelling <chris inventivedingo.com> Nov 21 2006
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> Nov 21 2006
- Chris Pelling <chris inventivedingo.com> Nov 21 2006
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> Nov 21 2006
- Chris Pelling <chris inventivedingo.com> Nov 21 2006
Hi there, I've been using D for a while now, but only on Windows, and I'm currently trying to get my project to compile on Mac OS X. I'm pretty new to Macs, in general. The machine is a classic iMac, one of the original ones from 1998; I think it's a Revision B. (My workplace was going to throw it out so I got it for free.) I installed a fresh copy of Mac OS X 10.3 "Panther" on it (Tiger dropped support for the classic iMacs), downloaded and installed Xcode Tools 1.5 as instructed, and then downloaded and installed gdc from http://gdcmac.sf.net. To test it I created a simple D file, like this: void main() { } I tried to compile it (using either gdc test.d or gdmd test.d) and got this: $ gdc test.d ld: Undefined symbols: _acosl _asinl _atan2l _atanl _cbrtl _ceill _copysignl _coshl _erfcl _erfl _exp2l _expl _expm1l _fabsl _floorl _frexpl _ilogbl _ldexpl _lgammal _log10l _log1pl _log2l _logbl _logl _modfl _nanl _nearbyintl _powl _remainderl _roundl _sinhl _sqrtf _sqrtl _tanhl _tgammal _truncl I have no idea what's causing this. I've tried reinstalling Xcode and the BSD Subsystem, to no avail. Any ideas? Thanks in advance! --Chris Pelling
Nov 20 2006
Chris Pelling wrote:The machine is a classic iMac, one of the original ones from 1998; I think it's a Revision B. (My workplace was going to throw it out so I got it for free.) I installed a fresh copy of Mac OS X 10.3 "Panther" on it (Tiger dropped support for the classic iMacs), downloaded and installed Xcode Tools 1.5 as instructed, and then downloaded and installed gdc from http://gdcmac.sf.net.
Sounds reasonable. The math symbols you describe are being defined in /usr/lib/libSystem.dylib, so it should be able to find those easilly...I have no idea what's causing this. I've tried reinstalling Xcode and the BSD Subsystem, to no avail.
It works here, Mac OS X 10.3.9, Xcode 1.5. So it should for you too. Which GDC installation for Panther did you use ? (i.e. 0.19 or r20) --anders PS. You might try installing GDC from source code to see if that helps
Nov 20 2006
Anders F Björklund wrote:The math symbols you describe are being defined in /usr/lib/libSystem.dylib, so it should be able to find those easilly...
That's what I thought too...It works here, Mac OS X 10.3.9, Xcode 1.5. So it should for you too. Which GDC installation for Panther did you use ? (i.e. 0.19 or r20)
I used 0.19.PS. You might try installing GDC from source code to see if that helps
I'll look into that, thanks for the suggestion.
Nov 21 2006
Chris Pelling wrote:It works here, Mac OS X 10.3.9, Xcode 1.5. So it should for you too. Which GDC installation for Panther did you use ? (i.e. 0.19 or r20)
I used 0.19.
OK. *scratches head*. That is the one I've used most. If you run with gdc --verbose it'll show all the steps, and if you run it with ktrace it'll dump a ktrace.out: gdc --verbose -c test.d 2> test.out ktrace gdc -c test.d Email those two outputs to me, and I'll have a look... (zip the test.out and ktrace.out up in an archive or so) --anders
Nov 21 2006
If you run with gdc --verbose it'll show all the steps, and if you run it with ktrace it'll dump a ktrace.out: gdc --verbose -c test.d 2> test.out ktrace gdc -c test.d
Probably more interesting if we include the linker step too: gdc --verbose -o test test.d 2> test.out ktrace gdc -o test test.d BTW; you can view the ktrace.out using the "kdump" command. --anders
Nov 21 2006
Anders F Björklund wrote:gdc --verbose -o test test.d 2> test.out ktrace gdc -o test test.d
I sent you test.out and ktrace.out. By the way, I should mention that my system isn't quite the same as yours. I'm not running OS X 10.3.9; I think it's 10.3.0 (all the version numbers I can find just say "10.3"). I suppose upgrading would be a good idea...
Nov 21 2006
Chris Pelling wrote:I suppose upgrading would be a good idea...
A very good idea, as it turns out. Upgrading to 10.3.9 solved the problem. Thanks for your help Anders!
Nov 21 2006
Chris Pelling wrote:I suppose upgrading would be a good idea...
A very good idea, as it turns out. Upgrading to 10.3.9 solved the problem.
Okay, explains why I couldn't reproduce or find anything. I think I will maybe post a "warning" on the gdcmac site. --anders
Nov 21 2006
Anders F Björklund wrote:I think I will maybe post a "warning" on the gdcmac site.
Yes, good idea. I was going to suggest that but forgot. :-) --Chris Pelling
Nov 21 2006
Chris Pelling wrote:I think I will maybe post a "warning" on the gdcmac site.
Yes, good idea. I was going to suggest that but forgot. :-)
Probably could have made a version with the MacOSX10.3.0.sdk, but it's better to force upgrading to 10.2.8 and 10.3.9... :-) Besides, you probably *want* Mac OS X 10.3.9 anyway for the security fixes, and for the compatibility with GCC/G++ 4.0 ? --anders
Nov 21 2006
Anders F Björklund wrote:Probably could have made a version with the MacOSX10.3.0.sdk, but it's better to force upgrading to 10.2.8 and 10.3.9... :-) Besides, you probably *want* Mac OS X 10.3.9 anyway for the security fixes, and for the compatibility with GCC/G++ 4.0 ?
Yeah, upgrading isn't an issue, I just hadn't got around to it. By the way, will end-users have to be patched to 10.3.9 in order to run the compiled programs? (And what about 10.2.x and 10.4.x?)
Nov 21 2006
Chris Pelling wrote:By the way, will end-users have to be patched to 10.3.9 in order to run the compiled programs? (And what about 10.2.x and 10.4.x?)
It's all about the libraries. End users shouldn't have to upgrade unless they encounter some issues like you had, but better put a disclaimer in. In general, the ready-made binaries will support the latest OS version. But I don't have any code that requires the new OS, just a side-effect. I don't think there will be any more explicit Mac OS X 10.2 versions of GDC, so you'll have to use Panther to develop for Jaguar in that case... --anders
Nov 22 2006








=?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se>