Re: 10.6 MacPerl - no appropriate 64-bit architecture
On Aug 28, 2009, at 11:44 PM, Gavin Brock wrote: On 28 Aug 2009, at 17:45, e...@apple.com wrote: On Aug 27, 2009, at 11:15 PM, Gavin Brock wrote: Anyone else seeing issues with Snow Leopard /usr/bin/perl modules on 64bit hardware? /usr/bin/perl -MMacPerl -e 1 Can't load '/System/Library/Perl/Extras/5.10.0/darwin-thread- multi-2level/auto/MacPerl/MacPerl.bundle' for module MacPerl: Any insights? Because a lot of Carbon is not available in 64-bit, and because MacPerl and other modules are based on Carbon, they can't be built 64-bit. Since perl 5.10.0 is 64-bit by default, those modules can't be loaded. A 32-bit only machine will work fine, just as using the techniques mentioned in man perl for running in 32-bit mode. However, since the world is moving to 64-bit, and most of SnowLeopard is already 64-bit, moving off of modules that depend on non-64-bit software like Carbon is the long term solution. Ed Since MacPerl is deprecated in 10.6, does anyone have a suggestion for an alternative way to call AppleScript from perl? The MacPerl::DoAppleScript was very convenient. I believed that Mac::Glue was the popular perly way to call AppleScript, but even that claims to need the latest Mac::Carbon distribution. Will that work on 64bit? Please don't tell me I have to system(osascript, ...) ;-) Thanks, Gavin Mac::Glue and Mac::Carbon are again based on Carbon, and won't work in 64-bit. Though I haven't used it myself, use Foundation; will load in the PerlObjCBridge module (which is 64-bit) and then you can use NSAppleScript class to run an AppleScript script (as I understand it). Ed
Re: 10.6 MacPerl - no appropriate 64-bit architecture
On Aug 29, 2009, at 1:06 PM, e...@apple.com wrote: On Aug 28, 2009, at 11:44 PM, Gavin Brock wrote: On 28 Aug 2009, at 17:45, e...@apple.com wrote: On Aug 27, 2009, at 11:15 PM, Gavin Brock wrote: Anyone else seeing issues with Snow Leopard /usr/bin/perl modules on 64bit hardware? /usr/bin/perl -MMacPerl -e 1 Can't load '/System/Library/Perl/Extras/5.10.0/darwin-thread- multi-2level/auto/MacPerl/MacPerl.bundle' for module MacPerl: Any insights? Because a lot of Carbon is not available in 64-bit, and because MacPerl and other modules are based on Carbon, they can't be built 64-bit. Since perl 5.10.0 is 64-bit by default, those modules can't be loaded. A 32-bit only machine will work fine, just as using the techniques mentioned in man perl for running in 32-bit mode. However, since the world is moving to 64-bit, and most of SnowLeopard is already 64-bit, moving off of modules that depend on non-64-bit software like Carbon is the long term solution. Ed Since MacPerl is deprecated in 10.6, does anyone have a suggestion for an alternative way to call AppleScript from perl? The MacPerl::DoAppleScript was very convenient. I believed that Mac::Glue was the popular perly way to call AppleScript, but even that claims to need the latest Mac::Carbon distribution. Will that work on 64bit? Please don't tell me I have to system(osascript, ...) ;-) Thanks, Gavin Mac::Glue and Mac::Carbon are again based on Carbon, and won't work in 64-bit. Though I haven't used it myself, use Foundation; will load in the PerlObjCBridge module (which is 64-bit) and then you can use NSAppleScript class to run an AppleScript script (as I understand it). Ed The conclusion I see from this is: If I have a script that requires Mac::Glue, I'm pretty much out of luck. Oh, well, I guess it's way past time to port it over to Applescript altogether... Kim
Re: 10.6 MacPerl - no appropriate 64-bit architecture
On Aug 29, 2009, at 2:50 PM, Kim Helliwell wrote: On Aug 29, 2009, at 1:06 PM, e...@apple.com wrote: On Aug 28, 2009, at 11:44 PM, Gavin Brock wrote: On 28 Aug 2009, at 17:45, e...@apple.com wrote: On Aug 27, 2009, at 11:15 PM, Gavin Brock wrote: Anyone else seeing issues with Snow Leopard /usr/bin/perl modules on 64bit hardware? /usr/bin/perl -MMacPerl -e 1 Can't load '/System/Library/Perl/Extras/5.10.0/darwin-thread- multi-2level/auto/MacPerl/MacPerl.bundle' for module MacPerl: Any insights? Because a lot of Carbon is not available in 64-bit, and because MacPerl and other modules are based on Carbon, they can't be built 64-bit. Since perl 5.10.0 is 64-bit by default, those modules can't be loaded. A 32-bit only machine will work fine, just as using the techniques mentioned in man perl for running in 32-bit mode. However, since the world is moving to 64-bit, and most of SnowLeopard is already 64-bit, moving off of modules that depend on non-64-bit software like Carbon is the long term solution. Ed Since MacPerl is deprecated in 10.6, does anyone have a suggestion for an alternative way to call AppleScript from perl? The MacPerl::DoAppleScript was very convenient. I believed that Mac::Glue was the popular perly way to call AppleScript, but even that claims to need the latest Mac::Carbon distribution. Will that work on 64bit? Please don't tell me I have to system(osascript, ...) ;-) Thanks, Gavin Mac::Glue and Mac::Carbon are again based on Carbon, and won't work in 64-bit. Though I haven't used it myself, use Foundation; will load in the PerlObjCBridge module (which is 64-bit) and then you can use NSAppleScript class to run an AppleScript script (as I understand it). Ed The conclusion I see from this is: If I have a script that requires Mac::Glue, I'm pretty much out of luck. Oh, well, I guess it's way past time to port it over to Applescript altogether... Kim Not really out of luck. You can choose to use the 32-bit version of perl 5.10.0, or even the perl 5.8.9 (which is only 32-bit), as per the man page, for the time being on SnowLeopard. This should hopefully give everyone enough time before the next major release of Mac OS X to work on transitioning to 64-bit compatible code. Ed
Re: 10.6 MacPerl - no appropriate 64-bit architecture
On Aug 27, 2009, at 11:15 PM, Gavin Brock wrote: Anyone else seeing issues with Snow Leopard /usr/bin/perl modules on 64bit hardware? /usr/bin/perl -MMacPerl -e 1 Can't load '/System/Library/Perl/Extras/5.10.0/darwin-thread- multi-2level/auto/MacPerl/MacPerl.bundle' for module MacPerl: /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level/auto/ MacPerl/MacPerl.bundle: no appropriate 64-bit architecture (see man perl for running in 32-bit mode) at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/ DynaLoader.pm line 207. at /usr/local/bin/csshx line 237 Compilation failed in require at /usr/local/bin/csshx line 237. BEGIN failed--compilation aborted at /usr/local/bin/csshx line 237. This does not appear to be an issue if the /usr/bin/perl5.8.9 perl is used instead (yup - there are two perls installed on snowy!) Sadly I'm a poor core-duo (32bit) user so I can't reproduce this - I'm just receiving bug reports... Any insights? Gavin Because a lot of Carbon is not available in 64-bit, and because MacPerl and other modules are based on Carbon, they can't be built 64- bit. Since perl 5.10.0 is 64-bit by default, those modules can't be loaded. A 32-bit only machine will work fine, just as using the techniques mentioned in man perl for running in 32-bit mode. However, since the world is moving to 64-bit, and most of SnowLeopard is already 64- bit, moving off of modules that depend on non-64-bit software like Carbon is the long term solution. Ed