Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make frameworkinstall fails for non-default location #42068

Closed
mitchchapman mannequin opened this issue Jun 9, 2005 · 2 comments
Closed

make frameworkinstall fails for non-default location #42068

mitchchapman mannequin opened this issue Jun 9, 2005 · 2 comments
Assignees
Labels

Comments

@mitchchapman
Copy link
Mannequin

mitchchapman mannequin commented Jun 9, 2005

BPO 1217591
Nosy @jackjansen

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = 'https://github.com/jackjansen'
closed_at = <Date 2005-07-17.21:57:41.000>
created_at = <Date 2005-06-09.14:54:39.000>
labels = ['OS-mac']
title = 'make frameworkinstall fails for non-default location'
updated_at = <Date 2005-07-17.21:57:41.000>
user = 'https://bugs.python.org/mitchchapman'

bugs.python.org fields:

activity = <Date 2005-07-17.21:57:41.000>
actor = 'jackjansen'
assignee = 'jackjansen'
closed = True
closed_date = None
closer = None
components = ['macOS']
creation = <Date 2005-06-09.14:54:39.000>
creator = 'mitchchapman'
dependencies = []
files = []
hgrepos = []
issue_num = 1217591
keywords = []
message_count = 2.0
messages = ['25516', '25517']
nosy_count = 2.0
nosy_names = ['jackjansen', 'mitchchapman']
pr_nums = []
priority = 'normal'
resolution = 'wont fix'
stage = None
status = 'closed'
superseder = None
type = None
url = 'https://bugs.python.org/issue1217591'
versions = []

@mitchchapman
Copy link
Mannequin Author

mitchchapman mannequin commented Jun 9, 2005

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

@mitchchapman mitchchapman mannequin closed this as completed Jun 9, 2005
@mitchchapman mitchchapman mannequin assigned jackjansen Jun 9, 2005
@mitchchapman mitchchapman mannequin added the OS-mac label Jun 9, 2005
@mitchchapman mitchchapman mannequin closed this as completed Jun 9, 2005
@mitchchapman mitchchapman mannequin assigned jackjansen Jun 9, 2005
@mitchchapman mitchchapman mannequin added the OS-mac label Jun 9, 2005
@jackjansen
Copy link
Member

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:-)

@ezio-melotti ezio-melotti transferred this issue from another repository Apr 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant