undefined symbol: PyFloat_Type

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Hi,

brauche wieder einmal eure Hilfe ;)

Es gibt ein Problem (anscheinend) im Linker und ich weiss nicht woran das liegt.

Hintergrund: ich versuche (was auch soweit klappt), Gnumeric zu compilieren (neueste Source 1.11.3). Nur wenn ich die Python-Console kompilieren will, kommt ein:

Code: Alles auswählen

E Unable to open module file "/usr/local/lib/gnumeric/1.11.3/plugins/python-loader/python_loader".
  E /usr/local/lib/gnumeric/1.11.3/plugins/python-loader/python_loader.so: undefined symbol: PyFloat_Type
Die gleiche Fehlermeldung kommt, wenn ich ein Python Plugin ausführen will.

In der Forensuche habe ich Blackjacks Antwort auf ein ähnliches Problem gefunden, hat leider auch nichts gebracht.
Meine Linkerzeile im makefile sieht so aus:

Code: Alles auswählen

python_loader_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(python_loader_la_LDFLAGS) $(LDFLAGS) \
	-o $@
also mit blackjacks tip $(python2.7-config --ldflags)

Code: Alles auswählen

python_loader_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(python_loader_la_LDFLAGS) $(LDFLAGS) \
	-$(python2.7-config --ldflags) o $@
macht es leider auch kein Unterschied.

ratlos, was ist da falsch oder könnte fehlen?
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Jetzt funktionierts.

Es war so: ich habe vorhin ./configure aufgerufen, dann hat er sich beklagt, dass "Python.h" nicht da war. Ich habe python2.7-dev nachinstalliert. Dann hat er eben das Py_Float nicht gefunden.

Nun habe ich ./configure neu aufgerufen, d.h. die Makefiles wurden neu erstellt, und nun läuft das ganze.
Antworten