Toon posts:

software versie bepalen van een lib

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer een HP3300C scanner aan de praat te krijgen (momenteel onder Slackware 10).

1)
Niash backend gedownload, gecompileerd en testtool gedraaid. Die geeft een 'claim error' (sorry dat ik even niet de exacte melding bij de hand heb).
Aangezien de niash-backend libusb-0.1.5 nodig heeft en de geinstalleerde libusb een versie 0.1.4 lijkt te zijn (zie eerste listing), nieuwe libusb (0.1.8) gedownload, gecompileerd en geinstallerd in /usr/local/lib (tweed listing). Tot mijn stomme verbazing lijkt dit nog steeds te refereren naar 0.1.4. De vraag is hoe ik kan controleren welke versie het dus is?
code:
1
2
3
4
5
6
wim@AMD-K6:~$ ls -l /usr/lib/libus*
lrwxrwxrwx  1 root root    19 2005-01-16 15:07 /usr/lib/libusb-0.1.so.4 -> libusb-0.1.so.4.4.0
-rwxr-xr-x  1 root root 28972 2004-03-23 01:03 /usr/lib/libusb-0.1.so.4.4.0
-rw-r--r--  1 root root 32288 2004-03-23 01:03 /usr/lib/libusb.a
-rwxr-xr-x  1 root root   803 2004-03-23 01:03 /usr/lib/libusb.la
lrwxrwxrwx  1 root root    19 2005-01-16 15:07 /usr/lib/libusb.so -> libusb-0.1.so.4.4.0
code:
1
2
3
4
5
6
wim@AMD-K6:~$ ls -l /usr/local/lib/libus*
lrwxrwxrwx  1 root root    16 2005-01-24 20:37 /usr/local/lib/libusb -> libusb-0.1.4.4.0
lrwxrwxrwx  1 root root    16 2005-01-24 20:37 /usr/local/lib/libusb-0.1.4 -> libusb-0.1.4.4.0
-rwxr-xr-x  1 root root 34106 2005-01-24 20:37 /usr/local/lib/libusb-0.1.4.4.0
-rw-r--r--  1 root root 32288 2005-01-24 20:37 /usr/local/lib/libusb.a
-rwxr-xr-x  1 root root   698 2005-01-24 20:37 /usr/local/lib/libusb.la


2)
Tijdens de configuratie fase van libusb, krijg ik in het begin een foutmelding/waarschuwing.
code:
1
2
3
4
5
6
7
wim@AMD-K6:~/libusb/libusb-0.1.8$ ./configure
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
/home/wim/libusb/libusb-0.1.8/missing: Unknown `--run' option
Try `/home/wim/libusb/libusb-0.1.8/missing --help' for more information
configure: WARNING: `missing' script is too old or missing
checking for gawk... gawk
Het programma missing is er wel en compilatie lijkt verder goed te zijn gegaan. Moet ik acht slaan op de foutmelding/waarschuwing ?

3)
Extra info:
Linken van de niash-backend met de nieuwe library gaat fout (een hele zooi functies die niet gevonden kunnen worden). Niet zo belangrijk op dit moment; moet dat eerst zelf even proberen uit te vogelen.

[ Voor 9% gewijzigd door Verwijderd op 25-01-2005 16:41 ]


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Heb je de mogelijkheid om SANE zelf te updaten? Sinds 1.0.15 zit de niash backend er standaard bij.

"He took a duck in the face at two hundred and fifty knots."


Verwijderd

Topicstarter
Heb ik al gedownload, maar moet nog compilen en installeren. Wilde eerst de testtool aan de gang krijgen.

Net overigens een mogelijke oorzaak van de 'claim error' gevonden (in de documentatie van de niash backend). Moet thuis even verifieren of scanner.o geladen is.

Blijft uiteraard de vraag zoals in de titel is aangegeven (hoe verifieer je de versie van een lib).

[ Voor 18% gewijzigd door Verwijderd op 25-01-2005 16:52 ]


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Ik geloof niet dat er echt een standaard manier is om dat te bepalen. libusb installeert een scriptje 'libusb-config' waarmee je de versie op kan vragen. Echter in dit geval heb je een libusb in /usr en in /usr/local geïnstalleerd staan. Dus zul je ook een libusb-config in /usr/bin en in /usr/local/bin hebben. '/usr/local/bin/usb-config --version' zou je de versie van de lib in /usr/local/lib moeten geven.

Omdat je 2 versies van libusb geïnstalleerd hebt staan zul je ook op moeten geven tegen welke gelinkt moet worden bij het compileren van bijvoorbeeld SANE. Vaak kan dit met een optie aan configure (bijv: '--with-libusb=/usr/local').
2)Het programma missing is er wel en compilatie lijkt verder goed te zijn gegaan. Moet ik acht slaan op de foutmelding/waarschuwing?
Nee, dat is meestal geen probleem. Het komt (dacht ik) door een verschil in versies tussen de auto{make,conf} bij jou en bij de developer.

---
Verwijderd schreef op dinsdag 25 januari 2005 @ 16:51:
Net overigens een mogelijke oorzaak van de 'claim error' gevonden (in de documentatie van de niash backend). Moet thuis even verifieren of scanner.o geladen is.
Ik dacht dat SANE en/of de niash backend óf libusb, óf scanner.o gebruiken. En libusb heeft bij mijn weten de voorkeur.

"He took a duck in the face at two hundred and fifty knots."


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 20:59

odysseus

Debian GNU/Linux Sid

Verwijderd schreef op dinsdag 25 januari 2005 @ 16:51:
Blijft uiteraard de vraag zoals in de titel is aangegeven (hoe verifieer je de versie van een lib).
Je kunt het proberen met het volgende:
code:
1
objdump -p /usr/local/lib/libusb-0.1.4.4.0 | grep SONAME

De kans is echter groot dat je hier alleen als versie '0.1' of zelf '0' terugkrijgt, omdat minor versienummers niet in de SONAME worden opgenomen (die worden verondersteld compatibel te zijn denk ik - ze staan volgens mij niet in de object-file zelf en zijn alleen af te leiden uit de bestandsnaam) :).

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

Topicstarter
Dank u voor de antwoorden. Zal kijken of ik de versie nu kan vinden.

Oorzaak van de claim-error gevonden. Het ligt niet aan de lib maar aan de reeds geladen scanner module die de interface dus al geclaimed heeft. rmmod scanner deed de truc. Nu werkt testtool wel. Zeer trots dat ik de scannerlamp in kan schakelen en uit kan schakelen :+
Moet dat nu dus nog permanent zien te krijgen onder Slackware 10. Dat houdt me wel weer een uurtje of wat zoet.
_Squatt_ schreef op dinsdag 25 januari 2005 @ 17:35:
Omdat je 2 versies van libusb geïnstalleerd hebt staan zul je ook op moeten geven tegen welke gelinkt moet worden bij het compileren van bijvoorbeeld SANE. Vaak kan dit met een optie aan configure (bijv: '--with-libusb=/usr/local').
Had ik gedaan in de makefile.
_Squatt_ schreef op dinsdag 25 januari 2005 @ 17:35:
Ik dacht dat SANE en/of de niash backend óf libusb, óf scanner.o gebruiken. En libusb heeft bij mijn weten de voorkeur.
Volgens de niash-documentatie gebruikt de niash-backend libusb, dus ik denk dat ik die twee nodig heb. We komen er vanzelf achter.
Pagina: 1