You seem to be mixing up SDPParser.h and SDPContext.h -- but MVFS file system are not posix compatible -- I ran into this when I tried to diff two trees...
You can just use snapshot views? (Or don't use clearcase ;-)) I suppose having a VPATH across two views will cause problems... Supposedly this has been fixed: (from gnu diff system.h: /* Do struct stat *S, *T have the same file attributes? POSIX says that two files are identical if st_ino and st_dev are the same, but many filesystems incorrectly assign the same (device, inode) pair to two distinct files, including: - GNU/Linux NFS servers that export all local filesystems as a single NFS filesystem, if a local device number (st_dev) exceeds 255, or if a local inode number (st_ino) exceeds 16777215. - Network Appliance NFS servers in snapshot directories; see Network Appliance bug #195. - ClearCase MVFS; see bug id ATRia04618. marty Richard Sharman <[EMAIL PROTECTED]> writes on Sun, 13 Jan 2008 16:20:2 3 EST > > --w+3wPgj7G4 > Content-Type: text/plain; charset=us-ascii > Content-Description: message body text > Content-Transfer-Encoding: 7bit > > The Linux version of the MVFS file-system from Clearcase can present > the same inode and dev numbers for a directory in different views. > (We do not see the same problem on the sparc mvfs.) > > This can cause make to produce incorrect results when two or more > clearcase view directories appear in the VPATH list. > > This little makefile demonstrates the problem: > > ------------------------------------------------------------------------ > VPATH := /view/sharman_Platform_Services/vobs /view/sharman_MediaServer_1.0/vobs > > junk : junk.c NETSVC/NS_Inc/SDPContext.h > wc -l $^ > ------------------------------------------------------------------------ > > The file NETSVC/NS_Inc/SDPParser.h does not occur in the first vpath > directory, but does occur in the second. (The directory NETSVC/NS_Inc > exists in the first directory but is empty.) > > $ make -f make1 > make: *** No rule to make target `NETSVC/NS_Inc/SDPContext.h', needed by `junk'. Stop. > $ > > > I think that because both the directories have the same inode & dev > combination, when make finds that the file does not occur in the first > directory when it comes to the second one it thinks it has already > processed it. > > The program filenumber does a stat and prints the inode number, the > dev number and the ctime number. It demonstrates the fact that the > two directories incorrectly have the same inode & dev numbers: > > $ V1=/view/sharman_Platform_Services/vobs/NETSVC/NS_Inc > $ V2=/view/sharman_MediaServer_1.0/vobs/NETSVC/NS_Inc > $ filenumber $V1 $V2 > /view/sharman_Platform_Services/vobs/NETSVC/NS_Inc device=64608 inode=3544 ctime=1032294808 > /view/sharman_MediaServer_1.0/vobs/NETSVC/NS_Inc device=64608 inode=3544 ctime=1177967845 > $ ls $V1/SDPContext.h $V2/SDPContext.h > ls: /view/sharman_Platform_Services/vobs/NETSVC/NS_Inc/SDPContext.h: No such file or directory > /view/sharman_MediaServer_1.0/vobs/NETSVC/NS_Inc/SDPContext.h > $ > > > I was able to overcome the problem by adding a check of the files' > ctimes as well as their inode and dev numbers. > > $ ~/make-3.81/x86-linux/make -f make1 > wc -l junk.c /view/sharman_MediaServer_1.0/vobs/NETSVC/NS_Inc/SDPContext .h > 0 junk.c > 31 /view/sharman_MediaServer_1.0/vobs/NETSVC/NS_Inc/SDPContext.h > 31 total > $ > > > Here is a patch against make 3.81 > _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make