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 2012年01月17日 04:08 by jcea, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Messages (9) | |||
|---|---|---|---|
| msg151427 - (view) | Author: Jesús Cea Avión (jcea) * (Python committer) | Date: 2012年01月17日 04:08 | |
When compiling modules under Solaris, distutils generates directories like "build/lib.solaris-2.10-i86pc-3.2". The "i86pc" part is the same both in 32 and 64 bits.
So when building 32 and 64 bit C code, the binaries are mixed and the best result you can get is something like:
"""
ImportError: ld.so.1: python: fatal: /home/pybsddb/build/lib.solaris-2.10-i86pc-2.7/bsddb3/_pybsddb.so: wrong ELF class: ELFCLASS64
"""
In other platforms, bitness is correctly detected and included in the directory name.
Since Solaris is explicitly managed in the sourcecode ("distutils.util.get_platform()"), adding "platform.architecture()[0]" in the directory name seems trivial.
I think this patch should be applied to 2.6 and 3.1, unless they are open only for security fixes.
|
|||
| msg151455 - (view) | Author: Jesús Cea Avión (jcea) * (Python committer) | Date: 2012年01月17日 14:18 | |
Proposed patch for Python 2.7: """ --- util.py.old 2011年12月12日 01:34:04.412234183 +0100 +++ util.py 2012年01月17日 15:15:23.262257886 +0100 @@ -12,6 +12,7 @@ from distutils.spawn import spawn from distutils import log from distutils.errors import DistutilsByteCompileError +import platform def get_platform (): """Return a string that identifies the current platform. This is used @@ -76,6 +77,7 @@ if release[0] >= "5": # SunOS 5 == Solaris 2 osname = "solaris" release = "%d.%s" % (int(release[0]) - 3, release[2:]) + machine += ".%s" %platform.architecture()[0] # fall through to standard osname-release-machine representation elif osname[:4] == "irix": # could be "irix64"! return "%s-%s" % (osname, release) """ So now the directory is named like "lib.solaris-2.10-i86pc.32bit-2.7". Please, review. I will commit it to 2.7, 3.1, 3.2 and 3.3 in a few days. |
|||
| msg151469 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2012年01月17日 16:26 | |
OK. from distutils.spawn import spawn from distutils import log from distutils.errors import DistutilsByteCompileError +import platform Please put that import higher up (with the other "import X", before the "from X import Y"). + machine += ".%s" %platform.architecture()[0] One space after the % operator please. > I will commit it to 2.7, 3.1, 3.2 and 3.3 in a few days. Not to 3.1, this is not a security issue. |
|||
| msg151512 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年01月18日 03:01 | |
New changeset 284550d0d8ae by Jesus Cea in branch '2.7': Closes #13803: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/284550d0d8ae New changeset eed73b16e71f by Jesus Cea in branch '3.2': Closes #13803: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/eed73b16e71f New changeset 8d0ccb4ad206 by Jesus Cea in branch 'default': MERGE: Closes #13803: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/8d0ccb4ad206 |
|||
| msg151513 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年01月18日 03:28 | |
New changeset 2ec4ab2a6f65 by Jesus Cea in branch '2.7': Emergency fix for #13803 bootstrap issue: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/2ec4ab2a6f65 New changeset 9d62f5aa35ff by Jesus Cea in branch '3.2': Emergency fix for #13803 bootstrap issue: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/9d62f5aa35ff New changeset 4a6e0b6d493b by Jesus Cea in branch 'default': MERGE: Emergency fix for #13803 bootstrap issue: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/4a6e0b6d493b |
|||
| msg151515 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年01月18日 03:50 | |
New changeset 4074439c3894 by Jesus Cea in branch '2.7': Yet another emergency fix for #13803 bootstrap issue: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/4074439c3894 New changeset 37efae3bf912 by Jesus Cea in branch '3.2': Yet another emergency fix for #13803 bootstrap issue: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/37efae3bf912 New changeset afdce2e2f98d by Jesus Cea in branch 'default': MERGE: Yet another emergency fix for #13803 bootstrap issue: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/afdce2e2f98d |
|||
| msg151517 - (view) | Author: Jesús Cea Avión (jcea) * (Python committer) | Date: 2012年01月18日 04:00 | |
A trivial check-in causing a nightmare at 5AM just hours before a day-long offline trip :-). Eric, could you possibly review the committed version?. I can't use "platform.architecture()" because bootstrap issues. For instance: http://www.python.org/dev/buildbot/all/builders/x86%20OpenIndiana%202.7/builds/828/steps/compile/logs/stdio Moreover, there are function redundancy between "distutils/util.py" and "sysconfig.py", and the return value must be consistent. This is just created issue13813. |
|||
| msg151518 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年01月18日 04:05 | |
New changeset 147ad02875fa by Jesus Cea in branch '3.2': And yet another emergency fix for #13803 bootstrap issue: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/147ad02875fa New changeset 582274636446 by Jesus Cea in branch 'default': MERGE: And yet another emergency fix for #13803 bootstrap issue: Under Solaris, distutils doesn't include bitness in the directory name http://hg.python.org/cpython/rev/582274636446 |
|||
| msg151540 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2012年01月18日 14:46 | |
Final code looks OK to me. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:25 | admin | set | github: 58011 |
| 2012年01月18日 14:46:09 | eric.araujo | set | type: enhancement -> behavior messages: + msg151540 |
| 2012年01月18日 04:05:47 | python-dev | set | messages: + msg151518 |
| 2012年01月18日 04:00:14 | jcea | set | messages: + msg151517 |
| 2012年01月18日 03:50:00 | python-dev | set | messages: + msg151515 |
| 2012年01月18日 03:28:13 | python-dev | set | messages: + msg151513 |
| 2012年01月18日 03:01:39 | python-dev | set | status: open -> closed nosy: + python-dev messages: + msg151512 resolution: fixed stage: patch review -> resolved |
| 2012年01月17日 16:26:09 | eric.araujo | set | messages:
+ msg151469 versions: - Python 2.6, Python 3.1 |
| 2012年01月17日 14:18:44 | jcea | set | assignee: tarek -> jcea messages: + msg151455 stage: patch review |
| 2012年01月17日 04:08:38 | jcea | create | |