[Samba] trouble with make/VPATH

David Byron DByron at telecomsys.com
Fri Apr 28 21:54:49 GMT 2006


I've got a tough to track down problem that seems to be samba related.

I've got a directory structure like this:

topdir/
  lib1/src
  lib1/include
  lib2/src
  lib2/include
  etc.

Each src directory has a makefile in it.  VPATH is set to ../include.
I'm running cygwin bash and make.  In some directories, make can't find
files in ../include.  In other directories, make finds everything fine.

The same makefiles work fine (i.e. make finds include files in all
directories) when I run them on both a linux and solaris box.

They run fine when running on cygwin on a local hard drive.

They run fine when running against samba 2.2.2 on

$ uname -a
SunOS <my host> 5.8 Generic_108528-16 sun4u sparc SUNW,UltraAX-i2

But, running against samba 3.0.10 on

$ uname -a
SunOS <my busted host> 5.8 Generic_117350-26 sun4u sparc SUNW,Ultra-60

I have trouble.

I tried making a simple makefile to reproduce this and of course I
can't.  But, with my normal makefile setup, it's 100% repeatable.  The
permissions on the broken directories appear to be the same as the
permissions on the working directories.

I turned the debug level to 2 and collected a log file.  The part of it
that looks interesting to me is:

[2006/04/28 13:49:47, 3] smbd/trans2.c:call_trans2qfilepathinfo(2380)
  call_trans2qfilepathinfo dbyron/src/main/csfaccess/libnamestd/include
(fnum = -1) level=1004 call=5 total_data=0
[2006/04/28 13:49:47, 3] smbd/process.c:process_smb(1091)
  Transaction 10556912 of length 180
[2006/04/28 13:49:47, 3] smbd/process.c:switch_message(886)
  switch message SMBntcreateX (pid 11336) conn 0x3181a8
[2006/04/28 13:49:47, 3] smbd/dosmode.c:unix_mode(111)
  unix_mode(dbyron/src/main/csfaccess/libnamestd/include) returning 0744
[2006/04/28 13:49:47, 3] smbd/process.c:process_smb(1091)
  Transaction 10556913 of length 76
[2006/04/28 13:49:47, 3] smbd/process.c:switch_message(886)
  switch message SMBtrans2 (pid 11336) conn 0x3181a8
[2006/04/28 13:49:47, 3] smbd/trans2.c:call_trans2qfilepathinfo(2291)
  call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1006
[2006/04/28 13:49:47, 3] smbd/trans2.c:call_trans2qfilepathinfo(2380)
  call_trans2qfilepathinfo dbyron/src/main/csfaccess/libnamestd/include
(fnum = 11360) level=1006 call=7 total_data=0
[2006/04/28 13:49:47, 3] smbd/process.c:process_smb(1091)
  Transaction 10556914 of length 76
[2006/04/28 13:49:47, 3] smbd/process.c:switch_message(886)
  switch message SMBtrans2 (pid 11336) conn 0x3181a8
[2006/04/28 13:49:47, 3] smbd/trans2.c:call_trans2qfilepathinfo(2291)
  call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1004
[2006/04/28 13:49:47, 3] smbd/trans2.c:call_trans2qfilepathinfo(2380)
  call_trans2qfilepathinfo dbyron/src/main/csfaccess/libnamestd/include
(fnum = 11360) level=1004 call=7 total_data=0
[2006/04/28 13:49:47, 3] smbd/process.c:process_smb(1091)
  Transaction 10556915 of length 76
[2006/04/28 13:49:47, 3] smbd/process.c:switch_message(886)
  switch message SMBtrans2 (pid 11336) conn 0x3181a8
[2006/04/28 13:49:47, 3] smbd/trans2.c:call_trans2qfilepathinfo(2291)
  call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1005
[2006/04/28 13:49:47, 3] smbd/trans2.c:call_trans2qfilepathinfo(2380)
  call_trans2qfilepathinfo dbyron/src/main/csfaccess/libnamestd/include
(fnum = 11360) level=1005 call=7 total_data=0
[2006/04/28 13:49:47, 3] smbd/process.c:process_smb(1091)
  Transaction 10556916 of length 76
[2006/04/28 13:49:47, 3] smbd/process.c:switch_message(886)
  switch message SMBtrans2 (pid 11336) conn 0x3181a8
[2006/04/28 13:49:47, 3] smbd/trans2.c:call_trans2qfilepathinfo(2291)
  call_trans2qfilepathinfo: TRANSACT2_QFILEINFO: level = 1007
[2006/04/28 13:49:47, 3] smbd/trans2.c:call_trans2qfilepathinfo(2380)
  call_trans2qfilepathinfo dbyron/src/main/csfaccess/libnamestd/include
(fnum = 11360) level=1007 call=7 total_data=0
[2006/04/28 13:49:47, 3] smbd/process.c:process_smb(1091)
  Transaction 10556917 of length 45
[2006/04/28 13:49:47, 3] smbd/process.c:switch_message(886)
  switch message SMBclose (pid 11336) conn 0x3181a8
[2006/04/28 13:49:47, 3] smbd/reply.c:reply_close(2758)
  close directory fnum=11360

>From here, make realizes it can't find the file and uses some built-in
rules to invoke RCS which I'm not using.

I'm working on upgrading to version 3.0.22 but it's going to take a few
days.  There wasn't anything in the release notes that seemed related to
me, but maybe someone else knows more.

If it's helpful, I'm connecting from a Windows XP Pro machine with:

$ uname -a
CYGWIN_NT-5.1 DByron 1.5.19(0.150/4/2) 2006-01-20 13:28 i686 Cygwin

$ make --version
GNU Make 3.80

Thanks much for your help tracking this down.

-DB


More information about the samba mailing list