[Python] Cython ImportError: ./region.so: undefined symbol: G_get_window
Pietro
peter.zamb a gmail.com
Sab 10 Ago 2013 21:11:14 CEST
Grazie, mi stai chiarendo le idee!
2013/8/10 Enrico Franchi <enrico.franchi a gmail.com>:
>
> On Aug 10, 2013, at 7:40 PM, Pietro <peter.zamb a gmail.com> wrote:
>
>> Come devo fare per fare il link a "grass/gis.h"?
>
> Non puoi linkare ad un header. Quello che devi fare e' linkare alla libreria dinamica di GIS.
ok, il mio include e la mia libreria compilata sono rispettivamente in::
$GISBASE/include
$GISBASE/lib
La directory $GISBASE/lib contiene: libgrass_gis.so che dovrebbe
essere la versione compilata della libreria, come faccio a linkarla
con cython?
sto cercando nella documentazione [0], ma essendo una cosa nuova non
sto riuscendo a capire come fare.
come suggerito nella documentazione ho provato ad aggiungere al mio
setup: libraries=["gis"], ho provato anche libgrass_gis e
libgrass_gis.so
ma ottengo un errore, perché non trova la libreria:
$ CFLAGS="-I$GISBASE/include" \
> LDFLAGS="-L$GISBASE/lib" \
> python setup.py build_ext --inplace --force
running build_ext
cythoning region.pyx to region.c
building 'region' extension
[cut]
/usr/bin/ld: cannot find -lgis
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
Come posso fare per risolvere?
Grazie
Pietro
[0] http://docs.cython.org/src/tutorial/clibraries.html#compiling-and-linking
Maggiori informazioni sulla lista
Python