homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: `cd Mac && make installmacsubtree` fails on Mac OS X < 10.5 because of r63955
Type: compile error Stage:
Components: Build Versions: Python 2.6
process
Status: closed Resolution: duplicate
Dependencies: Superseder:
Assigned To: Nosy List: ronaldoussoren, trentm
Priority: normal Keywords:

Created on 2008年07月17日 17:02 by trentm, last changed 2022年04月11日 14:56 by admin. This issue is now closed.

Messages (7)
msg69890 - (view) Author: Trent Mick (trentm) * (Python committer) Date: 2008年07月17日 17:02
http://svn.python.org/view?rev=63955&view=rev
"MacOS X: Enable 4-way universal builds ..."
This revision made the following change to Mac/Makefile.in:
http://svn.python.org/view/python/trunk/Mac/Makefile.in?rev=63955&view=diff&r1=63955&r2=63954&p1=python/trunk/Mac/Makefile.in&p2=/python/trunk/Mac/Makefile.in
The last hunk (part of the "installmacsubtree" target) and a bit of the
preceding hunk uses `arch` with arguments:
---------------------------------
 install_BuildApplet:
-	$(RUNSHARED) $(BUILDPYTHON) $(srcdir)/scripts/BuildApplet.py \
+	$(RUNSHARED) arch -ppc -i386 $(BUILDPYTHON)
$(srcdir)/scripts/BuildApplet.py \
 		--destroot "$(DESTDIR)" \
-		--python $(INSTALLED_PYTHONAPP) \
+	
--python=$(prefix)/Resources/Python.app/Contents/MacOS/$(PYTHONFRAMEWORK)`test
-f
"$(DESTDIR)$(prefix)/Resources/Python.app/Contents/MacOS/$(PYTHONFRAMEWORK)-32"
&& echo "-32"` \
 		--output "$(DESTDIR)$(PYTHONAPPSDIR)/Build Applet.app" \
 		$(srcdir)/scripts/BuildApplet.py
 
@@ -225,7 +279,7 @@
 	done
 
 
-	$(RUNSHARED) $(BUILDPYTHON) $(CACHERSRC) -v $(DESTDIR)$(MACLIBDEST)
$(DESTDIR)$(MACTOOLSDEST)
+	$(RUNSHARED) arch -ppc -i386 $(BUILDPYTHON) $(CACHERSRC) -v
$(DESTDIR)$(MACLIBDEST) $(DESTDIR)$(MACTOOLSDEST)
 	$(RUNSHARED) $(BUILDPYTHON) -Wi -tt $(compileall) -d $(MACTOOLSDEST)
-x badsyntax $(DESTDIR)$(MACTOOLSDEST)
 	$(RUNSHARED) $(BUILDPYTHON) -O -Wi -tt $(compileall) -d
$(MACTOOLSDEST) -x badsyntax $(DESTDIR)$(MACTOOLSDEST)
---------------------------------
That form of calling `arch` is only supported on Mac OS X 10.5
(Leopard), I believe.
----------------------------------
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.4.11
BuildVersion: 8S2167
$ man arch | cat
ARCH(1) BSD General Commands Manual 
ARCH(1)
NAME
 arch -- print architecture type
SYNOPSIS
 arch
DESCRIPTION
 The arch command displays the machine's architecture type.
SEE ALSO
 machine(1)
Mac OS August 20, 1997 
Mac OS
----------------------------------
Here is the current man page for arch (I had to look to try to see what
Ronald was trying to do with the Makefile change) :)
http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/arch.1.html
I don't fully understand why the "arch -ppc -i386" is necessary for
"$(BUILDPYTHON)".
I'm not sure what the easiest solution to this would be... or if
supporting "make frameworkinstallframework" (which eventually calls this
target) on Mac OS X <10.5 is considered important enough.
Perhaps a new 
 RUNARCH=@RUNARCH@
