2.5.17: hfs no go
subject sez it all:
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=trans -c -o trans.o trans.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=version -c -o version.o version.c
ld -m elf_i386 -r -o hfs.o balloc.o bdelete.o bfind.o bins_del.o binsert.o bitmap.o bitops.o bnode.o brec.o btree.o catalog.o dir.o dir_cap.o dir_dbl.o dir_nat.o extent.o file.o file_cap.o file_hdr.o inode.o mdb.o part_tbl.o string.o super.o sysdep.o trans.o version.o
ld: cannot open inode.o: No such file or directory
make[2]: Leaving directory `/usr/src/linux-2.5.15/fs/hfs'
# File systems
#CONFIG_REISERFS_FS=mCONFIG_EXT3_FS=yCONFIG_JBD=yCONFIG_JBD_DEBUG=yCONFIG_FAT_FS=mCONFIG_MSDOS_FS=mCONFIG_VFAT_FS=mCONFIG_TMPFS=yCONFIG_RAMFS=yCONFIG_ISO9660_FS=mCONFIG_JOLIET=yCONFIG_ZISOFS=yCONFIG_MINIX_FS=mCONFIG_PROC_FS=yCONFIG_DEVFS_FS=yCONFIG_DEVFS_MOUNT=yCONFIG_DEVFS_DEBUG=yCONFIG_DEVPTS_FS=yCONFIG_EXT2_FS=y
Signature · 4 lines
Brad Littlejohn | Email: [email protected] Unix Systems Administrator, | [email protected] Web + NewsMaster, BOFH.. Smeghead! :) | http://www.wizard.com/~tyketto PGP: 1024D/E319F0BF 6980 AAD6 7329 E9E6 D569 F620 C819 199A E319 F0BF
Quoted 13 lines · A Guy Called Tyketto
subject sez it all:
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes
(quoted diff) +0
-4-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=trans -c -o trans.o trans.cgcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes
(quoted diff) +0
-4-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=version -c -o version.o version.c
Quoted 6 lines
ld -m
elf_i386-r -o hfs.o balloc.o bdelete.o bfind.o bins_del.o binsert.o bitmap.o bitops.o bnode.o brec.o btree.o catalog.o dir.o dir_cap.o dir_dbl.o dir_nat.o extent.o file.o file_cap.o file_hdr.o inode.o mdb.o part_tbl.o string.o super.o sysdep.o trans.o version.o
ld: cannot open inode.o: No such file or directory
make[2]: Leaving directory `/usr/src/linux-2.5.15/fs/hfs'
Sorry.. left out the important part. here's the bulk of the compile
leading to the problem:
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=file_hdr -c -o file_hdr.o file_hdr.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=inode -c -o inode.o inode.cinode.c: In function `hfs_prepare_write':
inode.c:242: dereferencing pointer to incomplete type
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=mdb -c -o mdb.o mdb.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=part_tbl -c -o part_tbl.o part_tbl.c
.
.
.
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=sysdep -c -o sysdep.o sysdep.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=trans -c -o trans.o trans.c
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=version -c -o version.o version.c
ld -m elf_i386 -r -o hfs.o balloc.o bdelete.o bfind.o bins_del.o binsert.o bitmap.o bitops.o bnode.o brec.o btree.o catalog.o dir.o dir_cap.o dir_dbl.o dir_nat.o extent.o file.o file_cap.o file_hdr.o inode.o mdb.o part_tbl.o string.o super.o sysdep.o trans.o version.o
ld: cannot open inode.o: No such file or directory
make[2]: Leaving directory `/usr/src/linux-2.5.15/fs/hfs'
Signature · 4 lines
Brad Littlejohn | Email: [email protected] Unix Systems Administrator, | [email protected] Web + NewsMaster, BOFH.. Smeghead! :) | http://www.wizard.com/~tyketto PGP: 1024D/E319F0BF 6980 AAD6 7329 E9E6 D569 F620 C819 199A E319 F0BF
Quoted 2 lines · A Guy Called Tyketto
subject sez it all:
You might want to add a
#include <linux/pagemap.h>
to fs/hfs/inode.c
Review
Quoted 12 lines · A Guy Called Tyketto
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes
(quoted diff) +0
-4-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=inode -c -o inode.o inode.c
inode.c: In function `hfs_prepare_write':
inode.c:242: dereferencing pointer to incomplete type
gcc -D__KERNEL__ -I/usr/src/linux-2.5.15/include -Wall -Wstrict-prototypes(quoted diff) +0
-4-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.5.15/include/linux/modversions.h -DKBUILD_BASENAME=mdb -c -o mdb.o mdb.c
Okay, I think Christoph Hellwig already gave you the right hint on how to fix the actual problem in inode.c.
However, this snippet also shows a glitch I introduced, i.e. make wouldn't stop the build on error immediately, as it used to.
So here's the fix for that one.
--Kai
# --------------------------------------------
# 02/05/21 [email protected] 1.584
# kbuild: Stop immediately on error
#
# This patch restores the previous behavior of stopping the build
# immediately on error (unless the -k option is given to make) # -------------------------------------------- # diff -Nru a/Rules.make b/Rules.make --- a/Rules.make Tue May 21 09:08:38 2002 +++ b/Rules.make Tue May 21 09:08:38 2002 @@ -380,5 +380,5 @@ if_changed = $(if $(strip $? \ $(filter-out $($(1)),$(cmd_$(@F)))\ $(filter-out $(cmd_$(@F)),$($(1)))),\ - @echo $($(1)); $($(1)); echo 'cmd_$(@F) := $($(1))' > $(@D)/.$(@F).cmd) + @echo $($(1)); $($(1)) || exit $$?; echo 'cmd_$(@F) := $($(1))' > $(@D)/.$(@F).cmd)