embedding on aix
apolloner
apolloner at bap.at
Tue Mar 25 03:27:56 EST 2003
the following code works well :
#include "/usr/local/include/python2.1/Python.h"
int main(int argc, char ** argv)
{
PyObject * module;
PyObject * function;
PyObject * result;
int cresult;
if (argc != 2)
{
printf("Usage: test1 <arg1> \n");
exit(-1);
} /* if */
Py_Initialize();
module = PyImport_ImportModule("apo");
if (PyObject_HasAttrString(module, "apo"))
{
function = PyObject_GetAttrString(module, "apo");
if (PyCallable_Check(function))
{
result = PyObject_CallFunction(function, "s",argv[1]);
printf("%s",PyString_AsString(result));
}
else
{
printf("Error -- attribute is not a function/method\n");
} /* if */
}
else
{
printf("Error -- Module does not contain \"apo\" function.\n");
} /* if */ Py_Exit(0);
}
apo.py :
def apo(s) :
return s
... but when i try to import a module :
apo.py :
from string import *
def apo(s):
return s
I get a Segmentation fault :
Segmentation fault in stropmodule.split_whitespace at 0xd066eed8 ($t1)
0xd066eed8 (split_whitespace+0x294) 800c0000 lwz r0,0x0(r12)
(dbx) where
stropmodule.split_whitespace() at 0xd066eed8
initstrop() at 0xd066c228
_PyImport_LoadDynamicModule() at 0x1006f7e0
load_module() at 0x10054c54
import_submodule() at 0x1005386c
load_next() at 0x10053d74
import_module_ex() at 0x100534e8
PyImport_ImportModuleEx() at 0x10056718
builtin___import__() at 0x1007ee00
call_cfunction() at 0x100322f0
call_object() at 0x1003236c
PyEval_CallObjectWithKeywords() at 0x10038958
eval_code2() at 0x10036858
PyEval_EvalCode() at 0x10037ebc
PyImport_ExecCodeModuleEx() at 0x10056a60
load_source_module() at 0x10054ee4
import_submodule() at 0x1005386c
load_next() at 0x10053d74
import_module_ex() at 0x100534e8
PyImport_ImportModuleEx() at 0x10056718
builtin___import__() at 0x1007ee00
call_cfunction() at 0x100322f0
call_object() at 0x1003236c
PyEval_CallObjectWithKeywords() at 0x10038958
eval_code2() at 0x10036858
PyEval_EvalCode() at 0x10037ebc
PyImport_ExecCodeModuleEx() at 0x10056a60
load_source_module() at 0x10054ee4
import_submodule() at 0x1005386c
load_next() at 0x10053d74
import_module_ex() at 0x100534e8
PyImport_ImportModuleEx() at 0x10056718
builtin___import__() at 0x1007ee00
call_cfunction() at 0x100322f0
call_object() at 0x1003236c
PyEval_CallObjectWithKeywords() at 0x10038958
PyObject_CallObject() at 0x100289e0
PyObject_CallFunction() at 0x10028934
PyImport_Import() at 0x10056624
PyImport_ImportModule() at 0x10056764
main(argc = 2, argv = 0x2ff225fc), line 22 in "t.c"
any hint ? or do you need more information
thanks
udo
More information about the Python-list
mailing list