On Thu, Jun 21, 2001 at 12:25:31PM +0200, Stolz.Eric wrote:
Liebe Linux User Group,
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.
Also, was ich in den Kernelquellen gefunden habe, sind Makros wie das folgende:
#define MODULE_AUTHOR(name) \ const char __module_author[] __attribute__((section(".modinfo"))) = \ "author=" name
Weil es mich so nebenbei auch mal interessieren würde (und dein Problem evtl. löst), Was genau macht die expandierte Form des Makros, v.a. der __attribute__ Teil? Sind das gcc Erweiterungen?
Sowit ich das überflogen habe, wird .modinfo aber nur für Informationen über das Modul benötigt (Author, Kernelversion etc.) Wenn es sich per insmod laden läßt, sollte es schätzungsweise trotzdem gehen.
Mein eigentliches Problem ist jedoch die Installation der COMEDI- Schnittstelle:
[snip]
mkdir modules mkdir: cannot create directory `modules': File exists make: [_mod_comedi] Error 1 (ignored)
Hier hast du wahrscheinlich das 2. Mal make aufgerufen, so daß modules als Verzeichnis schon existierte. Ist also nicht weiter schlimm.
[snip]
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
Das riecht ein wenig nach Programmierfehler. Schreib mal einen Bug-Report (d.h. das, was du uns geschickt hast) an den Entwickler, der in der README oder sonstwo drinsteht. Da der sich mit dem Programm auf jeden Fall besser auskennt, sollte er dir helfen können.
Falls ich es nicht vergesse, Zeit und Lust hab, und das Problem recht oberflächlich ist, schaue ich mir das Programm auch mal an, aber verlaß dich lieber nicht drauf. :)
Und wird hiernach das Kommando 'make install' durchgeführt, erscheint diese abschliessende Meldung:
Wenn die Kompilierung fehlgeschlagen hat, brauchst du make install gar nicht erst zu versuchen. Im besten Fall hast du nur ein halbfertiges Projekt auf deiner Platte.
Mit freundlichen Grüssen,
Eric
cu, Ulf