[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#664612: wu-ftpd: FTBFS[kfreebsd]: error: 'struct dqblk64' has no member named 'dqb_fhardlimit'



reassign 664612 kfreebsd-kernel-headers 0.78
tags 664612 + patch
thanks

Hi,

Actually something in ufs/quota.h was causing a configure testcase --
for quota type -- to reach the wrong result ('file' instead of 'inode'
quotas;  config.log excerpt below).

The configure testcase includes sys/types.h before ufs/quota.h.  But
both u_int32_t and uint32_t are used there.

The attached patch hunk fixes this if appended to 004_stdint_h.diff.

> configure:6135: checking whether quota support is file- or inode based
> configure:6182: i486-kfreebsd-gnu-gcc -c -g -Wall -D_FILE_OFFSET_BITS=64  -O2  conftest.c >&5
> In file included from conftest.c:126:0:
> /usr/include/ufs/ufs/quota.h:129:2: error: unknown type name 'uint32_t'
> /usr/include/ufs/ufs/quota.h:130:2: error: unknown type name 'uint32_t'
> /usr/include/ufs/ufs/quota.h:131:2: error: unknown type name 'uint32_t'
> conftest.c: In function 'main':
> conftest.c:132:6: warning: unused variable 'f' [-Wunused-variable]
> configure:6182: $? = 1
> configure: failed program was:
> | /* confdefs.h */
> | #define PACKAGE_NAME ""
> | #define PACKAGE_TARNAME ""
> | #define PACKAGE_VERSION ""
> | #define PACKAGE_STRING ""
> | #define PACKAGE_BUGREPORT ""
> | #define PACKAGE_URL ""
> | #define STDC_HEADERS 1
> | #define TIME_WITH_SYS_TIME 1
> | #define AUTOCONF 1
> | #define HAVE_SYS_TYPES_H 1
> | #define HAVE_SYS_STAT_H 1
> | #define HAVE_STDLIB_H 1
> | #define HAVE_STRING_H 1
> | #define HAVE_MEMORY_H 1
> | #define HAVE_STRINGS_H 1
> | #define HAVE_INTTYPES_H 1
> | #define HAVE_STDINT_H 1
> | #define HAVE_UNISTD_H 1
> | #define HAVE_DIRENT_H 1
> | #define HAVE_REGEX_H 1
> | #define HAVE_SHADOW_H 1
> | #define HAVE_SECURITY_PAM_APPL_H 1
> | #define HAVE_SYSLOG_H 1
> | #define HAVE_SYS_SYSLOG_H 1
> | #define HAVE_FCNTL_H 1
> | #define HAVE_MNTENT_H 1
> | #define HAVE_STDLIB_H 1
> | #define HAVE_UNISTD_H 1
> | #define HAVE_GLOB_H 1
> | #define HAVE_GRP_H 1
> | #define HAVE_SYS_DIR_H 1
> | #define HAVE_STRING_H 1
> | #define HAVE_BSD_BSD_H 1
> | #define HAVE_SYS_PARAM_H 1
> | #define HAVE_VALUES_H 1
> | #define HAVE_LIMITS_H 1
> | #define HAVE_SYS_TYPES_H 1
> | #define HAVE_PATHS_H 1
> | #define HAVE_DIRFD 1
> | #define HAVE_FCHDIR 1
> | #define HAVE_FLOCK 1
> | #define HAVE_FTW 1
> | #define HAVE_GETCWD 1
> | #define HAVE_GETDTABLESIZE 1
> | #define HAVE_LSTAT 1
> | #define HAVE_VPRINTF 1
> | #define HAVE_SNPRINTF 1
> | #define HAVE_REGEXEC 1
> | #define HAVE_FGETSPENT 1
> | #define HAVE_GETUSERSHELL 1
> | #define HAVE_SETUID 1
> | #define HAVE_VSNPRINTF 1
> | #define HAVE_SNPRINTF 1
> | #define HAVE_STRCASESTR 1
> | #define HAVE_STRDUP 1
> | #define HAVE_STRERROR 1
> | #define HAVE_STRSEP 1
> | #define HAVE_STRSTR 1
> | #define HAVE_SYSLOG 1
> | #define HAVE_GLOB 1
> | #define HAVE_STRCASECMP 1
> | #define HAVE_STRNCASECMP 1
> | #define HAVE_SIGPROCMASK 1
> | #define HAVE_QUOTACTL 1
> | #define HAVE_GETRLIMIT 1
> | #define HAVE_SYSCONF 1
> | #define HAVE_SETSID 1
> | #define HAVE_MEMMOVE 1
> | #define HAVE_STRTOUL 1
> | #define HAVE_SETEUID 1
> | #define HAVE_SETEGID 1
> | #define HAVE_SIGLIST 1
> | #define QSORT_IS_VOID 1
> | #define NEED_VALUES_H 1
> | #define NBBY BITSPERBYTE
> | #define FACILITY LOG_FTP
> | #define HAVE_UT_UT_HOST 1
> | #define HAVE_UT_UT_EXIT_E_TERMINATION 1
> | #define HAVE_ST_BLKSIZE 1
> | #define GR_GID_FORMAT "u"
> | #define PW_UID_FORMAT "u"
> | #define L_FORMAT "qd"
> | #define T_FORMAT "u"
> | #define HAVE_SETUID 1
> | #define UPLOAD 1
> | #define OVERWRITE 1
> | #define HOST_ACCESS 1
> | #define LOG_FAILED 1
> | #define LOG_TOOMANY 1
> | #define DNS_TRYAGAIN 1
> | #define HAVE_UFS_UFS_QUOTA_H 1
> | /* end confdefs.h.  */
> |
> | #include <unistd.h>
> | #ifdef TIME_WITH_SYS_TIME
> | #include <sys/time.h>
> | #include <time.h>
> | #else
> | #ifdef HAVE_SYS_TIME_H
> | #include <sys/time.h>
> | #else
> | #include <time.h>
> | #endif
> | #endif
> | #ifdef HAVE_SYS_TYPES_H
> | #include <sys/types.h>
> | #endif
> | #ifdef HAVE_SYS_QUOTA_H
> | #include <sys/quota.h>
> | #else
> | #ifdef HAVE_LINUX_QUOTA_H
> | #include <linux/quota.h>
> | #endif
> | #endif
> | #ifdef HAVE_SYS_FS_UFS_QUOTA_H
> | #include <sys/fs/ufs/quota.h>
> | #endif
> | #ifdef HAVE_UFS_QUOTA_H
> | #include <ufs/quota.h>
> | #endif
> | #ifdef HAVE_JFS_QUOTA_H
> | #include <jfs/quota.h>
> | #endif
> | #ifdef HAVE_UFS_UFS_QUOTA_H
> | #include <ufs/ufs/quota.h>
> | #endif
> | struct dqblk quota;
> | int
> | main ()
> | {
> |  int f=quota.dqb_ihardlimit;
> |   ;
> |   return 0;
> | }
> configure:6188: result: file

Thanks!
Regards,
-- 
Steven Chamberlain
steven@pyro.eu.org
--- a/sys/ufs/ufs/quota.h
+++ b/sys/ufs/ufs/quota.h
@@ -36,6 +36,8 @@
 #ifndef _UFS_UFS_QUOTA_H_
 #define	_UFS_UFS_QUOTA_H_
 
+#include <stdint.h>
+
 /*
  * Definitions for disk quotas imposed on the average user
  * (big brother finally hits UNIX).

Reply to: