Opened 13 years ago

Closed 11 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)

main.log (2.4 MB) - added by g5pw (Aljaž Srebrnič) 13 years ago.

Change History (8)

Changed 13 years ago by g5pw (Aljaž Srebrnič)

Attachment: main.log added

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 foundroot +python26 fails in destroot because ROOT.py is not found

comment:2 Changed 13 years ago by cjones051073 (Chris Jones)

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

pythonvers=`python -c 'import sys; sys.stdout.write(sys.version[:3])'`

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.

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:6 Changed 11 years ago by mf2k (Frank Schima)

I believe this issue has been fixed already?

comment:7 Changed 11 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: newclosed

I believe this was fixed in r84076.

Note: See TracTickets for help on using tickets.