bug-coreutils
[Top][All Lists]
Advanced

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

Coreutils fails to recognize ACL libs during configure


From: Necos Secon
Subject: Coreutils fails to recognize ACL libs during configure
Date: Thu, 29 Jan 2004 12:58:08 -0800

I have a system running Slackware 9.0 (upgraded to current) with the following specs:

gcc 3.3.2
glibc 2.3.2 (with sscanf patch)
EA/ACL/NFS patch 0.85 (downloaded acl.bestbits.at) with kernel 2.4.24
acl-2.2.22 (downloaded from SGI's ftp)
attr-2.4.13 (downloaded from SGI's ftp)

As of right now, my ext3 partitions are mounted with acl enabled, and Samba compiled just fine with acl support. However, when I tried to compile coreutils-5.1.2 to use my acl libs and headers, I got this:

checking sys/acl.h usability... yes
checking sys/acl.h presence... yes
checking for sys/acl.h... yes
checking for acl... no

Looking into the config.log file, the failed program is:

configure:38446: checking for acl
configure:38503: gcc -o conftest -g -O2   conftest.c  >&5
/tmp/cck5JOLp.o(.text+0x11): In function `main':
/tmp/coreutils-5.1.2/conftest.c:337: undefined reference to `acl'
/tmp/cck5JOLp.o(.data+0x0):/tmp/coreutils-5.1.2/conftest.c:336: undefined refere
nce to `acl'
collect2: ld returned 1 exit status
configure:38509: $? = 1
configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME "GNU coreutils"
| #define PACKAGE_TARNAME "coreutils"
| #define PACKAGE_VERSION "5.1.2"
| #define PACKAGE_STRING "GNU coreutils 5.1.2"
| #define PACKAGE_BUGREPORT "address@hidden"
| #define PACKAGE "coreutils"
| #define VERSION "5.1.2"
| #define _GNU_SOURCE 1
| #define STDC_HEADERS 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 __EXTENSIONS__ 1
| #define HAVE_UNAME 1
| #define HAVE_CHROOT 1
| #define HAVE_GETHOSTID 1
| #define _FILE_OFFSET_BITS 64
| #define PROTOTYPES 1
| #define __PROTOTYPES 1
| #define HAVE_STRING_H 1
| #define HAVE_LONG_DOUBLE 1
| #define HAVE_ERRNO_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_FLOAT_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_MNTENT_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_PATHS_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STDDEF_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRING_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_MOUNT_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_STATFS_H 1
| #define HAVE_SYS_STATVFS_H 1
| #define HAVE_SYS_SYSCTL_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TIMEB_H 1
| #define HAVE_SYS_VFS_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_SYSLOG_H 1
| #define HAVE_TERMIOS_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_UTIME_H 1
| #define HAVE_VALUES_H 1
| #define HAVE_DIRENT_H 1
| #define HAVE_STRUCT_STAT_ST_BLOCKS 1
| #define HAVE_ST_BLOCKS 1
| #define ST_MTIM_NSEC tv_nsec
| #define GETGROUPS_T gid_t
| #define RETSIGTYPE void
| #define HAVE_INTTYPES_H_WITH_UINTMAX 1
| #define HAVE_STDINT_H_WITH_UINTMAX 1
| #define HAVE_UNSIGNED_LONG_LONG 1
| #define HAVE_UINTMAX_T 1
| #define HOST_OPERATING_SYSTEM "GNU/Linux"
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UTIME_H 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_STRUCT_UTIMBUF 1
| #define HAVE_STRUCT_DIRENT_D_TYPE 1
| #define D_INO_IN_DIRENT 1
| #define HAVE_GRP_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_PWD_H 1
| #define HAVE_STRING_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UTMP_H 1
| #define HAVE_UTMPX_H 1
| #define HAVE_DECL_FREE 1
| #define HAVE_DECL_GETENV 1
| #define HAVE_DECL_GETEUID 1
| #define HAVE_DECL_GETGRGID 1
| #define HAVE_DECL_GETLOGIN 1
| #define HAVE_DECL_GETPWUID 1
| #define HAVE_DECL_GETUID 1
| #define HAVE_DECL_GETUTENT 1
| #define HAVE_DECL_LSEEK 1
| #define HAVE_DECL_MALLOC 1
| #define HAVE_DECL_MEMCHR 1
| #define HAVE_DECL_MEMRCHR 1
| #define HAVE_DECL_NANOSLEEP 1
| #define HAVE_DECL_REALLOC 1
| #define HAVE_DECL_STPCPY 1
| #define HAVE_DECL_STRNDUP 1
| #define HAVE_DECL_STRNLEN 1
| #define HAVE_DECL_STRSTR 1
| #define HAVE_DECL_STRTOUL 1
| #define HAVE_DECL_STRTOULL 1
| #define HAVE_DECL_TTYNAME 1
| #define HAVE__BOOL 1
| #define HAVE_STDBOOL_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DECL_GETENV 1
| #define HAVE_MKSTEMP 1
| #define FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX 0
| #define FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR 0
| #define HAVE_LONG_FILE_NAMES 1
| #define D_INO_IN_DIRENT 1
| #define HAVE_PATHCONF 1
| #define HAVE_NETDB_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_GETHOSTBYNAME 1
| #define HAVE_GETHOSTBYADDR 1
| #define HAVE_INET_NTOA 1
| #define HAVE_DECL_STRERROR_R 1
| #define HAVE_STRERROR_R 1
| #define STRERROR_R_CHAR_P 1
| #define HAVE_ISASCII 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_STRUCT_STAT_ST_BLOCKS 1
| #define HAVE_ST_BLOCKS 1
| #define HAVE_SYS_MOUNT_H 1
| #define HAVE_SYS_VFS_H 1
| #define STAT_STATFS2_BSIZE 1
| #define HAVE_SYS_STATFS_H 1
| #define HAVE_SYS_STATVFS_H 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_ALLOCA 1
| #define HAVE_ATEXIT 1
| #define HAVE_DUP2 1
| #define HAVE_GETGROUPS 1
| #define HAVE_DECL_EUIDACCESS 1
| #define HAVE_EUIDACCESS 1
| #define HAVE_MBSTATE_T 1
| #define HAVE_GETHOSTNAME 1
| #define HAVE_GETLOADAVG 1
| #define HAVE_STDIO_EXT_H 1
| #define HAVE_GETPASS 1
| #define HAVE_GETUSERSHELL 1
| #define HAVE_MEMCHR 1
| #define HAVE_MEMCPY 1
| #define HAVE_MEMMOVE 1
| #define HAVE_MEMRCHR 1
| #define HAVE_MEMSET 1
| #define HAVE_STDLIB_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_ALARM 1
| #define mktime rpl_mktime
| #define HAVE_READLINK 1
| #define HAVE_RMDIR 1
| #define HAVE_RPMATCH 1
| #define HAVE_STPCPY 1
| #define HAVE_STRCSPN 1
| #define HAVE_STRDUP 1
| #define HAVE_STRNDUP 1
| #define HAVE_STRPBRK 1
| #define HAVE_STRSTR 1
| #define HAVE_LONG_LONG 1
| #define HAVE_STRTOIMAX 1
| #define HAVE_STRTOLL 1
| #define HAVE_STRTOL 1
| #define HAVE_STRTOULL 1
| #define HAVE_STRTOUL 1
| #define HAVE_STRTOUMAX 1
| #define HAVE_STRVERSCMP 1
| #define HAVE_LONG_DOUBLE 1
| #define HAVE_WCHAR_T 1
| #define HAVE_WINT_T 1
| #define HAVE_INTMAX_T 1
| #define HAVE_PTRDIFF_T 1
| #define HAVE_SNPRINTF 1
| #define HAVE_WCSLEN 1
| #define HAVE_VASPRINTF 1
| #define HAVE_TM_GMTOFF 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_STRUCT_TM_TM_ZONE 1
| #define HAVE_TM_ZONE 1
| #define HAVE_GETPAGESIZE 1
| #define GETGROUPS_T gid_t
| #define HAVE_LOCALE_H 1
| #define HAVE_SETLOCALE 1
| #define HAVE_LOCALECONV 1
| #define HAVE_WCHAR_H 1
| #define HAVE_WCTYPE_H 1
| #define HAVE_ISWPRINT 1
| #define HAVE_MBSINIT 1
| #define HAVE_ISWCNTRL 1
| #define HAVE_WCWIDTH 1
| #define HAVE_MBRTOWC 1
| #define HAVE_DECL_WCWIDTH 1
| #define HAVE_MBSTATE_T 1
| #define HAVE_STRCOLL 1
| #define HAVE_MNTENT_H 1
| #define HAVE_SYS_MOUNT_H 1
| #define HAVE_GETMNTENT 1
| #define MOUNTED_GETMNTENT1 1
| #define HAVE_OBSTACK 1
| #define HAVE_MEMPCPY 1
| #define HAVE_SYS_SYSINFO_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_SYSCTL_H 1
| #define HAVE_SYSCTL 1
| #define HAVE_MBSTATE_T 1
| #define HAVE_MBRTOWC 1
| #define HAVE_UTMP_H 1
| #define HAVE_UTMPX_H 1
| #define HAVE_UTMPNAME 1
| #define HAVE_UTMPXNAME 1
| #define HAVE_DECL_GETUTENT 1
| #define HAVE_STRUCT_UTMPX_UT_USER 1
| #define HAVE_STRUCT_UTMP_UT_USER 1
| #define HAVE_STRUCT_UTMPX_UT_NAME 1
| #define HAVE_STRUCT_UTMP_UT_NAME 1
| #define HAVE_STRUCT_UTMPX_UT_TYPE 1
| #define HAVE_STRUCT_UTMP_UT_TYPE 1
| #define HAVE_STRUCT_UTMPX_UT_PID 1
| #define HAVE_STRUCT_UTMP_UT_PID 1
| #define HAVE_STRUCT_UTMPX_UT_ID 1
| #define HAVE_STRUCT_UTMP_UT_ID 1
| #define HAVE_STRUCT_UTMPX_UT_EXIT 1
| #define HAVE_STRUCT_UTMP_UT_EXIT 1
| #define HAVE_STRUCT_UTMPX_UT_EXIT_E_EXIT 1
| #define HAVE_STRUCT_UTMP_UT_EXIT_E_EXIT 1
| #define HAVE_STRUCT_UTMPX_UT_EXIT_E_TERMINATION 1
| #define HAVE_STRUCT_UTMP_UT_EXIT_E_TERMINATION 1
| #define restrict __restrict
| #define HAVE_PATHCONF 1
| #define HAVE_FCHDIR 1
| #define HAVE_CLOCK_GETTIME 1
| #define HAVE_CLOCK_SETTIME 1
| #define HAVE_STRCASECMP 1
| #define HAVE_STRNCASECMP 1
| #define HAVE_STRUCT_TIMESPEC 1
| #define ST_MTIM_NSEC tv_nsec
| #define HAVE_DECL_NANOSLEEP 1
| #define HAVE_WORKING_UTIMES 1
| #define HAVE_STDLIB_H 1
| #define HAVE_MALLOC 1
| #define HAVE_STDLIB_H 1
| #define HAVE_REALLOC 1
| #define HAVE_GETCWD 1
| #define HAVE_GETCWD_NULL 1
| #define HAVE_DECL_STRTOIMAX 1
| #define HAVE_DECL_STRTOUMAX 1
| #define HAVE_DECL_CLEARERR_UNLOCKED 1
| #define HAVE_DECL_FEOF_UNLOCKED 1
| #define HAVE_DECL_FERROR_UNLOCKED 1
| #define HAVE_DECL_FFLUSH_UNLOCKED 1
| #define HAVE_DECL_FGETS_UNLOCKED 1
| #define HAVE_DECL_FPUTC_UNLOCKED 1
| #define HAVE_DECL_FPUTS_UNLOCKED 1
| #define HAVE_DECL_FREAD_UNLOCKED 1
| #define HAVE_DECL_FWRITE_UNLOCKED 1
| #define HAVE_DECL_GETC_UNLOCKED 1
| #define HAVE_DECL_GETCHAR_UNLOCKED 1
| #define HAVE_DECL_PUTC_UNLOCKED 1
| #define HAVE_DECL_PUTCHAR_UNLOCKED 1
| #define HAVE_RUN_TZSET_TEST 1
| #define HAVE_STRFTIME 1
| #define HAVE_TZSET 1
| #define HAVE_STRUCT_TM_TM_ZONE 1
| #define HAVE_TM_ZONE 1
| #define HAVE_MBLEN 1
| #define HAVE_MBRLEN 1
| #define HAVE_MBSTATE_T 1
| #define my_strftime nstrftime
| #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
| #define HAVE_UTIME_NULL 1
| #define HAVE_SYS_SYSMACROS_H 1
| #define HAVE_SYS_STATVFS_H 1
| #define HAVE_SYS_VFS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_MOUNT_H 1
| #define HAVE_STATVFS 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_STRUCT_STATFS_F_TYPE 1
| #define HAVE_STRUCT_STATFS_F_FSID___VAL 1
| #define HAVE_STRUCT_STATVFS_F_NAMEMAX 1
| #define HAVE_STRUCT_STATFS_F_NAMELEN 1
| #define HAVE_DIRENT_H 1
| #define HAVE_DIRFD 1
| #define HAVE_DECL_DIRFD 1
| #define HAVE_SYS_ACL_H 1
| /* end confdefs.h.  */
| /* Define acl to an innocuous variant, in case <limits.h> declares acl.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define acl innocuous_acl
|
| /* System header to define __stub macros and hopefully few prototypes,
|     which can conflict with char acl (); below.
|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|     <limits.h> exists even on freestanding compilers.  */
|
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|
| #undef acl
|
| /* Override any gcc2 internal prototype to avoid an error.  */
| #ifdef __cplusplus
| extern "C"
| {
| #endif
| /* We use char because int might match the return type of a gcc2
|    builtin and then its argument prototype would still apply.  */
| char acl ();
| /* The GNU C library defines this for functions which it implements
|     to always fail with ENOSYS.  Some functions are actually named
|     something starting with __ and the normal name is an alias.  */
| #if defined (__stub_acl) || defined (__stub___acl)
| choke me
| #else
| char (*f) () = acl;
| #endif
| #ifdef __cplusplus
| }
| #endif
|
| int
| main ()
| {
| return f != acl;
|   ;
|   return 0;
| }

After getting this error a couple of times, I tried applying the coreutils-5.0 patches. There are 6 patches. I tried apply the first 3 (coreutils-5.0.dif, coreutils-acl.diff, coreutils-acl+posix.diff), but all three failed at some point.

For the coreutils-5.0.dif patch:

address@hidden:/tmp/coreutils-5.1.2# patch -p0 -b <../.patch/coreutils-5.0-0/coreu
tils-5.0.dif
patching file README
Hunk #1 succeeded at 9 with fuzz 2.
patching file configure.ac
patching file doc/coreutils.texi
Hunk #2 succeeded at 383 (offset 2 lines).
Hunk #3 succeeded at 10763 (offset 423 lines).
Hunk #4 FAILED at 11359.
1 out of 4 hunks FAILED -- saving rejects to file doc/coreutils.texi.rej
patching file man/Makefile.am
Hunk #1 FAILED at 3.
Hunk #2 succeeded at 51 (offset 1 line).
1 out of 2 hunks FAILED -- saving rejects to file man/Makefile.am.rej
patching file src/Makefile.am
Hunk #1 FAILED at 1.
Hunk #2 succeeded at 9 with fuzz 2 (offset -1 lines).
Hunk #3 FAILED at 67.
2 out of 3 hunks FAILED -- saving rejects to file src/Makefile.am.rej
patching file src/getdef.c
patching file src/getdef.h
patching file src/install.c
Hunk #1 succeeded at 532 (offset -5 lines).
patching file src/su.c
Hunk #3 succeeded at 103 (offset -1 lines).
Hunk #5 succeeded at 153 (offset -1 lines).
Hunk #7 succeeded at 453 (offset -1 lines).
Hunk #9 succeeded at 562 (offset -1 lines).
Hunk #10 FAILED at 585.
Hunk #11 succeeded at 617 with fuzz 1.
Hunk #12 succeeded at 726 (offset -1 lines).
Hunk #13 FAILED at 891.
2 out of 13 hunks FAILED -- saving rejects to file src/su.c.rej
patching file src/system.h
Hunk #1 succeeded at 268 (offset 30 lines).
patching file tests/mv/setup

For the coreutils-acl+posix.diff patch:

address@hidden:/tmp/coreutils-5.1.2# patch -p1 -b <../.patch/coreutils-5.0-0/coreutils-acl+posix.diff
patching file lib/acl.c
Hunk #1 succeeded at 28 with fuzz 2 (offset 1 line).
Hunk #2 succeeded at 53 with fuzz 1 (offset -7 lines).
Hunk #3 FAILED at 87.
1 out of 3 hunks FAILED -- saving rejects to file lib/acl.c.rej
patching file m4/acl.m4
Hunk #1 FAILED at 20.
1 out of 1 hunk FAILED -- saving rejects to file m4/acl.m4.rej
patching file src/Makefile.am
Hunk #1 FAILED at 34.
1 out of 1 hunk FAILED -- saving rejects to file src/Makefile.am.rej


For the coreutils-acl.dif patch:

address@hidden:/tmp/coreutils-5.1.2# patch -p1 -b <../.patch/coreutils-5.0-0/coreutils-acl.diff
patching file lib/acl.c
Hunk #1 succeeded at 35 (offset 1 line).
patching file lib/acl.h
patching file src/copy.c
Hunk #1 succeeded at 41 with fuzz 2 (offset -4 lines).
Hunk #3 succeeded at 794 (offset 20 lines).
Hunk #4 succeeded at 1278 (offset 34 lines).
Hunk #5 succeeded at 1378 (offset 17 lines).
Hunk #6 succeeded at 1413 with fuzz 2 (offset 31 lines).
Hunk #7 succeeded at 1512 (offset 15 lines).
Hunk #8 succeeded at 1556 (offset 37 lines).
patching file src/copy.h
Hunk #1 succeeded at 143 (offset 4 lines).
patching file src/cp.c
Hunk #1 FAILED at 36.
Hunk #2 succeeded at 59 (offset -3 lines).
Hunk #3 succeeded at 286 with fuzz 2 (offset -3 lines).
Hunk #4 succeeded at 339 (offset -6 lines).
Hunk #5 succeeded at 367 (offset -3 lines).
Hunk #6 succeeded at 379 (offset -6 lines).
Hunk #7 succeeded at 403 (offset -4 lines).
Hunk #8 succeeded at 420 (offset -7 lines).
Hunk #9 succeeded at 453 (offset -4 lines).
Hunk #10 succeeded at 495 (offset -7 lines).
Hunk #11 succeeded at 649 with fuzz 2 (offset -4 lines).
Hunk #12 succeeded at 782 (offset -8 lines).
Hunk #13 succeeded at 1060 (offset -2 lines).
1 out of 13 hunks FAILED -- saving rejects to file src/cp.c.rej
patching file src/install.c
Hunk #1 succeeded at 162 (offset -3 lines).
patching file src/ls.c
Hunk #1 succeeded at 194 (offset -29 lines).
Hunk #2 succeeded at 2438 with fuzz 1 (offset 38 lines).
patching file src/mv.c
Hunk #1 succeeded at 132 (offset -5 lines).

After investigating the patches, I noticed that the 2 acl patches are for coreutils 4.x. However, the patches do, indeed add acl lib checking to the m4 files (to my knowledge, these are used with automake and m4), which should detect the libraries and enable the acl code in coreutils. Further investigation shows that the acl.m4 file that is included with coreutils lacks this extra code, and as such, the patch should work. Maybe I'm missing something with the patching. Were the patchces made with a different version of diff (I have 2.8.1 installed)? I'm posting this email to both lists, as I don't know where the problem really is (or if it's a combined problem).

Thank you for your time,
Theodore Charles III
Network Administrator
Los Angeles Senior High

_________________________________________________________________
Get a FREE online virus check for your PC here, from McAfee. http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963





reply via email to

[Prev in Thread] Current Thread [Next in Thread]