Opened 10 years ago
Closed 7 months ago
#45133 closed defect (fixed)
scons @2.3.3: Port tries to install outside of prefix when prefix is in /Library
Reported by: | djvasi@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Low | Milestone: | |
Component: | ports | Version: | 2.3.1 |
Keywords: | Cc: | ||
Port: | scons |
Description
On install, I get :
[snip] ---> Staging scons into destroot . changed gid expected 0 found 80 modified ./usr missing (created) . missing (directory not created: File exists) ./Applications missing (created) [snip] ./www missing (created) xinstall: mkdir /Library/MacPorts/10.9/var/macports/build/_Users_vasi_Source_macports_dports_devel_scons/scons/work/destroot/Library/MacPorts/10.9/share/doc xinstall: mkdir /Library/MacPorts/10.9/var/macports/build/_Users_vasi_Source_macports_dports_devel_scons/scons/work/destroot/Library/MacPorts/10.9/share/doc/scons xinstall: mkdir /Library/MacPorts/10.9/var/macports/build/_Users_vasi_Source_macports_dports_devel_scons/scons/work/destroot/Library/MacPorts/10.9/share/doc/scons/examples running install running build running build_py running build_scripts running install_lib creating /usr/local/lib/scons-2.3.3 error: could not create '/usr/local/lib/scons-2.3.3': Operation not permitted Command failed: cd "/Library/MacPorts/10.9/var/macports/build/_Users_vasi_Source_macports_dports_devel_scons/scons/work/scons-2.3.3" && /Library/MacPorts/10.9/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 setup.py --no-user-cfg install --prefix=/Library/MacPorts/10.9/Library/Frameworks/Python.framework/Versions/2.7 --root=/Library/MacPorts/10.9/var/macports/build/_Users_vasi_Source_macports_dports_devel_scons/scons/work/destroot Exit code: 1 Error: org.macports.destroot for port scons returned: command execution failed
Change History (4)
comment:1 Changed 10 years ago by djvasi@…
comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | landonf removed |
---|---|
Owner: | changed from macports-tickets@… to landonf@… |
Port: | scons added |
comment:3 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from landonf@… to macports-tickets@… |
---|---|
Priority: | Normal → Low |
Summary: | scons @2.3.3: Port tries to install outside of prefix → scons @2.3.3: Port tries to install outside of prefix when prefix is in /Library |
You're probably the only user who ever configured MacPorts with a prefix inside /Library so fixing this is a low priority.
comment:4 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
It looks like this code was added with the idea that if you were trying to install scons using the version of python that shipped with macOS, then you would not want scons to try to install itself into the macOS python directory; you would want it to install it somewhere more accessible like /usr/local.
The code was removed as part of a refactor that first shipped in scons 4.0.0. The commit message and the PR don't specifically mention removing this code, except for the mention of removing "obsolete build logic" in the PR title, so I don't know if the refactored code still has this behavior but I couldn't immediately find anything equivalent in the code so I hope this is fixed. If not, please reopen.
It looks like the problem relates to this part of setup.py:
It assumes that since my prefix is in /Library, it must be a problem. But there's no particular reason I shouldn't be able to put my MacPorts prefix there!