CVS Compile error, not sure if comedi is happy after a workaround

Hi all,
It seems that my opteron machine doesn't want to run comedi because of a 
     hardware issue, so I've been trying out comedi on an older machine 
of mine (a single 1.1GHz Athlon Thunderbird, PCI-33MHz ports, mandrake 
9.2, gcc 3.3.1, etc.). I installed comedi 0.7.70 on an unmodified 
vanilla 2.4.22 kernel yesterday, and the whole thing seemed to work 
great. No compile errors, dmesg looked good, and comedi_test ran great.

Next I wanted to get comedi working with rtai, so today I installed rtai 
3.1r2 on an adeos r16 patched vanilla 2.4.22 kernel, and rtai seems to 
work great. Then I tried to install comedi, hoping it would work with 
rtai, and that's when my troubles started. After sucessfully configuring 
comedi, I ran make, which aborted with the following build log:

--------------------------------------------------------------------
[root_at_localhost comedi-0.7.70]# make
make  all-recursive
make[1]: Entering directory `/opt/comedi-0.7.70'
Making all in comedi
make[2]: Entering directory `/opt/comedi-0.7.70/comedi'
Making all in .
make[3]: Entering directory `/opt/comedi-0.7.70/comedi'
if gcc -DHAVE_CONFIG_H -I. -I. -I..    -I../include/ -DKBUILD_MODNAME=comedi
-DKBUILD_BASENAME=comedi_fops -D__KERNEL__
-I/usr/src/linux-2.4.22-adeos/include -Wall -Wstrict-prototypes 
-Wno-trigraphs
-O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe
-mpreferred-stack-boundary=2 -march=athlon -DMODULE -DMODULE
-D__MODULE_KERNEL_athlon=1 -D__BOOT_KERNEL_ENTERPRISE=0 -D__BOOT_KERNEL_UP=1
-D__BOOT_KERNEL_SMP=0 -D__BOOT_KERNEL_BIGMEM=0 -D__BOOT_KERNEL_HUGEMEM=0
-I/usr/realtime/include  -g -O2 -MT comedi_ko-comedi_fops.o -MD -MP -MF
".deps/comedi_ko-comedi_fops.Tpo" -c -o comedi_ko-comedi_fops.o `test -f
'comedi_fops.c' || echo './'`comedi_fops.c; \
then mv -f ".deps/comedi_ko-comedi_fops.Tpo" 
".deps/comedi_ko-comedi_fops.Po";
else rm -f ".deps/comedi_ko-comedi_fops.Tpo"; exit 1; fi
In file included from /usr/realtime/include/rtai_types.h:23,
                  from /usr/realtime/include/asm/rtai_hal.h:41,
                  from /usr/realtime/include/asm/rtai.h:20,
                  from /usr/realtime/include/rtai.h:26,
                  from ../include/linux/comedi_rt.h:43,
                  from ../include/linux/comedidev.h:395,
                  from comedi_fops.c:44:
/usr/realtime/include/rtai_wrappers.h:51: error: redefinition of 
`irqreturn_t'
../include/linux/interrupt.h:25: error: `irqreturn_t' previously 
declared here
make[3]: *** [comedi_ko-comedi_fops.o] Error 1
make[3]: Leaving directory `/opt/comedi-0.7.70/comedi'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/comedi-0.7.70/comedi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/comedi-0.7.70'
make: *** [all] Error 2
-------------------------------------------------------------------

I then downloaded, configured (after upgrading to automake 1.7.6 and 
autoconf 2.57), and ran make on CVS, but obtained the same result.

To try to get things going, I commented out "typedef void irqreturn_t" 
in $rtai-installdir/include/rtai_wrappers.h, which allowed comedi to 
build and install (after which I built and installed comedilib CVS, 
which threw a bunch of compile errors when trying to build everything in 
the /docs directory, which I addressed by removing docs from the 
Makefile SUBDIRS), but I'm not sure if the resulting installation is 
behaving right. For one thing, the results of comedi_test throw a good 
number more errors than the results for the NI PCI-6052 as listed in CVS 
comedilib/testing/results. Also, I get this dmesg after I run 
comedi_config /dev/comedi0 ni_pcimio:

--------------------------------------------------------------
Spurious 8259A interrupt: IRQ7.
Adeos: Domain RTAI registered.
RTAI[hal]: 3.1r2 mounted over Adeos 2.4r16/x86.
RTAI[hal]: compiled with gcc version 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk).
comedi: version 0.7.70 - David Schleef <ds_at_schleef.org>
rt_pend_tq: RT bottom half scheduler initialized OK
RTAI[malloc]: kmalloced extent d9880000, size 131072.
RTAI[malloc]: loaded (global heap size=131072 bytes).
RTAI[sched_up]: loaded.
RTAI[sched_up]: fpu=yes, timer=periodic.
RTAI[sched_up]: standard tick=100 hz, CPU freq=1100084000 hz.
RTAI[sched_up]: timer setup=2010 ns, resched latency=2688 ns.
Available NI device IDs: 0x18b0
comedi0: ni_pcimio: pci-6052e<6>PCI: Found IRQ 11 for device 00:09.0
PCI: Sharing IRQ 11 with 00:13.0
MITE:0xdf003000 mapped to e08d5000 DAQ:0xdf000000 mapped to e08d7000
  ( irq = 11 )comedi: cannot get unshared interrupt, will not use RT 
interrupts.
----------------------------------------------------------------

 From what lspci says, 00:09.0 and 00:13.0 are the following:

----------------------------------------------------------------
00:09.0 Class ff00: National Instruments: Unknown device 18b0
00:13.0 Unknown mass storage controller: Triones Technologies, Inc.
HPT366/368/370/370A/372 (rev 03)
----------------------------------------------------------------

Does anyone have any thoughts about what's going on with either the 
compile error or that last line of dmesg? I'm guessing any problem 
caused in the installation stems from the removal of the typedef of 
irqreturn_t in rtai_wrappers.h, but I have no idea of what this variable 
does, beyond that, or where it is previously (mistakenly?) defined, if 
that's the real reason it is throwing a compile error.


Regards,
Ryan Hooper
Emory University Biology Dpt.
ryan.hooper_at_emory.edu

Received on 2005-08-02Z19:53:10