[libclc] r200413 - Enforce python2 for systems that use python3 as their default.
James Dennett
jdennett at googlers.com
Wed Jan 29 14:59:44 PST 2014
On Wed, Jan 29, 2014 at 1:32 PM, Daniel Liew <daniel.liew at imperial.ac.uk> wrote:
> Hi Nico,
>
>> This breaks systems that keep "python" as python2 and don't have a "python2"
>> binary, no?
>
> It would totally depend on the distro but in my experience
> "/usr/bin/python" and "/usr/bin/python2" are both symbolic links to
> the real python executables. So it works fine for many distros that
> only have python2.x and do not have python3 as well.
>
> E.g. on Ubuntu 12.04 LTS (Python2 is default)
>
> $ ls /usr/bin/python*
> /usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python-mkdebian
> dan at Sputnik:~$ ls -l /usr/bin/python*
> lrwxrwxrwx 1 root root 9 Jun 18 2013 /usr/bin/python -> python2.7
> lrwxrwxrwx 1 root root 9 Jun 18 2013 /usr/bin/python2 -> python2.7
> -rwxr-xr-x 1 root root 2989496 Sep 26 21:29 /usr/bin/python2.7
> -rwxr-xr-x 1 root root 14078 Jul 12 2012 /usr/bin/python-mkdebian
>
> and similarly on Fedora 18 (python2 is default)
>
> $ ls -l /usr/bin/python*
> lrwxrwxrwx. 1 root root 7 Jan 22 2013 /usr/bin/python -> python2
> lrwxrwxrwx. 1 root root 9 Jan 22 2013 /usr/bin/python2 -> python2.7
> -rwxr-xr-x. 1 root root 7120 Aug 9 2012 /usr/bin/python2.7
> -rwxr-xr-x. 1 root root 1785 Aug 9 2012 /usr/bin/python2.7-config
> lrwxrwxrwx. 1 root root 16 Jan 24 2013 /usr/bin/python2-config ->
> python2.7-config
> lrwxrwxrwx. 1 root root 14 Jan 24 2013 /usr/bin/python-config ->
> python2-config
> lrwxrwxrwx. 1 root root 3 Aug 1 23:06 /usr/bin/python-pip -> pip
>
> and on something like Arch Linux where Python3 is default (I also have
> python2.7 installed along side)
>
> $ ls /usr/bin/python*
> lrwxrwxrwx 1 root root 7 Nov 26 16:42 /usr/bin/python -> python3
> lrwxrwxrwx 1 root root 9 Nov 26 15:53 /usr/bin/python2 -> python2.7
> -rwxr-xr-x 1 root root 6224 Nov 26 15:53 /usr/bin/python2.7
> -rwxr-xr-x 1 root root 1668 Nov 26 15:53 /usr/bin/python2.7-config
> lrwxrwxrwx 1 root root 16 Nov 26 15:53 /usr/bin/python2-config ->
> python2.7-config
> -rwxr-xr-x 1 root root 94 Aug 22 13:15 /usr/bin/python2-pyuic4
> lrwxrwxrwx 1 root root 9 Nov 26 16:42 /usr/bin/python3 -> python3.3
> -rwxr-xr-x 2 root root 10384 Nov 26 16:42 /usr/bin/python3.3
> lrwxrwxrwx 1 root root 17 Nov 26 16:42 /usr/bin/python3.3-config ->
> python3.3m-config
> -rwxr-xr-x 2 root root 10384 Nov 26 16:42 /usr/bin/python3.3m
> -rwxr-xr-x 1 root root 1972 Nov 26 16:42 /usr/bin/python3.3m-config
> lrwxrwxrwx 1 root root 16 Nov 26 16:42 /usr/bin/python3-config ->
> python3.3-config
> lrwxrwxrwx 1 root root 14 Nov 26 16:42 /usr/bin/python-config ->
> python3-config
>
> The patch is fine for the Linux distros that I use but I cannot speak
> for everybody. Do you know anyone that uses a (still supported)
> distribution that does not provide the python2 symlink? I haven't
> talked about OSX at all... I don't use it so I can't test it but I
> would be surprised if it didn't work because I've written python
> scripts before (with the same shebang) that I know OSX users use.
It doesn't appear to work on OS X, which has python2.4, python2.5,
python2.6 and python2.7 as well as plain python, but no python2 (on my
system).
More information about the cfe-commits
mailing list