Hallo,
ich versuche gerade NTFS for Linux von Paragon zu kompilieren. Unter SuSE 8.2 und Mandrake 10 hatte es geklappt. Aber hier will es nicht klappen.
[code:1]# make
echo "I'll get kernel includes from /usr/src/linux/include"
I'll get kernel includes from /usr/src/linux/include
gcc -DMODULE -D__NO_VERSION__ -DNDEBUG -DUFSD_NTFS=1 -DUFSD_NTFS_SECURITY -DUFSD_NTFS_OBJECTID -DUFSD_NTFS_WRITE_ENABLE -DUFSD_DEVICE=ufsd -DUFSD_READONLY=0 -DKBUILD_BASENAME=_ufsdvfs_ -include fs_conf.h -pipe -march=i686 -Wall -mpreferred-stack-boundary=2 -fno-exceptions -Wno-multichar -Wstrict-prototypes -Wno-unknown-pragmas -g0 -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -c -I/usr/src/linux/include ufsdvfs.c -o objfre/vfs/ufsdvfs.o
In file included from /usr/src/linux/include/asm/smp.h:18,
from /usr/src/linux/include/linux/smp.h:17,
from /usr/src/linux/include/linux/sched.h:23,
from /usr/src/linux/include/linux/module.h:10,
from ufsdvfs.c:28:
/usr/src/linux/include/asm/mpspec.h:6:25: mach_mpspec.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/src/linux/include/asm/smp.h:18,
from /usr/src/linux/include/linux/smp.h:17,
from /usr/src/linux/include/linux/sched.h:23,
from /usr/src/linux/include/linux/module.h:10,
from ufsdvfs.c:28:
/usr/src/linux/include/asm/mpspec.h:8: error: `MAX_MP_BUSSES' undeclared here (not in a function)
/usr/src/linux/include/asm/mpspec.h:19: error: `MAX_APICS' undeclared here (not in a function)
/usr/src/linux/include/asm/mpspec.h:20: error: conflicting types for `mp_bus_id_to_type'
/usr/src/linux/include/asm/mpspec.h:8: error: previous declaration of `mp_bus_id_to_type'
/usr/src/linux/include/asm/mpspec.h:22: error: `MAX_IRQ_SOURCES' undeclared here (not in a function)
/usr/src/linux/include/asm/mpspec.h:24: error: `MAX_MP_BUSSES' undeclared here (not in a function)
/usr/src/linux/include/asm/mpspec.h:24: error: conflicting types for `mp_bus_id_to_pci_bus'
/usr/src/linux/include/asm/mpspec.h:12: error: previous declaration of `mp_bus_id_to_pci_bus'
/usr/src/linux/include/asm/mpspec.h:43: error: `MAX_APICS' undeclared here (not in a function)
In file included from /usr/src/linux/include/asm/smp.h:20,
from /usr/src/linux/include/linux/smp.h:17,
from /usr/src/linux/include/linux/sched.h:23,
from /usr/src/linux/include/linux/module.h:10,
from ufsdvfs.c:28:
/usr/src/linux/include/asm/io_apic.h:160: error: `MAX_IRQ_SOURCES' undeclared here (not in a function)
/usr/src/linux/include/asm/io_apic.h:160: error: conflicting types for `mp_irqs'
/usr/src/linux/include/asm/mpspec.h:22: error: previous declaration of `mp_irqs'
In file included from /usr/src/linux/include/linux/smp.h:17,
from /usr/src/linux/include/linux/sched.h:23,
from /usr/src/linux/include/linux/module.h:10,
from ufsdvfs.c:28:
/usr/src/linux/include/asm/smp.h:71:26: mach_apicdef.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/src/linux/include/linux/smp.h:17,
from /usr/src/linux/include/linux/sched.h:23,
from /usr/src/linux/include/linux/module.h:10,
from ufsdvfs.c:28:
/usr/src/linux/include/asm/smp.h: In function `hard_smp_processor_id':
/usr/src/linux/include/asm/smp.h:75: Warnung: implicit declaration of function `GET_APIC_ID'
In file included from ufsdvfs.c:30:
/usr/src/linux/include/linux/blk.h:1:2: Warnung: #warning this file is obsolete, please use <linux/blkdev.h> instead
In file included from /usr/src/linux/include/linux/irq.h:20,
from /usr/src/linux/include/asm/hardirq.h:6,
from /usr/src/linux/include/linux/interrupt.h:11,
from /usr/src/linux/include/asm/highmem.h:24,
from /usr/src/linux/include/linux/highmem.h:14,
from /usr/src/linux/include/linux/pagemap.h:10,
from /usr/src/linux/include/linux/blkdev.h:10,
from /usr/src/linux/include/linux/blk.h:2,
from ufsdvfs.c:30:
/usr/src/linux/include/asm/irq.h:16:25: irq_vectors.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/src/linux/include/asm/hardirq.h:6,
from /usr/src/linux/include/linux/interrupt.h:11,
from /usr/src/linux/include/asm/highmem.h:24,
from /usr/src/linux/include/linux/highmem.h:14,
from /usr/src/linux/include/linux/pagemap.h:10,
from /usr/src/linux/include/linux/blkdev.h:10,
from /usr/src/linux/include/linux/blk.h:2,
from ufsdvfs.c:30:
/usr/src/linux/include/linux/irq.h: At top level:
/usr/src/linux/include/linux/irq.h:70: error: `NR_IRQS' undeclared here (not in a function)
In file included from /usr/src/linux/include/linux/irq.h:72,
from /usr/src/linux/include/asm/hardirq.h:6,
from /usr/src/linux/include/linux/interrupt.h:11,
from /usr/src/linux/include/asm/highmem.h:24,
from /usr/src/linux/include/linux/highmem.h:14,
from /usr/src/linux/include/linux/pagemap.h:10,
from /usr/src/linux/include/linux/blkdev.h:10,
from /usr/src/linux/include/linux/blk.h:2,
from ufsdvfs.c:30:
/usr/src/linux/include/asm/hw_irq.h:28: error: `NR_IRQ_VECTORS' undeclared here (not in a function)
/usr/src/linux/include/asm/hw_irq.h:31: error: `NR_IRQS' undeclared here (not in a function)
ufsdvfs.c:1203: Warnung: initialization from incompatible pointer type
make: *** [objfre/vfs/ufsdvfs.o] Fehler 1[/code:1]
Das war jetzt etwas lang.
Und es bedeutet nur, das die Headerdateien smp.h, mpspec.h, mach_apicdef.h, mach_mpspec.h und irq_vectors.h nicht gefunden werden. Denn diese werden im Verzeichnis /usr/src/linux/include/asm gesucht, befinden sich aber in einem Unterverzeichnis von asm.
Ich hatte bereits das mit Links hingetrickst, und die Kompilierung lief auch durch, aber irgend etwas stimmt noch nicht. Die Windowspartitionen werden zwar gemountet, aber darauf zugreifen kann man nicht.
Vielleicht hatte ich auch nur die Links falsch gesetzt, denn ich hatte nach mach_default gelinkt. Hätte ich vielleicht mach-generic oder mach-bigsmp nehmen sollen?
Dabei tauchte dieses Problem
nicht nur bei diesem Paket auf, sondern auch bei einem ebuild. Leider weiß ich nicht mehr welches, und die Suche im emerge.log war leider auch nicht erfolgreich, da Abbrüche nicht mit einer speziellen Fehlermeldung versehen werden.
Bewölkte Grüße