[ python-Bugs-1217591 ] make frameworkinstall fails for non-default location

SourceForge.net noreply at sourceforge.net
Sun Jul 17 23:57:41 CEST 2005


Bugs item #1217591, was opened at 2005-06-09 16:54
Message generated for change (Comment added) made by jackjansen
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1217591&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Macintosh
Group: None
>Status: Closed
>Resolution: Wont Fix
Priority: 5
Submitted By: Mitch Chapman (mitchchapman)
Assigned to: Jack Jansen (jackjansen)
Summary: make frameworkinstall fails for non-default location

Initial Comment:
Mac OS X 10.3.8, Python 2.4.1.  Attempts to 'make 
frameworkinstall' to a non-default prefix and framework location fail:

$ ./configure --prefix=<someplace> 
--enable-framework=<someplace>/Frameworks
$ make
$ make frameworkinstall

The last step always attempts to create /usr/local/bin/python, 
instead of <someplace>/bin/python.

The immediate cause appears to be line 20 of 
Mac/OSX/Makefile:

bindir=/usr/local/bin

The problem is easier to spot if the 'make frameworkinstall' step is 
performed without root permissions:

$ ./configure --prefix=${HOME}/tmp/py241 --enable-
framework=${HOME}/tmp/py241/Frameworks
...
$ make
...
$ make frameworkinstall
...
make -f ./Mac/OSX/Makefile installunixtools         DIRMODE=755 FILEMODE=644         srcdir=. builddir=. DESTDIR= prefix=/Users/myself/tmp/py241/
Frameworks/Python.framework/Versions/2.4
/usr/bin/install -c -d /usr/local/bin
install: chmod 755 /usr/local/bin: Operation not permitted
ln -fsn /Users/myself/tmp/py241/Frameworks/Python.framework/
Versions/2.4/bin/python /usr/local/bin/python2.4
ln: /usr/local/bin/python2.4: Permission denied
make[1]: *** [installunixtools] Error 1
make: *** [frameworkinstallunixtools] Error 2


----------------------------------------------------------------------

>Comment By: Jack Jansen (jackjansen)
Date: 2005-07-17 23:57

Message:
Logged In: YES 
user_id=45365

The bad news is that this is difficult to fix: the whole "frameworkinstall" 
sequence is a bit of a hack, and it works by overriding prefix to point 
into the bowels of the framework and then doing the equivalent of a 
"make install".

The good news is that if I understand correctly what you're trying to do, 
building to a staging area so you can package things for distribution 
later, there's another way to do this that does work: use the DESTROOT 
environment variable. If you do "DESTROOT=/tmp/py241 configure --
enable-frameworks" you'll get a tree ready for installation in /tmp/py241. 
But that assumes you can live with /tmp/py241/usr/local/bin.

If your needs are different reopen the bug and explain your use case and 
I'll think harder about a solution:-)

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1217591&group_id=5470


More information about the Python-bugs-list mailing list