Python extension using a C library with one 'hello' function
Veek M
vek.m1234 at gmail.com
Tue Nov 4 04:52:52 EST 2014
https://github.com/Veek/Python/tree/master/junk/hello
doesn't work.
I have:
hello.c which contains: int hello(void);
hello.h
To wrap that up, i have:
hello.py -> _hello (c extension) -> pyhello.c -> method py_hello()
People using this will do:
python3.2>> import hello
python3.2>> hello.hello()
It doesn't compile/work.
deathstar> python setup.py build_ext --inplace
running build_ext
building '_hello' extension
creating build
creating build/temp.linux-x86_64-3.2
gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -
D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -
Werror=format-security -fPIC -I/usr/include/python3.2mu -c pyhello.c -o
build/temp.linux-x86_64-3.2/pyhello.o
pyhello.c:15:6: warning: character constant too long for its type [enabled
by default]
pyhello.c:15:5: warning: initialization makes pointer from integer without a
cast [enabled by default]
pyhello.c:15:5: warning: (near initialization for 'hellomethods[0].ml_name')
[enabled by default]
pyhello.c:15:5: warning: initialization from incompatible pointer type
[enabled by default]
pyhello.c:15:5: warning: (near initialization for 'hellomethods[0].ml_meth')
[enabled by default]
pyhello.c:15:5: warning: initialization makes integer from pointer without a
cast [enabled by default]
pyhello.c:15:5: warning: (near initialization for
'hellomethods[0].ml_flags') [enabled by default]
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro
build/temp.linux-x86_64-3.2/pyhello.o -o
/root/github/junk/hello/_hello.cpython-32mu.so
>>> import hello
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "hello.py", line 1, in <module>
from _hello import *
ImportError: ./_hello.cpython-32mu.so: undefined symbol: hello
>>>
More information about the Python-list
mailing list