[Pythonmac-SIG] OSX3 install problem

Ned Deily nad at acm.org
Sat Dec 5 02:41:24 CET 2009

In article <BLU120-W1903D86EF2BC8AADF7613382930 at phx.gbl>,
 downie - <downgeoff2 at hotmail.com> wrote:
>[nad wrote]:
> > In article <BLU120-W261B778A307331EBDC95EB82940 at phx.gbl>,
> >  downie - <downgeoff2 at hotmail.com> wrote:
> > >  I'm trying to install Python on OSX10.3.9 , downloaded 
> > >  python-2.6.4_macosx10.3.dmg, but unfortunately the install process ends 
> > >  with 
> > >  'There have been errors in the install process. Please try again.'
> > >  Console.log entry is not much more informative:
> > > "2009-12-03 20:11:22 +0000
> > > Not a JPEG file: starts with 0x89 0x50
> > > 2009-12-03 20:14:11.844 Installer[387] Exception raised during posting of 
> > > notification.  Ignored.  exception: Some files for PythonFramework-2.6 
> > > may 
> > > not have been written correctly. (code 1)"
> > > 
> > > Any ideas on where to look for better diagnostics?
> > Interesting.  The installer is seldom (if ever) tested on 10.3.9 these 
> > days although the hope is that it should work.  I forget if the OS X 
> > Installer app has this option in 10.3 but, at least on later versions of 
> > OS X, the Installer menu bar has a Window -> Installer Log option and at 
> > the bottom of the Installer Log window there is an selector for "Show 
> > Everything".  Could you see if there is anything more there, perhaps the 
> > specific file name?

> Dec  4 11:43:43 : Extracting files from Python Framework
> Dec  4 11:43:43 : Running task: 
> /System/Library/PrivateFrameworks/Installation.framework/Resources/pax
> Dec  4 11:44:24 : ERROR:Could not write file. - pax: WARNING! These patterns 
> were not matched: -  
> Dec  4 11:44:24 : 
> ./Versions/2.6/Resources/Python.app/Contents/Resources/English.lproj/Documenta
> tion/ide/hello_world.gif
> Dec  4 11:44:24 : 
> ./Versions/2.6/Resources/Python.app/Contents/Resources/English.lproj/Documenta
> tion/ide/loading_ide.gif

Ugh!  This is an odd one!

Since I'm too lazy to create a 10.3 system to test this, I'm only 
guessing at what's happening on 10.3 but it seems very likely that the 
reason the patterns weren't matched is that those two files from the 
installer package pax archive are attempting to be installed under bogus 
file names.

If I mount the installer dmg file on 10.4.11 and use pax directly on the 
Archive file:

$ cd "/Volumes/Python 2.6.4/Python.mpkg/Contents/Packages/"
$ cd PythonFramework-2.6.pkg/Contents/
$ pax -zf Archive.pax.gz | grep '/ide'
mentation/ide/hello_world.gif0000664 0000000 0000120 00000036501 
11271640421 0034576 0
mentation/ide/loading_ide.gif0000664 0000000 0000120 00000142643 
11271640421 0034527 0

Note the two rather peculiar file names.  On 10.5 or 10.6, the same 
commands with the same installer dmg produce the expected normal file 
names and on 10.5 and 10.6 the files are installed with those normal 
file names.  Now on 10.4, those two files *are* installed with the bogus 
file names *but*, apparently unlike under 10.3, the 10.4 installer 
doesn't complain about the two files listed in the BOM not being found 
so the installation completes normally.  What's doubly annoying about 
this is that those particular files are ancient, vestigial documentation 
files that should not even be part of the installer image anyway.  See 
http://bugs.python.org/issue5648 for the details.  Unfortunately, the 
fix to remove them was not applied to the 2.6 maintenance tree so those 
files remain in 2.6.x OS installers (they are gone in 3.1.1 and in the 
upcoming 2.7 release).   So, since 10.3 isn't tested and since it 
doesn't cause any warning in 10.4 and since the two corrupted file names 
aren't used anyway, this problem has gone undetected. 

That said, the presence of those vestigial files should not be causing a 
problem and it is worrisome that any file names are being corrupted.  
Further investigation shows that it is only those two files in the 
entire Python frameworks directory that are affected.  The actual 
contents of the files are OK, BTW.  The issue of the two corrupted file 
names isn't limited to that one installer disk image, either: I see the 
same behavior with a 2.6.4rc2 installer that I built myself in a manner 
nearly identical to the official 2.6.4 one that Ronald built.  Both were 
built on 10.5.  Ah, but I also have a 2.6.4rc2 installer from the same 
source snapshot but built on 10.4 rather than 10.5 and - surprise! - the 
10.4-built pax archive shows the correct file names.  Thus, I conclude 
the probable root cause here is a some change in the 10.5 version of pax 
or possibly gzip.

All of that is interesting and should be pinned down further so it 
doesn't happen again.  I've opened a python bug tracker issue for it: 
http://bugs.python.org/issue7437 but that doesn't help you with getting 
2.6.4 running on 10.3.  You noted that 2.5.4 installs OK.  If you're OK 
with just 2.5.4, then great.  I can't think of a particularly easy way 
to workaround the 2.6.4 problem without going in and messing with the 
installer image itself.  For testing purposes, I could whip up a 
10.4-built image for you but that's not a long-term solution. 

Thanks for flagging this and for sending the extra logging info.

 Ned Deily,
 nad at acm.org

More information about the Pythonmac-SIG mailing list