64 bit python on AIX -- dynload_aix problem
Neal Norwitz
neal at metaslash.com
Sat Jun 7 22:25:50 EDT 2003
On Fri, 06 Jun 2003 08:09:51 -0500, E. McKay Hyde wrote:
> I am trying to get a 64-bit version of python running in AIX (IBM SP).
> Martin v. Lowis helped me get past a problem in the configuration, but
> now the compilation fails when building the standard extensions.
>
> I tracked the problem down to dynload_aix.c and I found a previous post
> to this group from Davide Tacchella describing the same problem, but
> with no suggested solutions. His post read:
>
>> I'm trying to build Python with 64 bit support on AIX, so far I've encountered 2 problems,
>> dynload_aix.c is not 100% 64 bit compliant (it includes some cast from pointer to (int));
>> this was causing python to SEGV when building extensions, after changing from int to long,
>> the error is now ILL (SIGILL), there is a pointer to NULL:
>> The call stack from debugger is:
>> 0x000000
>> initstruct (structmodule.c - line 1508)
>> _PyImport_LoadDynamicModule ( importdl.c - line 53)
>> load_module (import.c - line 1365)
>> import_submodule (import.c - line 1895)
>> load_next (import.c - line 1751)
>> import_module_ex (import.c - line 1602)
>> PyImport_ImportModuleEx (import.c - line 1643)
>> builtin___import__ (bltinmodule.c - line 40)
>> PyCFunction_Call (methodobject.c - line 80)
>> eval_frame (ceval.c - line 2004)
>
> Does anyone have any suggestions?
What version of AIX and what version of Python?
>From Misc/AIX-NOTES:
According to Gary Hook from IBM, the format of the export file changed
in AIX 4.2. For AIX 4.2 and later, a period "." is required on the
first line after "#!". If python crashes while importing a shared
library, you can try modifying the LINKCC variable in the Makefile.
It probably looks like this:
LINKCC= $(srcdir)/Modules/makexp_aix Modules/python.exp \"\" $(LIBRARY); $(PURIFY) $(CXX)
You should modify the \"\" to be a period:
LINKCC= $(srcdir)/Modules/makexp_aix Modules/python.exp . $(LIBRARY); $(PURIFY) $(CXX)
This fix has been incorporated into Python 2.3.
Let me know if it worked.
Neal
More information about the Python-list
mailing list