Message "Unable to claim interface"

Asked by jcz on 2010-01-17

Hello!
I'm not so familiar with compiling with Linux, but I seemed to happen smoothly.
But when I launch the igotugui, I get the message "Unable to claim interface 0 on device '0df7:0900'.
I tried the solutions posted here, but without success : https://answers.launchpad.net/igotu2gpx/+question/74030
I am using Linpus distribution (light version of Fedora).
BTW, is it possible to include installation instructions "for dummies"... like me ? ;-)
Thanks for help !
JCZ

Question information

Language:
English Edit question
Status:
Solved
For:
igotu2gpx Edit question
Assignee:
No assignee Edit question
Solved by:
jcz
Solved:
2010-02-17
Last query:
2010-02-17
Last reply:
2010-02-16
Launchpad Janitor (janitor) said : #1

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

jcz (info-catalyznet) said : #2

Anybody able to answer the question ?????
Any further info needed ?????
Anybody maintaining igotu2gpx ????

Michael Hofmann (mh21) said : #3

Hmm, maintaining in my free time :-). What happens if you call it with "sudo igotugui"?

jcz (info-catalyznet) said : #4

Hello !
Sorry to have insisted, and to disturb your free time ;-)
Here is the terminal capture :

[user@localhost ~]$ cd /home/user/igotu2gpx-0.3.0/bin/debug
[user@localhost debug]$ ls -la
total 6296
drwxrwxr-x 2 user user 4096 2010-01-17 00:00 .
drwxrwxr-x 3 user user 4096 2010-01-16 23:58 ..
-rwxrwxr-x 1 user user 858037 2010-01-16 23:59 igotu2gpx
-rwxrwxr-x 1 user user 2364033 2010-01-17 00:00 igotugui
lrwxrwxrwx 1 user user 17 2010-01-16 23:59 libigotu.so -> libigotu.so.1.0.0
lrwxrwxrwx 1 user user 17 2010-01-16 23:59 libigotu.so.1 -> libigotu.so.1.0.0
lrwxrwxrwx 1 user user 17 2010-01-16 23:59 libigotu.so.1.0 -> libigotu.so.1.0.0
-rwxrwxr-x 1 user user 2707083 2010-01-16 23:59 libigotu.so.1.0.0
-rwxrwxr-x 1 user user 181116 2010-01-17 00:00 liblibusbconnection.so
-rwxrwxr-x 1 user user 298929 2010-01-17 00:00 liblistvisualizer.so
[user@localhost debug]$ igotugui
bash: igotugui: command not found
[user@localhost debug]$ sudo igotugui
sudo: igotugui: command not found
[user@localhost debug]$ /home/user/igotu2gpx-0.3.0/bin/debug/igotugui

>>> the gui opens, but the message is displayed at the bottom of the gui.

[user@localhost debug]$ sudo /home/user/igotu2gpx-0.3.0/bin/debug/igotugui
/home/user/igotu2gpx-0.3.0/bin/debug/igotugui: error while loading shared libraries: libigotu.so.1: cannot open shared object file: No such file or directory

[user@localhost debug]$ lsusb
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 002: ID 0df7:0900 Mobile Action Technology, Inc.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 002: ID 0c45:62c0 Acer Crystal Eye Webcam
Bus 001 Device 001: ID 0000:0000

My comments (sorry, but sometimes I am like a dummy with Linux...)
After install, I do not understand why the igotugui is present only in the .../debug/ folder.

When using the sudo, why the libigotu.so.1 is not found as it seems to be present (cf. ls -la command)

lsusb seems to be OK, the device seems to be attached.

Sorry for these questions, but I suspect I made an error somewhere, but I am not able to figure out which one.

Thanks for your help.

JCZ

Michael Hofmann (mh21) said : #5

Hi JCZ,

