zlib import error

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.
Der-Noo
User
Beiträge: 11
Registriert: Sonntag 27. Juli 2008, 14:36

Beitragvon Der-Noo » Samstag 20. September 2008, 10:25

also dieses sqlite-modul krieg ich einfach nicht hin.

beim compilen schimpft der immer:

[code=]/home/noo/basteln/Python-2.5/Modules/_sqlite/statement.c:169: warning: dereferencing type-punned pointer will break strict-aliasing rules
/home/noo/basteln/Python-2.5/Modules/_sqlite/statement.c:198: warning: dereferencing type-punned pointer will break strict-aliasing rules
mipsel-linux-uclibc-gcc: unrecognized option '-R/usr/lib'
/home/noo/Dokumente/Programmieren/Fritz!Box/freetz-1.0/toolchain/build/gcc-4.2.1-uClibc-0.9.28/mipsel-linux-uclibc/bin/../lib/gcc/mipsel-linux-uclibc/4.2.1/../../../../mipsel-linux-uclibc/bin/ld: skipping incompatible /usr/lib/libsqlite3.so when searching for -lsqlite3
/home/noo/Dokumente/Programmieren/Fritz!Box/freetz-1.0/toolchain/build/gcc-4.2.1-uClibc-0.9.28/mipsel-linux-uclibc/bin/../lib/gcc/mipsel-linux-uclibc/4.2.1/../../../../mipsel-linux-uclibc/bin/ld: skipping incompatible /usr/lib/libsqlite3.a when searching for -lsqlite3
/home/noo/Dokumente/Programmieren/Fritz!Box/freetz-1.0/toolchain/build/gcc-4.2.1-uClibc-0.9.28/mipsel-linux-uclibc/bin/../lib/gcc/mipsel-linux-uclibc/4.2.1/../../../../mipsel-linux-uclibc/bin/ld: cannot find -lsqlite3
collect2: ld returned 1 exit status[/code]

Vermutlich versucht er die x86 - versionen von meinem system zu nehmen...

Da muss ich sqlite zuerst in _mipsel übersetzen, und dann dem Python-Compiler sagen, er soll die nehmen, richtig?
aber wie?
Der-Noo
User
Beiträge: 11
Registriert: Sonntag 27. Juli 2008, 14:36

Beitragvon Der-Noo » Samstag 20. September 2008, 10:26

und weiß jemand was ich gegen die "breaking strict aliasing-rules"-warnings machen kann?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 20. September 2008, 10:54

Der-Noo hat geschrieben:Da muss ich sqlite zuerst in _mipsel übersetzen, und dann dem Python-Compiler sagen, er soll die nehmen, richtig?
aber wie?

Richtig, zuerst sqlite3 für MIPSel kompilieren, mit dem Crosscompiler und dann dem Compiler mit -I den Pfad zu den richtigen Header und mit -L den Pfad zu den MIPSel-Libraries angeben.

Eine alternative könnte es ja auch sein, QEMU zu nehmen, damit ein MIPSel-System zu installieren und das dann zum kompilieren zu verwenden.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Der-Noo
User
Beiträge: 11
Registriert: Sonntag 27. Juli 2008, 14:36

Beitragvon Der-Noo » Samstag 20. September 2008, 11:28

das mit dem qemu hab ich die letzten tage versucht. sieht auch super aus. Wenn ich das dann auf der Fritzbox hab, fehlen ihm verschiedene libs (libutil.so.2, libm.so. libc.so.6). reiche ich die aus der virtuellen Maschine nach bringt er am ende:

[code=]libc.so.6: aborted attempt to load ./python! [/code]

da wusst ich dann absolut auch nicht mehr weiter...
Der-Noo
User
Beiträge: 11
Registriert: Sonntag 27. Juli 2008, 14:36

Beitragvon Der-Noo » Dienstag 23. September 2008, 09:09

YEAH! Danke für den Tip, das sqlite3 - Modul ist jetzt endlich dabei !

funktioniert nur (noch?) nicht :-(

[code=]
./python -v

>>> import sqlite3
import sqlite3 # directory /mod/usr/lib/python2.5/sqlite3
# /mod/usr/lib/python2.5/sqlite3/__init__.pyc matches /mod/usr/lib/python2.5/sqlite3/__init__.py
import sqlite3 # precompiled from /mod/usr/lib/python2.5/sqlite3/__init__.pyc
# /mod/usr/lib/python2.5/sqlite3/dbapi2.pyc matches /mod/usr/lib/python2.5/sqlite3/dbapi2.py
import sqlite3.dbapi2 # precompiled from /mod/usr/lib/python2.5/sqlite3/dbapi2.pyc
dlopen("/mod/usr/lib/python2.5/lib-dynload/datetime.so", 2);
import datetime # dynamically loaded from /mod/usr/lib/python2.5/lib-dynload/datetime.so
dlopen("/mod/usr/lib/python2.5/lib-dynload/time.so", 2);
import time # dynamically loaded from /mod/usr/lib/python2.5/lib-dynload/time.so
dlopen("/mod/usr/lib/python2.5/lib-dynload/_sqlite3.so", 2);
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/mod/usr/lib/python2.5/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import *
File "/mod/usr/lib/python2.5/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: File not found
[/code]

und wenn ich's dann noch einmal versuche wird Python mit einem Speicherzugriffsfehler beendet:

[code=]>>> import sqlite3
import sqlite3 # directory /mod/usr/lib/python2.5/sqlite3
# /mod/usr/lib/python2.5/sqlite3/__init__.pyc matches /mod/usr/lib/python2.5/sqlite3/__init__.py
import sqlite3 # precompiled from /mod/usr/lib/python2.5/sqlite3/__init__.pyc
# /mod/usr/lib/python2.5/sqlite3/dbapi2.pyc matches /mod/usr/lib/python2.5/sqlite3/dbapi2.py
import sqlite3.dbapi2 # precompiled from /mod/usr/lib/python2.5/sqlite3/dbapi2.pyc
dlopen("/mod/usr/lib/python2.5/lib-dynload/_sqlite3.so", 2);
Segmentation fault
/var/disk/usr/bin #
[/code]

Leider kann ich damit nicht viel anfangen - beim Compilen hat er gemekert, dass Tcl/Tk fehlt...
Kann das sein dass er das auch braucht? wenn ich sqlite3 selbst ausführe gehts. Spricht Python Tcl/Tk mit sqlite3?
Das ist nämlich auch ganz schöner stress zum compilieren...
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 23. September 2008, 09:16

Der-Noo hat geschrieben:Spricht Python Tcl/Tk mit sqlite3?

Nein, die sind völlig unabhängig. Bei dir scheint _sqlite.so irgendwie nicht richtig zu sein, falsche Architektur, falsche Endianness etc.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Der-Noo
User
Beiträge: 11
Registriert: Sonntag 27. Juli 2008, 14:36

Beitragvon Der-Noo » Dienstag 23. September 2008, 15:37

YAWOLL! Ich habs geschafft!!

so habe ich sqlite3 übersetzt:

[code=]
./configure --host=mipsel-linux-uclibc --prefix=/var/disk/usr --enable-static CFLAGS="-I/usr/mipsel-linux-uclibc/include -I/var/disk/usr/include -Os -s" LDFLAGS="-L/usr/mipsel-linux-uclibc/lib -L/var/disk/usr/lib -static" ARCH=mipsel-linux
[/code]

ein richtiges HowTo werde ich noch schreiben, und hier irgendwo pflanzen.....

Yippie !DANKE !!!!!!! :D :D

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]