Opened 13 years ago
Closed 12 years ago
#31119 closed defect (fixed)
root +python26 fails in destroot because ROOT.py is not found
Reported by: | g5pw (Aljaž Srebrnič) | Owned by: | cjones051073 (Chris Jones) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.2 |
Keywords: | Cc: | mattiafrancescomoro@…, ryandesign (Ryan Carsten Schmidt) | |
Port: | root |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
When installing root I get the following error:
Error: Target org.macports.destroot returned: error renaming "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_science_root/root/work/destroot/opt/local/lib/root/ROOT.py": no such file or directory
Attached main.log
Attachments (1)
Change History (8)
Changed 13 years ago by g5pw (Aljaž Srebrnič)
comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | mattiafrancescomoro@… jonesc@… removed |
---|---|
Description: | modified (diff) |
Owner: | changed from macports-tickets@… to mattiafrancescomoro@… |
Summary: | Error staging root: ROOT.py not found → root +python26 fails in destroot because ROOT.py is not found |
comment:2 Changed 13 years ago by cjones051073 (Chris Jones)
comment:3 Changed 13 years ago by cjones051073 (Chris Jones)
Question from the ROOT devs...
Is it possible to define an alias or similar, so when the root build runs 'python' it will pick up the version I want, and not the system python ?
comment:4 Changed 13 years ago by cjones051073 (Chris Jones)
It turns out I can install whatever python variant of root I want, as long as I have run
sudo port select python pythonXY
on for that XY version first.
Could someone else who has build problems try this and see if it helps ?
Chris
comment:5 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | mattiafrancescomoro@… ryandesign@… added |
---|---|
Owner: | changed from mattiafrancescomoro@… to jonesc@… |
Sorry, I filed duplicate #31259.
Yes, "sudo port select python pythonXY
" will undoubtedly help, but that is a workaround, not a solution. The port needs to be modified to no longer use a binary called "python"; it must use the specific versioned python corresponding to the chosen variant.
comment:7 Changed 12 years ago by mf2k (Frank Schima)
Resolution: | → fixed |
---|---|
Status: | new → closed |
I believe this was fixed in r84076.
I've made some progress on understand what I think is going on here.
The problem is with the ROOT configure script. When python support is enabled, it does various things including things along the lines of
The problem with that lines it assumes the python version being used is called 'python' and is found via the PATH variable.... Which isn't the case for MacPorts.
This explains why when I was on SL python26 worked OK, but I never managed to get python27 working, whereas on Lion its the other way around (*).
I'm debating the wisdom of this with the ROOT devs. Its not clear if anything will change.
So, for the moment at least the situation is the only python variants which will work are the ones that are the same version as the system python version, so 2.7 on Lion and 2.6 on SL.
(*) I am currently running a check to make sure the 2.7 variant on Lion works OK... Once it does I'll submit the patch for inclusion.