no problem :-). There are multiple ways of solving the error message
about the library. You can install "chrpath" and then recompile the
program with "qmake && make clean qmake all", or you could call
igotu2gpxl/igotugui with "LD_LIBRARY_PATH=bin/debug
bin/debug/igotugui". Afterwards, "sudo bin/debug/igotu2gpx" or "sudo
bin/debug/igotugui" should work.

Michael

Michael Hofmann (mh21) said : #6

Hmm, while reading the last comment it seems to be more confusing than useful. Let's try again.

Either:
- install "chrpath" (e.g., "yum install chrpath" for a Fedora system). This program, if found by the make system, allows to specify where libraries are installed in the executable itself.
- recompile the program with "qmake && make clean qmake all"
- now, "sudo bin/debug/igotu2gpx" or "sudo bin/debug/igotugui" should work.

Or:
- call it with "sudo sh -c 'LD_LIBRARY_PATH=bin/debug bin/debug/igotu2gpx'"

There are two different problems you describe. The first is that you have to run the program as root (or with sudo) to get access to the gps tracker, and the second is that if you compile igotu2gpx yourself, the libraries are not found.

jcz (info-catalyznet) said : #7

Hello Michael !

Thanks for your explanations.
I went back to the INSTALL file and tried the installation from zero again. Not a good idea :-(
I also found info on this site : http://kernelreloaded.blog385.com/index.php/category/openstreetmap/
I also checked that the libusb is installed.
Unfortunately, if the qmake is ok, the make command gives me some errors :

[user@localhost igotu2gpx]$ make
cd src/igotu/ && make -f Makefile
make[1]: entrant dans le répertoire « /home/user/igotu2gpx/src/igotu »
echo !_TAG_FILE_FORMAT 2 dummy > /home/user/igotu2gpx/tags; echo !_TAG_FILE_SORTED 1 dummy >> /home/user/igotu2gpx/tags; sed -i 's/ /\t/g' /home/user/igotu2gpx/tags; cd /home/user/igotu2gpx && ctags -R --c++-kinds=+p-n --fields=+iaS --extra=+fq --exclude=.build -f - src | sed 's/igotu:://g;s/\tnamespace:igotu//g' | LC_ALL=C sort >> tags || cd .
make[1]: quittant le répertoire « /home/user/igotu2gpx/src/igotu »
cd src/igotu2gpx/ && make -f Makefile
make[1]: entrant dans le répertoire « /home/user/igotu2gpx/src/igotu2gpx »
compiling igotu2gpx.cpp
../../src/igotu/igotucontrol.h:59: erreur: ‘QPair’ was not declared in this scope
../../src/igotu/igotucontrol.h:59: erreur: patron de l'argument 1 est invalide
../../src/igotu/igotucontrol.h:59: erreur: expected unqualified-id before ‘>’ token
igotu2gpx.cpp: In function ‘int main(int, char**)’:
igotu2gpx.cpp:142: erreur: ‘configureParameters’ is not a member of ‘igotu::IgotuControl’
igotu2gpx.cpp: At global scope:
igotu2gpx.cpp:55: attention : ‘QString parameterList(const QList<QPair<const char*, QString> >&)’ defined but not used
make[1]: *** [.build/debug/igotu2gpx.o] Erreur 1
make[1]: quittant le répertoire « /home/user/igotu2gpx/src/igotu2gpx »
make: *** [sub-src-igotu2gpx-make_default] Erreur 2
[user@localhost igotu2gpx]$

... and no igotugui nor igotu2gpx.

Sorry, but I am more and more confused :-(
Any idea for the dummy I am ;-) ?

Thanks !

JCZ

Michael Hofmann (mh21) said : #8

Hi JCZ,

heh, this was my fault ;-). There was an error in the code, try to get
the new version with "bzr update" and recompile with "make".

Michael

jcz (info-catalyznet) said : #9

Hi Michael !

