classification
Title: altinstall should not install libpython3.so (conflict between multiple $VERSIONs)
Type: behavior Stage:
Components: Build Versions: Python 3.2, Python 3.3
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Arfrever, barry, dmalcolm, koobs, loewis, pitrou, prlw1
Priority: normal Keywords:

Created on 2013-05-14 14:43 by prlw1, last changed 2015-01-21 07:36 by koobs.

Messages (12)
msg189223 - (view) Author: Patrick Welche (prlw1) Date: 2013-05-14 14:43
I currently have python 2.7 and 3.2 installed concurrently. I just tried to install 3.3 as well, but a file conflicts between 3.2 and 3.3. It is libpython3.so.

Given that we go out of our way e.g. with

$(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc

to avoid clashes, what should be done about PY3LIBRARY?
msg189501 - (view) Author: Patrick Welche (prlw1) Date: 2013-05-18 09:33
I see that this was introduced in

http://www.python.org/dev/peps/pep-0384/

Would a configure option to make it easy not to install the conflicting file be acceptable?
msg189503 - (view) Author: Arfrever Frehtes Taifersar Arahesis (Arfrever) * (Python triager) Date: 2013-05-18 09:49
See issue #11347. (Python ebuilds in Gentoo manually delete libpython3.so.)
msg189508 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-05-18 12:15
Did you use "make altinstall"?
msg189531 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-05-18 16:15
According to Martin on the bug linked to:

« Having the soname be libpython3 is the whole point of the library, it serves no other reason.

It is intentional that there are file collisions with that file, and either the local admin or the distributor must make an explicit choice which libpython3 should be installed; it should be the one that corresponds to /usr/bin/python (if you install it into /usr/lib). »

Should we close this issue as won't fix?
msg189532 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-05-18 16:16
(on the bug Arfrever linked to, sorry)
msg189546 - (view) Author: Patrick Welche (prlw1) Date: 2013-05-18 20:34
No, I don't think you should close this, as you haven't explained what it is that you won't do.

I think that a sensible plan is to introduce a configure flag whose effect is to not install the files which cause the conflict. You set the default to always install the conflicting files, so the standard install of python gets to be the PY3LIBRARY. What this buys you, is that then you can also install another version of python 3 concurrently and easily.

I just need to find a round tuit to write it...
msg189548 - (view) Author: Patrick Welche (prlw1) Date: 2013-05-18 20:45
To quote the README:

Installing multiple versions
----------------------------
...
For example, if you want to install Python 2.6, 2.7 and 3.4 with 2.7 being the
primary version, you would execute "make install" in your 2.7 build directory
and "make altinstall" in the others.


This makes perfect sense, but now it is impossible to make 3.2 and 3.3 python packages which can be installed simultaneously.
msg214686 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2014-03-24 13:38
Patrick: it is very difficult to track an issue with shifting focus, since it is never clear what the actual issue is.

Please confirm that it is consensus that
1. It is desired and correct behavior that python3.so is a conflicting file
2. It is possible to avoid the conflict by making "make alt install"

If so, can you please restate what you think the issue is that you want to see resolved?

Why do you say it is impossible to install packages for both python 3.2 and python 3.3? Works perfectly fine for me.
msg214687 - (view) Author: Arfrever Frehtes Taifersar Arahesis (Arfrever) * (Python triager) Date: 2014-03-24 13:46
'make altinstall' installs libpython3.so.
msg214721 - (view) Author: Kubilay Kocak (koobs) (Python triager) Date: 2014-03-24 20:45
Confirming that altinstall installs libpython3.so
msg234426 - (view) Author: Kubilay Kocak (koobs) (Python triager) Date: 2015-01-21 07:36
Adding 3.2 so I (and other downstream packagers) don't forget to backport the fix.
History
Date User Action Args
2015-01-21 07:36:52koobssetmessages: + msg234426
versions: + Python 3.2
2015-01-21 07:35:45koobssettitle: libpython3.so conflicts between $VERSIONs -> altinstall should not install libpython3.so (conflict between multiple $VERSIONs)
2014-03-24 20:45:51koobssetmessages: + msg214721
2014-03-24 13:46:25Arfreversetmessages: + msg214687
2014-03-24 13:38:50loewissetmessages: + msg214686
2014-03-24 10:33:24koobssetnosy: + koobs
2013-05-18 20:45:03prlw1setmessages: + msg189548
2013-05-18 20:34:07prlw1setmessages: + msg189546
2013-05-18 16:16:16pitrousetmessages: + msg189532
2013-05-18 16:15:53pitrousetnosy: + loewis
messages: + msg189531
2013-05-18 12:15:22pitrousetnosy: + barry, dmalcolm, pitrou
messages: + msg189508
2013-05-18 09:49:59Arfreversetnosy: + Arfrever
messages: + msg189503
2013-05-18 09:33:37prlw1setmessages: + msg189501
2013-05-14 14:43:59prlw1create