Closed GoogleCodeExporter closed 9 years ago
Hello,
in order to find where the library is on the system, the makefile uses the
command pkg-config. You may get this message because pkg-config doesn't know
where to find libxml2.
It is the second dependency that is checked, so I guess the first one, libusb,
is found and therefore, pkg-config is installed on your system and is working.
Can you please try to run the following commands and give me their output ?
pkg-config --libs libxml-2.0
pkg-config --libs libusb-1.0
pkg-config --libs libcurl
Regards,
Colin
Original comment by colin.pi...@gmail.com
on 30 May 2014 at 5:46
Original comment by colin.pi...@gmail.com
on 30 May 2014 at 5:47
Hello again,
looking on the internet, I found out that on Ubuntu, libxml2 is the package
containing the library but in order to build a software using it, you need
another package that will contain headers: libxml2-dev.
Therefore you can try the following:
sudo apt-get install libxml2-dev
Tell me if it works. In this case, I'll enrich the error message for users that
will encounter the same issue in the future.
Regards,
Colin
Original comment by colin.pi...@gmail.com
on 30 May 2014 at 5:53
[deleted comment]
Hi Colin,
installing libxml2-dev was the solution !
But the next dependency (libcurl) wasn't checked too. I have tried to install
it, but no package libcurl exists ...
So I searched on internet and found a package called libcurl4-gnutls-dev that
seems to solve the problem : the make command start ....
... and fails later with the message "make: ctags : commande introuvable" (see
attached file)
Another idea ?
Thanks for your help !
JN
Original comment by jnmu...@gmail.com
on 30 May 2014 at 8:39
Hello,
ctags is a command that is usefull for the developper: it creates a file with
all symbols (variables, functions ...) and indicates in which file it is
defined. Then some tools (like vim) can use it to jump to the definition or for
auto-completion.
If you don't plan to modify the code, you don't need it.
So you have two options:
- install it (sudo apt-get install ctags should find it)
- remove it from the Makefile: delete line 17 that contains 'ctags -R .'
And on my side, I have 2 things to do:
- update the error message for dependency missing to suggest the libxml-dev / libcurl4-gnutls-dev packages names
- make ctags optional
Regards,
Colin
Original comment by colin.pi...@gmail.com
on 30 May 2014 at 9:08
Hi again,
searching on the internet, I found that ctags is not necessary for the
compilation.
(http://en.wikipedia.org/wiki/Ctags).
So I tried to remove the line -ctags in the makefile and the make ends
successfully !!
But now I have a problem running ./kalenji_reader : message "No known USB
device found."
My GPS is a Keymaze 500, conected on the USB port, and waiting for PC connection
Any idea ?
Original comment by jnmu...@gmail.com
on 30 May 2014 at 9:14
Can you do a lsusb ?
Original comment by colin.pi...@gmail.com
on 30 May 2014 at 9:17
Result :
Bus 002 Device 004: ID 13d3:5711 IMC Networks
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 13d3:3315 IMC Networks Bluetooth module
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub,
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
even if the GPS is plugged, unpluged, On or Off !
Another clue : if the GPS is plugged on the USB port but Off, he does not
display "Battery charging in progress", as he does when Windows XP runs ...
Missing driver ?
Original comment by jnmu...@gmail.com
on 30 May 2014 at 9:32
Hello,
the fact that the device is not seen on USB port nor charging is very strange.
Can you try on another USB port ? Is it on the same port that you're using it
under Windows ?
One more thing, when using the software, use the option -D Keyamze. I just
noticed that I messed-up the auto-detection for this device.
Regards,
Colin
Original comment by colin.pi...@gmail.com
on 30 May 2014 at 9:45
Great news : the device is now seen
Bus 002 Device 004: ID 13d3:5711 IMC Networks
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 13d3:3315 IMC Networks Bluetooth module
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Maybe a bad contact ?
But it doesn't work :
jneu@ASUS1015:~/kalenji-gps-watch-reader-read-only$ ./kalenji_reader -D Keymaze
error USB device not found !
Original comment by jnmu...@gmail.com
on 30 May 2014 at 9:55
It's enough for me today
good night
Original comment by jnmu...@gmail.com
on 30 May 2014 at 10:16
You're right, mea culpa !
Even with -D Keymaze it won't work.
You'll need to edit src/device/Keymaze.h and modify getProductId function.
The function exists twice. Remove the one returning 0x230300 and uncomment the
one returning 0x2303:
virtual unsigned int getProductId() { return 0x2303; };
I should have done this a long time ago !
Regards,
Colin
Original comment by colin.pi...@gmail.com
on 30 May 2014 at 10:28
It's better : now I have the error "error can't access usb device:
-3LIBUSB_ERROR_ACCESS"
Regards
JN
Original comment by jnmu...@gmail.com
on 31 May 2014 at 7:43
It looks like a permission issue.
First solution is to run the program as root (for example with sudo). It is not
a good habit but it will allow you to ensure it works well.
Second solution is to adapt your system configuration so that you have the
rights with your regular user to access this USB device. The action to be done
depend on your distribution and on your preference. You may need to modify udev
configuration to define which groups owns the device. Or you may need to modify
your user to add the group that owns it by default.
To check which group owns your device, you first need to check which bus /
device it corresponds to with lsusb. In my case, it's bus 001 and device 006
(it changes when you disconnect/reconnect the device):
$ lsusb
(...)
Bus 001 Device 006: ID 0483:5740 STMicroelectronics STM32F407
(...)
Then you can see the permissions using ls -l /dev/bus/usb/<bus>/<device>, for
example for me, it's owned by user root and group uucp and permissions are
rw-rw-r--:
$ ls -l /dev/bus/usb/001/006
crw-rw-r-- 1 root uucp 189, 5 31 mai 11:23 /dev/bus/usb/001/006
So to be able to send data to the device I need to be either user root or a
user from group uucp.
On my distribution, archlinux, by default the device was owned by root/root so
I modified udev configuration to use uucp group that is the one that owns USB
devices usually.
To do this, I created a file /etc/udev/rules.d/10-keymaze700trail.rules :
$ cat /etc/udev/rules.d/10-keymaze700trail.rules
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483",
ATTRS{idProduct}=="5740", GROUP="uucp"
In your case, you would need a file of the same kind, but changing idVendor by
067B and idProduct by 2303. Instead of GROUP="uucp", you can use
USER="username" or MODE="666". The last one specify the permissions to put on
the device. The first number is for owning user, the second for owning group
and the third for the rest of the world. 6 is for r/w, 4 would be read-only. So
666 allows everybody to read from & write to the device.
Regards,
Colin
Original comment by colin.pi...@gmail.com
on 31 May 2014 at 10:06
Thanks Colin, it works !
It was a permission issue : I ran the program as root with sudo, and it solved
te problem ! I could import my tracks ...
Next step I will adapt my configuration to give the rights to my regular user,
but later : today is a good day to record new GPX tacks on my bike !
thank you for your patience and your kindness.
Best regards
JN
ps : sorry for my poor english, but I'm french and a Linux newbie ...
Original comment by jnmu...@gmail.com
on 31 May 2014 at 10:35
Original comment by colin.pi...@gmail.com
on 31 May 2014 at 5:42
Thank you for your feedback.
It allowed to spot and fix a few issues (including the fact that support for
Keymaze was broken !).
Original comment by colin.pi...@gmail.com
on 31 May 2014 at 5:43
Original comment by colin.pi...@gmail.com
on 4 Jun 2014 at 5:30
Original issue reported on code.google.com by
jnmu...@gmail.com
on 29 May 2014 at 11:55