could be added to Mac/Makefile.in with the associated configure support
to have that be blank unless `--with-universal-archs=all` was specified?
msg69891 - (view) Author: Trent Mick (trentm) * (Python committer) Date: 2008年07月17日 17:11
Similar change in Mac/IDLE/Makefile.in:
-----------------------------
--- python/trunk/Mac/IDLE/Makefile.in	(original)
+++ python/trunk/Mac/IDLE/Makefile.in	Thu Jun 5 14:58:24 2008
@@ -42,7 +42,7 @@
 		$(srcdir)/../Icons/PythonSource.icns \
 		$(srcdir)/../Icons/PythonCompiled.icns Info.plist
 	rm -fr IDLE.app
-	$(RUNSHARED) $(BUILDPYTHON) $(BUNDLEBULDER) \
+	$(RUNSHARED) arch -ppc -i386 $(BUILDPYTHON) $(BUNDLEBULDER) \
 		--builddir=. \
 		--name=IDLE \
 		--link-exec \
-----------------------------
msg69892 - (view) Author: Trent Mick (trentm) * (Python committer) Date: 2008年07月17日 17:20
Alternative potential solution: use the ARCHPREFERENCE environment
variable as described in the Mac OS X 10.5 arch man page. Ronald, if you
could test if that works for you on 10.5, then presumably setting that
environment var would be safely ignored on Mac OS X <10.5. Thoughts?
msg69934 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2008年07月18日 05:45
This patch is wrong, it drops the call to 'arch' entirely even when the 
call is needed.
The suggestion for "ARCHPREFERENCE" won't work though, "arch" doesn't take 
arguments at all on 10.4.
BTW. This is a duplicate of issue 3381, which includes a patch for fixing 
the issue.
msg69938 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2008年07月18日 06:16
The current trunk should be correct, there are no explicit calls to the 
arch command left, all go through the configure replacement magic.
To test if everything is correct now someone should test the following 
scenarios:
* Build --enable-framework --enable-universalsdk on 10.4
* Build --enable-framework --enable-universalsdk on 10.5
* Build --enable-framework --enable-universalsdk --with-universal-
archs=all on 10.5
I cannot test the first one, and will test the last one (which is the 
one I'm most interested in).
msg69939 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2008年07月18日 06:18
BTW. There is a "--with-framework-name" argument to configure that makes 
it possible to have several indepenend framework installations
msg69940 - (view) Author: Trent Mick (trentm) * (Python committer) Date: 2008年07月18日 06:25
> The current trunk should be correct, there are no explicit calls to the
> arch command left, all go through the configure replacement magic.
--------------------
$ svn info
Path: .
URL: svn+ssh://pythondev@svn.python.org/python/trunk/Mac
Repository Root: svn+ssh://pythondev@svn.python.org
Repository UUID: 6015fed2-1504-0410-9fe1-9d1591cc4771
Revision: 65091
Node Kind: directory
Schedule: normal
Last Changed Author: ronald.oussoren
Last Changed Rev: 65091
Last Changed Date: 2008年07月17日 22:48:03 -0700 (2008年7月17日)
Properties Last Updated: 2008年07月17日 22:55:32 -0700 (2008年7月17日)
[trentm@mower:~/src/python/Mac]
$ svn up Makefile.in
At revision 65091.
[trentm@mower:~/src/python/Mac]
$ grep "arch -" Makefile.in
 $(RUNSHARED) arch -ppc -i386 $(BUILDPYTHON)
$(srcdir)/scripts/BuildApplet.py \
 $(RUNSHARED) arch -ppc -i386 $(BUILDPYTHON) $(CACHERSRC) -v
$(DESTDIR)$(MACLIBDEST) $(DESTDIR)$(MACTOOLSDEST)
--------------------
Apologies if I am missing something. Your patches for issue 3381 did
not include a change to Mac/Makefile.in.
Trent
History
Date User Action Args
2022年04月11日 14:56:36adminsetgithub: 47643
2008年07月18日 06:25:08trentmsetmessages: + msg69940
2008年07月18日 06:18:11ronaldoussorensetmessages: + msg69939
2008年07月18日 06:16:55ronaldoussorensetmessages: + msg69938
2008年07月18日 05:45:38ronaldoussorensetstatus: open -> closed
resolution: duplicate
messages: + msg69934
2008年07月17日 17:20:44trentmsetmessages: + msg69892
2008年07月17日 17:11:37trentmsetmessages: + msg69891
2008年07月17日 17:02:47trentmcreate

AltStyle によって変換されたページ (->オリジナル) /