Error compiling Samba
Jim Duey
jduey at ccc-dcs.com
Thu Jul 12 18:03:30 GMT 2001
Hello,
I've been trying to cross compile Samba targeting the PowerPC 405GP
embedded processor. The compile proceeds until it gets to
source/smbd/vfs-wrap.c in function vfs_ftruncate(). I've included the
first part of that function below. In config.h, WITH_PROFILE is
undefined and HAVE_FTRUNCATE_EXTEND is undefined. Since WITH_PROFILE is
undefined, "START_PROFILE(syscall_ftruncate);" evaluates to ";" by the
preprocessor. This lone ; causes the compiler to halt with the
following error.
/home/jim/archive/samba-2.2.0a/source/smbd/vfs-wrap.c: In function
`vfswrap_ftruncate':
/home/jim/archive/samba-2.2.0a/source/smbd/vfs-wrap.c:494: parse error
before `struct'
/home/jim/archive/samba-2.2.0a/source/smbd/vfs-wrap.c:499: `currpos'
undeclared (first use in this function)
/home/jim/archive/samba-2.2.0a/source/smbd/vfs-wrap.c:499: (Each
undeclared identifier is reported only once
/home/jim/archive/samba-2.2.0a/source/smbd/vfs-wrap.c:499: for each
function it appears in.)
/home/jim/archive/samba-2.2.0a/source/smbd/vfs-wrap.c:499: `vfs_ops'
undeclared (first use in this function)
/home/jim/archive/samba-2.2.0a/source/smbd/vfs-wrap.c:508: `st'
undeclared (first use in this function)
/home/jim/archive/samba-2.2.0a/source/smbd/vfs-wrap.c:534: `c'
undeclared (first use in this function)
Commenting out this line allows the compiler to get past this error. (It
has another error but I'll post another message for that) Placing a
lone ; anywhere before the 'struct vfs_obs' line causes the same error.
Removing the ';' from 'START_PROFILE(syscall_ftruncate)' also works.
The compiler version is gcc 2.95.2. I can work around this problem for
myself, but I'd like to know the 'official' answer to this problem.
Thanks,
Jim
int vfswrap_ftruncate(files_struct *fsp, int fd, SMB_OFF_T len)
{
int result = -1;
START_PROFILE(syscall_ftruncate);
#ifdef HAVE_FTRUNCATE_EXTEND
result = sys_ftruncate(fd, len);
END_PROFILE(syscall_ftruncate);
return result;
#else
/* According to W. R. Stevens advanced UNIX prog. Pure 4.3 BSD cannot
extend a file with ftruncate. Provide alternate implementation
for this */
struct vfs_ops *vfs_ops = &fsp->conn->vfs_ops;
SMB_STRUCT_STAT st;
More information about the samba-technical
mailing list