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 2013年05月28日 16:34 by automatthias, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Messages (3) | |||
|---|---|---|---|
| msg190225 - (view) | Author: Maciej Bliziński (automatthias) | Date: 2013年05月28日 16:34 | |
_sysconfigdata.py is installed into ${prefix}/lib/pythonX.Y/_sysconfigdata.py which is an architecture-independent directory, as opposed to a path starting with e.g. ${libdir}, which is architecture-dependent. But _sysconfigdata.py contains architecture-dependent information, which breaks some installation, specifically Solaris multi-arch.
A fix would be to move it to an architecture-dependent directory, but this probably requires some discussion.
-----------------------------------------------------------------------
Original question on the mailing list:
http://mail.python.org/pipermail/python-list/2013-May/647197.html
I'm looking into creating a 32/64-bit Python (2.x and/or 3.x) package
for Solaris. The specificity of that package is that I need to include
both 32-bit and 64-bit binaries in it. The exact way in which the
32/64 support is done is described at [1].
There currently is a Python package that I maintain, which is 32-bit only[2].
I have made an attempt to build a 64-bit package, and my findings are
that the ${prefix}/lib/pythonX.Y/_sysconfigdata.py file contains
system-specific information. Note that it's not ${libdir}/pythonX.Y -
that would have worked, because I'm specifying different ${libdir}
directories when running the 32-bit and 64-bit builds. The Python
installer specifically uses ${prefix}/lib/pythonX.Y. For the most part
is fine, because most of files in there are not architecture-specific,
and it would be quite good to share them among the 32-bit and 64-bit
binaries at runtime. The problem is that some files differ. I've
described it some more at [3].
Ideally, I'd make _sysconfigdata.py return/set different values
depending on the Python runtime that reads it. Something like:
if we're 64-bit:
set values for the 64-bit platform
else:
set values for the 32-bit platform
It's a similar approach to how we currently handle C header files. See
the 'Development packages' section in [1] for more information.
The problem is that it would involve somewhat intrusive patching of
the Python source code, and in long term that means maintainability
issues.
|
|||
| msg190256 - (view) | Author: Matthias Klose (doko) * (Python committer) | Date: 2013年05月28日 23:02 | |
Did Solaris adopt MultiArch? ;-P Nice! So what I did for the Debian and Ubuntu builds is: - to rename plat-linux to plat-<multiarch-tuple> (or plat-<gnu triplet>) - and install it there. Note that IN.py is another architecture dependent file which differs at least on several linux architectures. |
|||
| msg267351 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2016年06月05日 00:00 | |
Issue 23968 moves _sysconfigdata.py to an arch dependent directory |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:46 | admin | set | github: 62283 |
| 2021年10月20日 10:27:14 | iritkatriel | set | status: open -> closed superseder: rename the platform directory from plat-$(MACHDEP) to plat-$(PLATFORM_TRIPLET) resolution: duplicate stage: resolved |
| 2016年06月05日 00:00:15 | ncoghlan | set | nosy:
+ ncoghlan dependencies: + rename the platform directory from plat-$(MACHDEP) to plat-$(PLATFORM_TRIPLET) messages: + msg267351 |
| 2013年05月30日 15:49:46 | Arfrever | set | nosy:
+ Arfrever |
| 2013年05月28日 23:02:28 | doko | set | messages: + msg190256 |
| 2013年05月28日 21:10:19 | pitrou | set | nosy:
+ doko, dmalcolm |
| 2013年05月28日 16:34:53 | automatthias | create | |