We wanted to share this information about Perl and the future 10.3 (Panther) release of Mac OS X, so users and developers would not be taken by surprise about the incompatibility issues that they are likely to see. We hope the new features and capabilities of the new Perl will outweigh the temporary difficulties that will occur.
Edward Moy Apple
On Tuesday, July 1, 2003, at 10:04 AM, Rich Morin wrote:
--- Begin Forward ---
Cc: Omni List <[EMAIL PROTECTED]>
From: Edward Moy <[EMAIL PROTECTED]>
Subject: Re: Perl for Panther
To: John Adams <[EMAIL PROTECTED]>
Sender: [EMAIL PROTECTED]
X-BeenThere: [EMAIL PROTECTED]
X-Mailman-Version: 2.0.6
List-Unsubscribe: <http://www.omnigroup.com/mailman/listinfo/macosx-talk>,
<mailto:[EMAIL PROTECTED]>
List-Id: Discussions of Mac OS X <macosx-talk.omnigroup.com>
List-Post: <mailto:[EMAIL PROTECTED]>
List-Help: <mailto:[EMAIL PROTECTED]>
List-Subscribe: <http://www.omnigroup.com/mailman/listinfo/macosx-talk>,
<mailto:[EMAIL PROTECTED]>
List-Archive: <http://www.omnigroup.com/mailman/archive/macosx-talk/>
X-Original-Date: Wed, 25 Jun 2003 14:21:49 -0700
Date: Wed, 25 Jun 2003 14:21:49 -0700
On Tuesday, June 24, 2003, at 5:41PM, John Adams wrote:
Has anyone heard what version of Perl we should expect with Panther--5.6.0 again, 5.6.1, 5.8.0, 5.8.1 (imminent)?
For the record, there is a release note included with the WWDC version of Panther, which I include here.
Edward Moy Apple -------------------------------------------------------- PATH Documentation >Release Notes
Mac OS X 10.3.x Developer Release Notes: Perl 5.8.1 Release Notes
Mac OS X 10.3 will ship with version 5.8.1 of Perl, which will have many new and improved features.
The highlights of the 5.8 series include:
* Better Unicode support * New IO Implementation * New Thread Implementation * Better Numeric Accuracy * Safe Signals * Many New Modules
However, for Perl extensions (XS modules), the 5.8 series is not binary-compatible with earlier releases on Perl, including the 5.6 version that shipped on previous releases of Mac OS X. This means that developers will have to recompile their Perl extensions to use them in Mac OS X 10.3.
With the 5.8.1 version, the standard distribution of Perl for Mac OS X makes the following changes:
* Versioning - the Perl release will be installed in a 5.8.1 sub-directory of /System/Library/Perl and /Library/Perl . This allows multiple versions of Perl to be run on a user's system without conflict. * Two-level namespace support - Perl extensions will be compiled automatically with two-level namespace support, greatly alleviating the problem of duplicate symbols. * The Mac OS X version of Perl will also have the new ithreads support turned on, so Perl programs can be multithreaded.
These changes in 5.8.1 will make it binary incompatible with not only previous versions of Perl, but even with the same version not built with this same set of features. For example, the ithread support alone changes the internal workings of Perl so that extensions are incompatible.
To ameliorate these binary incompatibilities, the 5.8 series implements different names for the architecture-dependent directory depending on the compiled features. So instead of the familiar darwin directory, the new architecture-dependent directory for the Mac OS X release will be darwin-thread-multi-2level .
The breaking of binary compatibility for 5.8.1 was unavoidable, but once made, Apple does not intend to change this any further in the 10.3 timeframe. Developers with prerelease versions of 10.3 may begin to recompile their extensions with assurance that the binary compatibility will not change when 10.3 is shipped.
One final word about compatibility. The two-level namespace support uses a feature only available in 10.3. That means Perl extensions built under 10.3 can never be made to run under previous versions of Mac OS X. Perl extensions that need to run under both 10.3 and previous releases will need to have separate versions.
Copyright � 2003 Apple Computer, Inc.
--- End Forward ---
-- email: [EMAIL PROTECTED]; phone: +1 650-873-7841 http://www.cfcl.com/rdm - my home page, resume, etc. http://www.cfcl.com/Meta - The FreeBSD Browser, Meta Project, etc. http://www.ptf.com/dossier - Prime Time Freeware's DOSSIER series
