Das hätte ich vielleicht dazusagen sollen...
Als ich den Screenshot gemacht habe, hatte ich aus einem Kernel die io.h rauskopiert und nach /usr/include gepackt - da hat er sie halt gefunden, aber das kann ja nicht Sinn und Zweck sein...
Interessant ist ja auch dass beim include der io.h im Verzeichnis asm selbiges (asm) als Keyword markiert wird.
Da ich die Datei inzwischen wieder aus /usr/include entfernt habe, bekomme ich das hier:
**** Build of configuration Debug for project ParallelPort ****
make -k all
Building file: ../ParallelPort.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"ParallelPort.d" -MT"ParallelPort.d" -o"ParallelPort.o" "../ParallelPort.c"
../ParallelPort.c:3:20: warning: asm/io.h: No such file or directory
../ParallelPort.c: In Funktion »main«:
../ParallelPort.c:10: Warnung: Implizite Deklaration der Funktion »ioperm«
../ParallelPort.c:10: Warnung: Implizite Deklaration der Funktion »exit«
../ParallelPort.c:10: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »exit«
../ParallelPort.c:13: Warnung: Implizite Deklaration der Funktion »outb«
../ParallelPort.c:19: Warnung: Implizite Deklaration der Funktion »inb«
../ParallelPort.c:22: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »exit«
../ParallelPort.c:24: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »exit«
Finished building: ../ParallelPort.c
Building target: ParallelPort
Invoking: GCC C Linker
gcc -o"ParallelPort" ./ParallelPort.o
./ParallelPort.o: In function `main':
/home/christian/Workspace/ParallelPort/Debug/../ParallelPort.c:13: undefined reference to `outb'
/home/christian/Workspace/ParallelPort/Debug/../ParallelPort.c:19: undefined reference to `inb'
collect2: ld gab 1 als Ende-Status zurück
make: *** [ParallelPort] Fehler 1
make: Das Target »all« wurde wegen Fehlern nicht aktualisiert.
Build complete for project ParallelPort
Wo ja explizit steht "no such file or directory".
Ausführen kann ich es im Moment gar nicht.
Ich weiss leider nicht mehr woher ich die io.h hatte als ich das Bildschirmfoto gemacht habe, aber ja, es sieht danach aus, als ob der Inhalt dieser Datei problematisch ist. Deswegen hab ich sie jetzt auch wieder rausgelöscht.
Hier mal die Ausgabe des locate Kommandos:
locate io.h | grep "/io.h$"
/usr/src/linux-headers-2.6.20-16-generic/include/linux/io.h
/usr/src/linux-headers-2.6.20-16-generic/include/config/net/ipg/io.h
/usr/src/linux-headers-2.6.20-16/include/linux/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-m68knommu/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-powerpc/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sh/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sh/sh03/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sh/bigsur/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sh/ec3104/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sh/mpc1211/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sh/hd64465/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sh/saturn/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-um/io.h
/usr/src/linux-headers-2.6.20-16/include/config/net/ipg/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-parisc/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-x86_64/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-xtensa/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-alpha/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm26/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-avr32/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-h8300/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sparc/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-i386/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-cris/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-cris/arch-v10/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-cris/arch-v32/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-m32r/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-ia64/sn/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-ia64/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-m68k/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-mips/sn/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-mips/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-s390/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-v850/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sh64/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-cl7500/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-ep93xx/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-s3c2410/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-iop32x/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-iop33x/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-ixp4xx/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-netx/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-omap/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-sa1100/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-versatile/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-integrator/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-iop13xx/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-pnx4008/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-imx/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-pxa/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-rpc/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-h720x/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-ixp2000/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-l7200/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-ixp23xx/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-shark/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-realview/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-ebsa110/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-ebsa285/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-lh7a40x/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-at91rm9200/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-clps711x/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-arm/arch-aaec2000/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-frv/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-ppc/io.h
/usr/src/linux-headers-2.6.20-16/include/asm-sparc64/io.h
/usr/include/sys/io.h
Dass es die Datei irgendwo gibt, bezweifle ich gar nicht. Ich finde es lediglich seltsam dass ich die nicht in /usr/include liegen habe...