Forum: Mikrocontroller und Digitale Elektronik sigrok-meter


von Matthias S. (dachs)


Lesenswert?

Hallo zusammen,

hat schon einmal jemand sirok-meter https://sigrok.org/wiki/Sigrok-meter 
zum Laufen gebracht?

Ich habe die libsigrok incl. Python-Bindings kompilieren koennen, 
zumindest der Ausgaben des make nach.

Leider sagt Sigrok-Meter beim Start, dass das Modul sigrok.core nicht 
geladen werden konnte.
Gibt es einen Trick, wie ich sigrok-meter mitteilen kann, dass es die 
Files aus ~/libsigrok verwenden soll?

Matthias

von cat (Gast)


Lesenswert?

export PYTHONPATH=?

von Matthias S. (dachs)


Lesenswert?

Leider nein, selbes Problem.
Auch mit PYTHON_PATH nicht.

Gibt es fuer python sowas wie
1
ldd
 fuer dynamisch gelinkte native Programme?

Matthias

von Ingo D. (ingo2011)


Lesenswert?

Hi Matthias,

wie lautet denn die genaue Fehlermeldung ?
Hänge doch mal die Ausgabe mit dran.

Gruß Ingo

von Matthias S. (dachs)


Lesenswert?

1
Unable to use the sigrok Python bindings:
2
No module named sigrok.core.

Und das passiert hier in sigrok-meter
1
    try:
2
        import sigrok.core as sr
3
    except Exception as e:
4
        QtGui.QMessageBox.critical(None, 'Error starting sigrok-meter',
5
           'Unable to use the sigrok Python bindings:\n{}.'.format(e))
6
        sys.exit(1)

Matthias

von PYTHONPATH/ (Gast)


Lesenswert?

>Leider nein, selbes Problem.
>Auch mit PYTHON_PATH nicht.

Heisst ja auch PYTHONPATH

von Matthias S. (dachs)


Lesenswert?

Hab ja beides versucht.

Matthias

von pegel (Gast)


Lesenswert?

Dann hast du kein:

sudo make install

danach gemacht?

Ich habe es unter Ubuntu mal probiert.
Durch installieren einiger Pakete läuft das Programm.

z.B.
sudo apt-get install libsigrok-dev

Das Programm selbst sagt:

ldd ./sigrok-meter
Das Programm ist nicht dynamisch gelinkt

Welches Linux hast du?

von priot (Gast)


Lesenswert?

Am Einfachsten wird wohl sein, Du machst ein "make install", das
kannst Du ja auch z.B nach /tmp legen, dann ist's nach dem Reboot wieder 
weg.

Falls nicht bekannt:

Beim

$ configure

kannst Du einen Prefix definieren:

$ configure --prefix=/tmp/mein-sigrok-dir

Dann landet alles da drunter.

(ich hab's probiert, den PYTHONPATH in das libsigrok Source Dir zeigen 
zu lassen (--> ../bindings/python), dann verschwindet die FM bez. 
sigrok.core, dafür wird wegen fehlendem _classes gemeckert...)

von priot (Gast)


Lesenswert?

pegel schrieb:
> Dann hast du kein:
>
> sudo make install
>
> danach gemacht?
>

Ich hatte den Eindruck, dass er das vielleicht vermeiden wollte.


> Ich habe es unter Ubuntu mal probiert.
> Durch installieren einiger Pakete läuft das Programm.
>
> z.B.
> sudo apt-get install libsigrok-dev
>

Das sind aber relative alte Versionen.

> Das Programm selbst sagt:
>
> ldd ./sigrok-meter
> Das Programm ist nicht dynamisch gelinkt
>
> Welches Linux hast du?

von pegel (Gast)


Lesenswert?

priot schrieb:
> Das sind aber relative alte Versionen.

Wie das meist so ist.
Aber das Programm läuft.

von priot (Gast)


Lesenswert?

pegel schrieb:

> Wie das meist so ist.
> Aber das Programm läuft.

Aus dem repo kann's ja jeder ;-)

von pegel (Gast)


Lesenswert?

Ja, hast recht.
Da mein Plattenplatz zur Neige geht, denke ich schon seit ein paar Tagen 
darüber nach mal wieder ein richtiges LFS aufzusetzen.

von pegel (Gast)


Lesenswert?

Wenn in diesen Fall python die eigen lib schon eher kennen muss,
hilft vielleicht ein:

sudo ldconfig -n ~/libsigrok

von Matthias S. (dachs)


Lesenswert?

pegel schrieb:
> Das Programm selbst sagt:
>
> ldd ./sigrok-meter
> Das Programm ist nicht dynamisch gelinkt
Ja, klar ist ja eher ein Interpreter-Script als ein Programm.
>
> Welches Linux hast du?
Debian Stretch.

priot schrieb:
> $ configure --prefix=/tmp/mein-sigrok-dir
>
> Dann landet alles da drunter.
>
> (ich hab's probiert, den PYTHONPATH in das libsigrok Source Dir zeigen
> zu lassen (--> ../bindings/python), dann verschwindet die FM bez.
> sigrok.core, dafür wird wegen fehlendem _classes gemeckert...)

Ja, das habe ich gemacht, make install hat sich dann beschwert:
1
You are attempting to install a package to a directory that is not
2
on PYTHONPATH and which Python does not read ".pth" files from.  The
3
installation directory you specified (via --install-dir, --prefix, or
4
the distutils default setting) was:
5
6
    /tmp/mein-sigrok-dir/lib/python2.7/site-packages/
7
8
and your PYTHONPATH environment variable currently contains:
9
10
    ''

Das habe ich durch
1
PYTHONPATH=/tmp/mein-sigrok-dir/lib/python2.7/site-packages/ make install
geloest.
1
PYTHONPATH=/tmp/mein-sigrok-dir/lib/python2.7/site-packages/ ./sigrok-meter
 erzeugt jetzt die schon genannte Meldung:
1
Unable to use the sigrok Python bindings:
2
No module named _classes.


Den Modul sigrok.core findet er also, aber dann.
Habe gerade noch einmal ein clean, configure ohne Optionen und make 
install (als root) gemacht, wieder
1
Unable to use the sigrok Python bindings:
2
No module named _classes.

Hmmm, was mache ich da falsch?

Matthias

von Matthias S. (dachs)


Lesenswert?

Mein Problem ist, dass ich mit Python noch gar nicht beschaeftigt habe. 
Da ist eben doch Vieles sehr anders als bei kompilierten C-Programmen.

Dann wird es jetzt Zeit.

Matthias

von priot (Gast)


Lesenswert?

>Hmmm, was mache ich da falsch?

Dann musst Du evtl noch PKG_CONFIG_PATH setzen. Ich mache das so:

$ PKG_CONFIG_PATH=/usr/local/sigrok/lib/pkgconfig/ ./configure 
--prefix=/usr/local/sigrok/

und dann

$ make
$ sudo make install

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.