[lkml]   [2001]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectPROBLEM: NTFS routine fs/ntfs/unistr.c does not compile
[1.] NTFS  routine fs/ntfs/unistr.c does not compile
[2.] NTFS routine fs/ntfs/unistr.c does not compile: the macro
is not defined. Comparison with Linux 2.4.7 revealed that
1. the pertaining line in unistr.c has changed from 2.4.7 to 2.4.9
2. the macro definition in file fs/ntfs/macros.h for macro min()
been dropped
The solution was straight forward: add the (three-parameter) macro
definition from include/linux/kernel.h to fs/ntfs/macros.h
The patch is added below
[3.] Keywords filesystem, NTFS
[4.] Kernel version 2.4.9
[5.] (none)
[6.] Compilation output for ``make bzImage´´

make[3]: Entering directory `/usr/src/linux-2.4.9/fs/ntfs'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.9/include -Wall
-Wstrict-prototypes -Wno-t
rigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
rred-stack-boundary=2 -march=i686 -DNTFS_VERSION=\"1.1.16\" -c -o
unistr.o un
unistr.c: In function `ntfs_collate_names':
unistr.c:99: warning: implicit declaration of function `min'
unistr.c:99: parse error before `unsigned'
unistr.c:99: parse error before `)'
unistr.c:97: warning: `c1' might be used uninitialized in this function
unistr.c: At top level:
unistr.c:118: parse error before `if'
unistr.c:123: warning: type defaults to `int' in declaration of `c1'
unistr.c:123: `name1' undeclared here (not in a function)
unistr.c:123: warning: data definition has no type or storage class
unistr.c:124: parse error before `if'
make[3]: *** [unistr.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.9/fs/ntfs'

[7.] Environment
[7.1.] Software (add the output of the ver_linux script here)
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

Linux harald 2.4.9 #6 Tue Aug 21 17:14:32 CEST 2001 i686 unknown

Gnu C 2.95.2
Gnu make 3.79.1
util-linux 2.10q
mount 2.11g
modutils 2.4.1
e2fsprogs 1.19
pcmcia-cs 3.1.22
PPP 2.4.0
isdn4k-utils 3.1pre1a
Linux C Library x 1 root root 1382179 Jan 19 2001
Dynamic linker (ldd) 2.2
Procps 2.0.7
Net-tools 1.57
Kbd 1.02
Sh-utils 2.0
Modules Loaded

[X.] The patch is here:

--- linux-2.4.9/fs/ntfs/macros.h.orig Wed Aug 15 10:22:17 2001
+++ linux-2.4.9/fs/ntfs/macros.h Tue Aug 21 17:09:11 2001
@@ -11,6 +11,14 @@
#define NTFS_INO2VOL(ino) (&((ino)->i_sb->u.ntfs_sb))
#define NTFS_LINO2NINO(ino) (&((ino)->u.ntfs_i))

+/* Three parameter min and max macros taken from include/linux/kernel.h
+#ifndef min
+#define min(type,x,y) \
+ ({ type __x = (x), __y = (y); __x < __y ? __x: __y; })
+#define max(type,x,y) \
+ ({ type __x = (x), __y = (y); __x > __y ? __x: __y; })
#define IS_MAGIC(a,b) (*(int*)(a) == *(int*)(b))
#define IS_MFT_RECORD(a) IS_MAGIC((a),"FILE")

Please redspond directly, I am not on the aiases

Dr. Harald von Fellenberg
Senior Consultant Technology Strategy Office
Tel: ++41 1 908 9230 Sun Microsystems (Schweiz) AG
Fax: ++41 1 908 9001 Javastr. 2
Mobile: ++41 79 349 0393 CH-8604 Volketswil
n:von Fellenberg;Harald
title:Senior Consultant
fn:Dr. Harald von Fellenberg
 \ /
  Last update: 2005-03-22 12:57    [W:0.031 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site