Compiling smbd/chgpasswd.c --- smbd/files.o --- cc-1005 cc: ERROR File = include/includes.h, Line = 988 The source file "proto.h" is unavailable. #include "proto.h" ^ 1 catastrophic error detected in the compilation of "smbd/files.c". Compilation terminated. *** Error code 2
--- SHOWFLAGS --- Using FLAGS = -O -D_SAMBA_BUILD_ -I./popt -Iinclude -I/home/ncac/jason/ports/samba/ samba3_release/source/include -I/home/ncac/jason/ports/samba/samba3_release/source/ubiqx -I. - I/opt/include -I/home/ncac/jason/ports/samba/samba3_release/source --- include/wrepld_proto.h --- Building include/wrepld_proto.h --- nsswitch/winbindd_proto.h --- creating /home/ncac/jason/ports/samba/samba3_release/source/nsswitch/winbindd_proto.h --- SHOWFLAGS --- LIBS = -lexc -liconv LDSHFLAGS = -set_version sgi1.0 -shared -L/opt/lib32 LDFLAGS = -L/opt/lib32 PIE_CFLAGS = PIE_LDFLAGS = --- web/swat_proto.h --- creating /home/ncac/jason/ports/samba/samba3_release/source/web/swat_proto.h --- include/wrepld_proto.h --- creating /home/ncac/jason/ports/samba/samba3_release/source/include/wrepld_proto.h --- client/client_proto.h --- creating /home/ncac/jason/ports/samba/samba3_release/source/client/client_proto.h --- utils/net_proto.h --- creating /home/ncac/jason/ports/samba/samba3_release/source/utils/net_proto.h --- include/build_env.h --- Building include/build_env.h --- smbd/build_options.c --- Generating smbd/build_options.c
This happens when, smake clean smake are run. If, smake clean smake headers smake is used, everything works as usual.
I always do "make proto && make" and always thought that was the one true way of building samba. I don't think the dependency checking is clever enough to know when proto.h needs to be rebuilt.
The header file dependency checking is particularly stupid. I'm not sure it's worth putting in the hacks necessary to fix it. I'm pushing to change to a non-make based dependency checking tool which gets this right (i.e SCons).
We don't really have the resources to support build tools that aren't either GNU make or the default vendor make.