Liebe Linux User Group,
ich bin Student an der FH-Offenburg und arbeite zur Zeit gerade an meiner Diplomarbeit. In dieser soll ich einen Treiber für eine Messwerterfassungskarte der Fa. ADDI-DATA entwickeln, welcher die COMEDI- Schnittstelle benutzt (weitere Informationen zu COMEDI: http://stm.lbl.gov/comedi) http://stm.lbl.gov/comedi) .
Leider habe ich noch keine grössere Erfahrung in Linux, dafür jetzt um so grössere bei der Installation der Schnittstelle. Eure Email- Adresse habe ich unter Linux.de gefunden, ich hoffe Ihr könnt mir helfen. Ich arbeite zur Zeit unter SuSE 7.1 mit dem Kernel 2.2.18, die Kernelquellen (linux.rpm unter d3/CD3) sind installiert und es ist mir auch möglich den Kernel zu compilieren. (Kommandos make dep; Make clean, make bzImage). Leider treten bereits bei der compilierung der Module (make modules) Assembler Warnungen auf:
/tmp/ccIaCk3d.s: Assembler messages /tmp/ccIaCk3d.s:X: Warning: Ignoring changed section attributes for .modinfo.
Leider weis ich nicht, wie ich diese Problem beheben kann. Auch wenn ich ein Firmeninternes Modul für Linux compiliere, erscheint der selbe Fehler. Es wäre klasse, wenn ihr mir hierzu auch einige Tips geben könntet. Ich bezweifle nämlich, dass mein System mit solchen Fehlermeldungen richtig installiert ist.
Mein eigentliches Problem ist jedoch die Installation der COMEDI- Schnittstelle:
Ich habe zwei Verzeichnisse erstellt /source/comedi und /source/comedilib unter welchen die *.tar's gespeichert wurden (Version COMEDI: 0.7.59 und COMEDILIB: 0.7.15). Die *.tar's wurden entpackt und als erstes die COMEDILIB mit 'make' installiert. Hierbei gab es keine Probleme. Danach wurde unter COMEDI als erstes 'make' aufgerufen, was ein makefile konfigurierte. Ich habe die Ausgaben als make.log protokolliert. Bei den Punkten in der Mitte wurde nur nach entsprechenden Treibern gefragt. Dies hat jedoch mit Sicherheit keinen Einfluss auf die Funktionalität:
make.log:
sh scripts/Configure Enter location of Linux source tree [/usr/src/linux]: using LINUXDIR=/usr/src/linux Kernel source version is 2.2.18 # # Using defaults found in scripts/config.dist # * * Comedi Features * Trig compatibility (say yes) (CONFIG_COMEDI_TRIG) [N/y/?] (NEW) Verbose Debugging (CONFIG_COMEDI_DEBUG) [Y/n/?] Kernel Comedilib (CONFIG_COMEDI_KLIB) [M/n/?] * * Hardware device drivers * Data Translation boards (CONFIG_COMEDI_DT) [Y/n/?] National Instruments boards (CONFIG_COMEDI_NI) [Y/n/?] AT-MIO E series (CONFIG_COMEDI_NI_ATMIO) [M/n/?]
... ... ...
(NEW) Skeleton driver (CONFIG_COMEDI_SKEL) [M/n/?] Real-time command emulator (timer) (CONFIG_COMEDI_RT_TIMER) [M/n/?] Makefiles for comedi should now be configured. Run 'make dep ; make' to compile, and then 'make install' to install.
If comedi has never been installed on your system, then run 'make dev' to build the device nodes '/dev/comedi*'.
Danach habe ich nochmals 'make' mit der Option 'dev' aufgerufen. Auch dieses Kommando hat ohne Probleme funktioniert, und die vier COMEDI device nodes wurden erstellt. Somit konnte 'make dep ; make' aufgerufen werden. Und hier kamen einige Fehlermeldungen:
'Make dep ; make' Log:
mkdir modules mkdir: cannot create directory `modules': File exists make: [_mod_comedi] Error 1 (ignored) make -C comedi CFLAGS="-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -D__KERNEL__ -I /source/comedi/include -I /usr/src/linux/include -I . -D__MODBUILD__ -DMODULE" MAKING_MODULES=1 modules make[1]: Entering directory `/source/comedi/comedi' ld -r -o comedi.o comedi_fops.o proc.o range.o drivers.o kvmem.o trig.o comedi_ksyms.o make -C drivers modules make[2]: Entering directory `/source/comedi/comedi/drivers' gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -D__KERNEL__ -I /source/comedi/include -I /usr/src/linux/include -I . -D__MODBUILD__ -DMODULE -I ../ -I ./ -c -o das08-old.o das08-old.c das08-old.c: In function `das08_attach': das08-old.c:298: structure has no member named `iosize' das08-old.c: In function `das08_detach': das08-old.c:388: structure has no member named `iosize' make[2]: *** [das08-old.o] Error 1 make[2]: Leaving directory `/source/comedi/comedi/drivers' make[1]: *** [_modsubdir_drivers] Error 2 make[1]: Leaving directory `/source/comedi/comedi' make: *** [_mod_comedi] Error 2
Und wird hiernach das Kommando 'make install' durchgeführt, erscheint diese abschliessende Meldung:
'make install' Kog:
mkdir -p /lib/modules/2.2.18/misc install -d /lib/modules/2.2.18/misc install /lib/modules/2.2.18/misc install: too few arguments Try `install --help' for more information. make: *** [install] Error 1
Ich würde Euch bitten, wenn Ihr irgendwelche Ideen oder Hilfen habt, sie mir unbedingt zu schreiben. Ich wirklich dankbar für jede noch so kleine Winzigkeit. Wie desagt beschränkt sich meine Linuxerfahrung auf etwa 3,5 Monate, was mit Sicherheit ein Teil der Probleme, die ich beschrieben habe, erklärt.
Vielen Dank für Eure Mühen!!
Mit freundlichen Grüssen,
Eric
********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager.
This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses.
**********************************************************************