I run a Debian/Knoppix based testing/unstable system (similar to yours), and
just yesterday I had to download a new libc6-dev package when I installed
something else. After this package installed, it updated some of the include
files and this broke code that includes the V4L and 1394 code. The kernel
headers are owned by another package and this one does not have any updates,
so I don't believe there is a fix for this.
I couldn't compile a lot of my source code that used video cameras or
similar, and so I ended up having to hack the headers myself to put #ifdef's
in. Basically you have to find the places where struct timespec et al is
declared (once in /usr/include/linux/time.h and once in /usr/include/time.h
if I remember right) and then fix the #ifdef's so that they have similar
naming - I think someone decided to change the naming convention, who knows
I'm not sure how to avoid this problem "properly" - I don't think its my
fault considering you have the same problem, I guess we need to keep
checking the libc6-dev package and either go back a version (say testing) or
hopefully a new one comes out in the next couple days with a fix. I hacked
#ifdef's temporarily because I don't have enough time to play with it or do
anything about it - if you want to do it easily then just comment out the
offending code and hopefully it will work. DO NOT do this on a production
box though because you may mess up other things though! If you want to talk
more about it I can possibly help you.
It is unfortunate that Debian stable is just a tad too old to run ARToolkit
nicely. Stable still ships the older libDC and libDV code and so you have to
compile it yourself if you want it to work, and the older ones also don't
support PCMCIA firewire and a lot of other nice bug fixes. So I had to go
with testing and unstable with is a pile of fun, but its still easier to use
than RedHat. The Knoppix installer is pretty nice and makes Debian a lot
easier to get going, although this libc6-dev bug is pretty silly and not
easy to fix.
Wayne Piekarski - Researcher / Lecturer pho: +61-8-8302-3669
Assistant Director - Wearable Computer Lab mob: +61-407-395-889
School of Computer and Information Science ema: wayne@c ..............
University of South Australia www: http://www.tinmith.net
> -----Original Message-----
> From: owner-artoolkit@h .................. [mailto:owner-
> artoolkit@h ..................] On Behalf Of Andreas, Hupfer
> Sent: Thursday, 20 November 2003 6:56 PM
> To: artoolkit@h ..................
> Subject: Artoolkit on Linux Debian Sid
> I running a Linux debian Sid installation. I try to install Artoolkit
> version 2.65 but the following error appears:
> /usr/include/linux/time.h:9: error: redefinition of `struct timespec'
> /usr/include/linux/time.h:15: error: redefinition of `struct timeval'
> make: *** [../../libARgsubUtil.a(gsubUtil.o)] Error 1
> make: Leaving directory `/usr/src/ARToolKit2.61/lib/SRC/Gl'
> make: *** [all] Error 2
> make: Leaving directory `/usr/src/ARToolKit2.61/lib/SRC'
> make: *** [all] Error 2
> kernel version is 2.4.22
> gcc version 3.3.2
> libc6 version 2.3.2
> i hope somebody can help me
> Andreas Hupfer
> andreas@h ........