#42358: am-utils fails to compile on Mavericks ------------------------+-------------------------------- Reporter: greeneg@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.1 Resolution: | Keywords: Port: am-utils | ------------------------+-------------------------------- Comment (by cal@…): It seems `/usr/include/rpc/xdr.h` is missing a declaration of `bool_t`: {{{ configure:25152: /usr/bin/clang -c -pipe -Os -arch x86_64 -D_P1003_1B_VISIBLE -I/opt/local/include conftest.c >&5 In file included from conftest.c:168: /usr/include/rpc/xdr.h:126:3: error: type name requires a specifier or qualifier bool_t (*x_getlong)(struct __rpc_xdr *, int *); ^ /usr/include/rpc/xdr.h:126:10: error: function cannot return function type 'int (struct __rpc_xdr *, int *)' bool_t (*x_getlong)(struct __rpc_xdr *, int *); ^ /usr/include/rpc/xdr.h:128:3: error: type name requires a specifier or qualifier bool_t (*x_putlong)(struct __rpc_xdr *, const int *); ^ /usr/include/rpc/xdr.h:128:10: error: function cannot return function type 'int (struct __rpc_xdr *, const int *)' bool_t (*x_putlong)(struct __rpc_xdr *, const int *); ^ /usr/include/rpc/xdr.h:128:3: error: duplicate member 'bool_t' bool_t (*x_putlong)(struct __rpc_xdr *, const int *); ^ /usr/include/rpc/xdr.h:126:3: note: previous declaration is here bool_t (*x_getlong)(struct __rpc_xdr *, int *); ^ /usr/include/rpc/xdr.h:136:3: error: type name requires a specifier or qualifier bool_t (*x_getbytes)(struct __rpc_xdr *, char *, unsigned int); ^ /usr/include/rpc/xdr.h:136:10: error: function cannot return function type 'int (struct __rpc_xdr *, char *, unsigned int)' bool_t (*x_getbytes)(struct __rpc_xdr *, char *, unsigned int); ^ /usr/include/rpc/xdr.h:136:3: error: duplicate member 'bool_t' bool_t (*x_getbytes)(struct __rpc_xdr *, char *, unsigned int); ^ /usr/include/rpc/xdr.h:126:3: note: previous declaration is here bool_t (*x_getlong)(struct __rpc_xdr *, int *); ^ /usr/include/rpc/xdr.h:138:3: error: type name requires a specifier or qualifier bool_t (*x_putbytes)(struct __rpc_xdr *, const char *, unsigned int); ^ /usr/include/rpc/xdr.h:138:10: error: function cannot return function type 'int (struct __rpc_xdr *, const char *, unsigned int)' bool_t (*x_putbytes)(struct __rpc_xdr *, const char *, unsigned int); ^ /usr/include/rpc/xdr.h:138:3: error: duplicate member 'bool_t' bool_t (*x_putbytes)(struct __rpc_xdr *, const char *, unsigned int); ^ /usr/include/rpc/xdr.h:126:3: note: previous declaration is here bool_t (*x_getlong)(struct __rpc_xdr *, int *); ^ /usr/include/rpc/xdr.h:142:3: error: type name requires a specifier or qualifier bool_t (*x_setpostn)(struct __rpc_xdr *, unsigned int); ^ /usr/include/rpc/xdr.h:142:11: error: function cannot return function type 'int (struct __rpc_xdr *, unsigned int)' bool_t (*x_setpostn)(struct __rpc_xdr *, unsigned int); ^ /usr/include/rpc/xdr.h:142:3: error: duplicate member 'bool_t' bool_t (*x_setpostn)(struct __rpc_xdr *, unsigned int); ^ /usr/include/rpc/xdr.h:126:3: note: previous declaration is here bool_t (*x_getlong)(struct __rpc_xdr *, int *); ^ /usr/include/rpc/xdr.h:147:3: error: type name requires a specifier or qualifier bool_t (*x_control)(struct __rpc_xdr *, int, void *); ^ /usr/include/rpc/xdr.h:147:10: error: function cannot return function type 'int (struct __rpc_xdr *, int, void *)' bool_t (*x_control)(struct __rpc_xdr *, int, void *); ^ /usr/include/rpc/xdr.h:147:3: error: duplicate member 'bool_t' bool_t (*x_control)(struct __rpc_xdr *, int, void *); ^ /usr/include/rpc/xdr.h:126:3: note: previous declaration is here bool_t (*x_getlong)(struct __rpc_xdr *, int *); ^ /usr/include/rpc/xdr.h:191:16: error: function cannot return function type 'int (XDR *, void *, unsigned int)' typedef bool_t (*xdrproc_t)(XDR *, void *, unsigned int); ^ /usr/include/rpc/xdr.h:219:7: error: no member named 'x_getlong' in 'struct xdr_ops' if (!xdr_getlong(xdrs, &l)) ^~~~~~~~~~~~~~~~~~~~~ /usr/include/rpc/xdr.h:205:19: note: expanded from macro 'xdr_getlong' (*(xdrs)->x_ops->x_getlong)(xdrs, longp) ~~~~~~~~~~~~~ ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. }}} It seems `rpc/xdr.h` should really be including `rpc/types.h`, but doesn't. I suppose we might be able to patch am-utils to always include this header before `rpc/xdr.h`. -- Ticket URL: <https://trac.macports.org/ticket/42358#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X