Sorry, but I couldn't make "make" work... see below :
"bzr update " was OK, but "make" (or "sudo make") still shows the error at igotucontrol.h:59
:-((
What did I do wrong ?

Regards.
JCZ

[user@localhost igotu2gpx]$ bzr update
Tree is up to date at revision 187.
[user@localhost igotu2gpx]$ make
cd src/igotu/ && make -f Makefile
make[1]: entrant dans le répertoire « /home/user/igotu2gpx/src/igotu »
echo !_TAG_FILE_FORMAT 2 dummy > /home/user/igotu2gpx/tags; echo !_TAG_FILE_SORTED 1 dummy >> /home/user/igotu2gpx/tags; sed -i 's/ /\t/g' /home/user/igotu2gpx/tags; cd /home/user/igotu2gpx && ctags -R --c++-kinds=+p-n --fields=+iaS --extra=+fq --exclude=.build -f - src | sed 's/igotu:://g;s/\tnamespace:igotu//g' | LC_ALL=C sort >> tags || cd .
make[1]: quittant le répertoire « /home/user/igotu2gpx/src/igotu »
cd src/igotu2gpx/ && make -f Makefile
make[1]: entrant dans le répertoire « /home/user/igotu2gpx/src/igotu2gpx »
compiling igotu2gpx.cpp
../../src/igotu/igotucontrol.h:59: erreur: ‘QPair’ was not declared in this scope
../../src/igotu/igotucontrol.h:59: erreur: patron de l'argument 1 est invalide
../../src/igotu/igotucontrol.h:59: erreur: expected unqualified-id before ‘>’ token
igotu2gpx.cpp: In function ‘int main(int, char**)’:
igotu2gpx.cpp:142: erreur: ‘configureParameters’ is not a member of ‘igotu::IgotuControl’
igotu2gpx.cpp: At global scope:
igotu2gpx.cpp:55: attention : ‘QString parameterList(const QList<QPair<const char*, QString> >&)’ defined but not used
make[1]: *** [.build/debug/igotu2gpx.o] Erreur 1
make[1]: quittant le répertoire « /home/user/igotu2gpx/src/igotu2gpx »
make: *** [sub-src-igotu2gpx-make_default] Erreur 2
[user@localhost igotu2gpx]$

Michael Hofmann (mh21) said : #10

Hi jcz,

ok, let's try again. Try "bzr pull" followed by "make". Seems like
"bzr update" did not do what I expected :-(. The revision you want is
188.

Michael

jcz (info-catalyznet) said : #11

Hi Michael !

Seems like I am very good for bad news ! :-)
"bzr pull" gave me the wanted revision... but the same error occured again with "make" or "sudo make" (see below).
:-(
Any other idea ? (or things I should verify?)

Best regards.
JCZ

[user@localhost ~]$ cd /home/user/igotu2gpx
[user@localhost igotu2gpx]$ bzr pull
Using saved location: http://bazaar.launchpad.net/~igotu2gpx/igotu2gpx/trunk/
 M src/igotu/igotuconfig.cpp
All changes applied successfully.
Now on revision 188.

[user@localhost igotu2gpx]$ make
cd src/igotu/ && make -f Makefile
make[1]: entrant dans le répertoire « /home/user/igotu2gpx/src/igotu »
echo !_TAG_FILE_FORMAT 2 dummy > /home/user/igotu2gpx/tags; echo !_TAG_FILE_SORTED 1 dummy >> /home/user/igotu2gpx/tags; sed -i 's/ /\t/g' /home/user/igotu2gpx/tags; cd /home/user/igotu2gpx && ctags -R --c++-kinds=+p-n --fields=+iaS --extra=+fq --exclude=.build -f - src | sed 's/igotu:://g;s/\tnamespace:igotu//g' | LC_ALL=C sort >> tags || cd .
compiling igotuconfig.cpp
rm -f libigotu.so.1.0.0 libigotu.so libigotu.so.1 libigotu.so.1.0
linking ../../bin/debug/libigotu.so.1.0.0
ln -s libigotu.so.1.0.0 libigotu.so
ln -s libigotu.so.1.0.0 libigotu.so.1
ln -s libigotu.so.1.0.0 libigotu.so.1.0
rm -f ../../bin/debug/libigotu.so.1.0.0
rm -f ../../bin/debug/libigotu.so
rm -f ../../bin/debug/libigotu.so.1
rm -f ../../bin/debug/libigotu.so.1.0
mv -f libigotu.so.1.0.0 libigotu.so libigotu.so.1 libigotu.so.1.0 ../../bin/debug/
make[1]: quittant le répertoire « /home/user/igotu2gpx/src/igotu »
cd src/igotu2gpx/ && make -f Makefile
make[1]: entrant dans le répertoire « /home/user/igotu2gpx/src/igotu2gpx »
compiling igotu2gpx.cpp
../../src/igotu/igotucontrol.h:59: erreur: ‘QPair’ was not declared in this scope
../../src/igotu/igotucontrol.h:59: erreur: patron de l'argument 1 est invalide
../../src/igotu/igotucontrol.h:59: erreur: expected unqualified-id before ‘>’ token
igotu2gpx.cpp: In function ‘int main(int, char**)’:
igotu2gpx.cpp:142: erreur: ‘configureParameters’ is not a member of ‘igotu::IgotuControl’
igotu2gpx.cpp: At global scope:
igotu2gpx.cpp:55: attention : ‘QString parameterList(const QList<QPair<const char*, QString> >&)’ defined but not used
make[1]: *** [.build/debug/igotu2gpx.o] Erreur 1
make[1]: quittant le répertoire « /home/user/igotu2gpx/src/igotu2gpx »
make: *** [sub-src-igotu2gpx-make_default] Erreur 2
[user@localhost igotu2gpx]$

Michael Hofmann (mh21) said : #12

Hi jcz,

seems like you find a lot of compile bugs, that's good :-). Try again
with revision 189 ("bzr pull; make").

Michael

jcz (info-catalyznet) said : #13

Hi Michael !

You are not the first one congratulating me for this annoying capability to find bugs ! :-))
Thanks! the revision 189 is OK.
Now, I am able to launch igotugui, see my igotu device, change the device config (acquisition interval).
Very good.

But... :-(
When I tried to download on my computer the points (5 points) stored in the device with "download tracks", nothing appeared on the gui...
I tried to store on a file (in case it was only a display problem), but the file was without any points.

Pls don't kill me :-)

Best regards!
JCZ

Michael Hofmann (mh21) said : #14

Hi Jcz,

> When I tried to download on my computer the points (5 points) stored in the device with "download tracks", nothing appeared on the gui...
> I tried to store on a file (in case it was only a display problem), but the file was without any points.
Yeah, the GUI sucks a bit there. If you call "igotu2gpx dump -f
details" you will see that there are indeed 5 points, but that they
are invalid.

Michael

jcz (info-catalyznet) said : #15

Hello again Michael !

You are right, there is something wrong somewhere.
If I believe the igotu2gpx software (igotu2gpx dump -f details), my position this evening was :
  Date 2010-02-16T19:21:37.448Z
  Latitude 0.000000
  Longitude 0.000000
  Elevation -48.2 m
 I didn't know that Switzerland was so close to the equator, and so deep ;-)

By "the points are invalid", do you mean that there is a problem with my igotu device ?

Thanks for your help.
Regards.

JCZ

jcz (info-catalyznet) said : #16

Oooops, the dummy is back ! :-)

A quick test showed me that there was indeed a problem with the device : no satellite detected !
With proper position, I am now in a more comfortable position : ;-)
  Date 2010-02-17T00:18:02.000Z
  Latitude 46.197452
  Longitude 6.162701
  Elevation 431.0 m

Well !
Everything is OK.
Thanks for your patience.
All the best !

JCZ