[cups.bugs] [MOD] STR #2495: Autoconf cannot handle correctly ucred.h under FreeBSD 6.2

Alessandro Dellavedova alessandro.dellavedova at gmail.com
Tue Aug 28 07:45:59 PDT 2007


DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Dear Sirs,

I'm trying to compile CUPS 1.3.0 under FreeBSD 6.2, but the configure
output underlines a problem with /sys/ucred.h

../configure --disable-gssapi

<SNIP>
checking sys/ucred.h usability... no
checking sys/ucred.h presence... yes
configure: WARNING: sys/ucred.h: present but cannot be compiled
configure: WARNING: sys/ucred.h:     check for missing prerequisite
headers?
configure: WARNING: sys/ucred.h: see the Autoconf documentation
configure: WARNING: sys/ucred.h:     section "Present But Cannot Be
Compiled"
configure: WARNING: sys/ucred.h: proceeding with the preprocessor's result
configure: WARNING: sys/ucred.h: in the future, the compiler will take
precedence
checking for sys/ucred.h... yes
<SNIP>

And a make fails with the following error:

Compiling auth.c...
In file included from cupsd.h:127,
                 from auth.c:57:
job.h:60: error: syntax error before "krb5_ccache"
In file included from auth.c:57:
cupsd.h:163: error: syntax error before "KerberosContext"
cupsd.h:163: warning: type defaults to `int' in declaration of
`KerberosContext'
cupsd.h:163: warning: data definition has no type or storage class
In file included from auth.c:87:
/usr/include/sys/ucred.h:71: error: `NGROUPS' undeclared here (not in a
function)
*** Error code 1


I'm not an autoconf wizard, so I solved it with this patch:

*** scheduler/auth.c    Sat Aug 11 01:09:45 2007
--- ../NUOVOCUPS/cups-base13/work/cups-1.3.0/scheduler/auth.c   Mon Aug 27
16:44:35 2007
***************
*** 83,88 ****
--- 83,91 ----
  extern const char *cssmErrorString(int error);
  #  endif /* HAVE_SECBASEPRIV_H */
  #endif /* HAVE_AUTHORIZATION_H */
+ #ifdef __FreeBSD__
+ # include <sys/param.h>
+ #endif
  #ifdef HAVE_SYS_UCRED_H
  #  include <sys/ucred.h>
  typedef struct xucred cupsd_ucred_t;

I'm sure that an autoconf wizard can solve this in a much more clean way.

Ciao,

Alessandro

Link: http://www.cups.org/str.php?L2495
Version: 1.3.0





More information about the cups-devel mailing list