- From: Ryan Hooper <ryan.hooper_at_emory.edu>
- Date: Tue, 02 Aug 2005 16:53:10 -0400
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