On 16/08/13 22:31, William Kenworthy wrote: > On 16/08/13 22:15, Canek Peláez Valdés wrote: >> On Fri, Aug 16, 2013 at 9:12 AM, William Kenworthy <[email protected]> >> wrote: >>> On 16/08/13 15:34, Keith Dart wrote: >>>> Re , William Kenworthy said: >>>>> olympus ~ # ceph >>>>> File "/usr/bin/ceph", line 192 >>>>> print '\n', s, '\n', '=' * len(s) >>>>> ^ >>>>> SyntaxError: invalid syntax >>>>> olympus ~ # >>>> >>>> >>>> In Python 3 "print" is a function, and should be called like this: >>>> >>>> print('\n', s, '\n', '=' * len(s)) >>>> >>>> This works as-is in Python 2, unless you have this at the top of the >>>> file: >>>> >>>> from __future__ import print_function >>>> >>>> >>>> -- Keith >>>> >>>> >>> Thanks Keith, that was suggested on the ceph list but grepping doesnt >>> show it in the source. With this version of ceph they have replaced the >>> "ceph" binary with a python script so its quite different from the older >>> version which works. They target mainly centos and ubuntu/debian so I >>> will have to keep looking. >> >> Have you tried a simple: >> >> python3 /usr/bin/ceph >> >> Regards. >> > > No, doesnt work either. The ceph guys say it works fine for them which > leaves me suspecting something is broken on my system ... > > BillK > >
Still not sure if I have a bug or a broken system. 1. If I use eselect to set python 3 and build ceph from the 9999 ebuild it wont work 2. If I eselect python 2.7 it wont work 3. if I rebuild it with python 2.7 selected it now WORKS - yea! 4. if I eselect python 3.2 it wont work :( Ok, I am suspecting that something in ceph isnt playing nicely with the gentoo eselect system and having python2 and python3 on the system :( I guess its pulling in something python2 when 3 is active which is where the __future__ mechanism comes into play. So next question is ... can I remove python2? - last I heard, portage needs python2 and wont run properly with python3 - is that still the case? BillK

