Issue400938
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2000-07-19 20:55 by flight, last changed 2022-04-10 16:02 by admin. This issue is now closed.
Files | ||||
---|---|---|---|---|
File name | Uploaded | Description | Edit | |
None | flight, 2000-07-19 20:55 | None |
Messages (17) | |||
---|---|---|---|
msg33458 - (view) | Author: Gregor Hoffleit (flight) | Date: 2000-07-19 20:55 | |
|
|||
msg33459 - (view) | Author: Nobody/Anonymous (nobody) | Date: 2001-01-17 22:46 | |
Getting this patch into the next version of Python would be "A Good Thing"(tm) in my opinion. We use libpython as a .so at ILM and end up having to make changes like this by hand every time we get a new version... |
|||
msg33460 - (view) | Author: Gregor Hoffleit (flight) | Date: 2000-07-19 21:10 | |
This is what it used in product to build libpython as shared library(.so) for Debian. Note: This patch is not ready for inclusion in the upstream Python distribution. Anyway, I think this might be a start. The Python 1.5 executable in Debian GNU/Linux is built against a shared libpython1.5.so since April 1999, and I haven't yet heard about any problems. Using a shared library should have an advantage if you're running multiple instances of Python (be it standalone interpreter or embedded applications). |
|||
msg33461 - (view) | Author: Guido van Rossum (gvanrossum) * | Date: 2000-10-26 21:13 | |
Let's give this to Jeremy instead, because he seems to know more about build issues. Jeremy, it would be good to look into getting this to work with your RPM suite. Flight's argument (has been used without complaints in Debian Python 1.5.2 since 1999) is good. |
|||
msg33462 - (view) | Author: Guido van Rossum (gvanrossum) * | Date: 2001-01-17 23:09 | |
Andrew, I'm tentatively reassigning this to you, since you're taking charge of the build process at the moment (setup.py). I suspect that the patch no longer works as is -- would it make sense to mark it postponed and get the author to submit a new version before we release 2.1a1? |
|||
msg33463 - (view) | Author: Guido van Rossum (gvanrossum) * | Date: 2001-01-19 22:46 | |
I'm reassigning this to Neil. Neil, can you see if you can integrate this into your flat Makefile? |
|||
msg33464 - (view) | Author: Moshe Zadka (moshez) | Date: 2000-08-16 07:40 | |
I suggest we postpone it. It isn't really complete (only works on real distributions <wink>), and the complete solution should work on all unices. If Tcl/Perl can do it, there is no reason Python can't -- and a half hearted solution isn't that good. flight, you should use this for the Python in woody in the mean time -- I doubt woody will be stable before Python 2.1 comes out, so 2.1 sounds like a good timeframe to do it. |
|||
msg33465 - (view) | Author: Moshe Zadka (moshez) | Date: 2000-11-01 11:32 | |
I've had a look at the patch, and it seems it has two orthogonal parts. One is adding the infrastructure for compiling another version for the Python library, which can be more or less integrated as-is, and one is hard-coding the particular way, in Linux, of building shared objects. Since we discover how to build shared objects in the configure script anyway (otherwise we could not have built modules as shared objects), we should embed that information there, not the Linux flags. |
|||
msg33466 - (view) | Author: Jeremy Hylton (jhylton) | Date: 2000-08-23 16:26 | |
In the absence of anyone arguing for inclusion of this patch and a one-week idle period, it is postponed. |
|||
msg33467 - (view) | Author: Tim Peters (tim.peters) * | Date: 2000-08-15 17:52 | |
Assigned to Barry because he's a Linux weenie. Barry, if you think there's something here that should go into 2.0, please pursue it now, else change the status to Postponed. |
|||
msg33468 - (view) | Author: Neil Schemenauer (nascheme) * | Date: 2001-03-21 23:59 | |
Logged In: YES user_id=35752 We're going to have to create a new patch to do this. This one is way too out of date. Maybe for 2.2. |
|||
msg33469 - (view) | Author: Guido van Rossum (gvanrossum) * | Date: 2001-06-12 16:51 | |
Logged In: YES user_id=6380 Reopening -- this keeps being requested. Now we're just waiting for someone to produce a working patch. Or is there one already? |
|||
msg33470 - (view) | Author: Guido van Rossum (gvanrossum) * | Date: 2001-06-12 16:54 | |
Logged In: YES user_id=6380 Reopening -- this keeps being requested. Now we're just waiting for someone to produce a working patch. Or is there one already? |
|||
msg33471 - (view) | Author: Gregor Hoffleit (flight) | Date: 2001-06-12 22:19 | |
Logged In: YES user_id=5293 > Now we're just waiting for someone to produce a working patch. > Or is there one already? I'm currently distributing experimental packages of Python 2.1 for Debian. The packages include a hack to build libpython2.1 as .so for Linux. The shared library patch currently is buried in a big diff file. You can get it as http://people.debian.org/~flight/python2/python2_2.1-0.diff.gz This is only a starting point for a real patch! |
|||
msg33472 - (view) | Author: Guido van Rossum (gvanrossum) * | Date: 2001-08-09 15:41 | |
Logged In: YES user_id=6380 I'm moving this to PEP-24, small feature requests. We're still waiting for someone to contribute a patch that works. I think it's best to have to request this explicitly with a configure option. |
|||
msg33473 - (view) | Author: Frederic Giacometti (giacometti) | Date: 2001-08-09 16:51 | |
Logged In: YES user_id=93657 If that helps, here is how I rebuild python and its library as shared entities, after the standard static build. This works fine on Linux. The next problem on linux is that all native extensions also have to be explicitely relinked with the Python shared library. A few months ago, I search the 12,000 python lines for the distutil for the line to modify to have this done properly, but I failed to find it... Since then, I've started sketching a Python implementation of a Make-like tool (rule-based), so as not to use the distutils that are beyond my grasp; but it's a low priority task :(( It's only one line to modify in the distutil, and you'll get the dynamic version entirely build on Linux and likes, using what's below... Regards, Frederic Giacometti ---------------------------------- WHICH=which PYTHONEXE=$(shell $(WHICH) python) PYTHON_BUILDDIR=$(HOME)/local/src/Python-2.1 PYTHON_O=$(PYTHON_BUILDDIR)/Modules/python.o PYTHONSTATICLIB=$(PYTHON_BUILDDIR)/lib$(PYTHONLIBNAME).a SOBUILDDIR=$(JPEDIR)/pysolib $(PYTHONSOLIB): $(PYTHONSTATICLIB) $(PYTHON_O) $(RM) -rf $(SOBUILDDIR) mkdir $(SOBUILDDIR) cd $(SOBUILDDIR) && ar x $< cd $(SOBUILDDIR) && ld -shared -export-dynamic -o $@ *.o\ -lpthread -ldl -lutil -lm -lc mv $(PYTHONEXE) $(PYTHONEXE)~ ld -export-dynamic -o $(PYTHONEXE) $(PYTHON_O)\ -L$(PYTHONSOLIBDIR) -l$(PYTHONLIBNAME)\ || (echo "failed to build $(PYTHONEXE)" && mv $(PYTHONEXE)~ $(PYTHONEXE)\ && exit 23) |
|||
msg33474 - (view) | Author: Guido van Rossum (gvanrossum) * | Date: 2001-08-09 17:10 | |
Logged In: YES user_id=6380 Sorry Frederic, that doesn't help at all: I'm not searching for anecdotal evidence that it can be done (I have plenty), I am asking for a patch that provides this functionality on (at least some) platforms where it can be done, without breaking the build process elsewhere. Changes to the build process are hard because it's hard to verify that your change doesn't break on somebody else's machine. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-10 16:02:07 | admin | set | github: 32636 |
2000-07-19 20:55:11 | flight | create |