#65877 closed defect (fixed)
gpgme @1.17.1 does not build on PPC Tiger, Mac OS X 10.4.11, because "ath.h:80:36: error: unknown type name 'fd_set'; did you mean 'nfds_t'?'"
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | kencu (Ken) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | tiger ppc | Cc: | |
Port: | gpgme |
Description
ath.h:80:36: error: unknown type name 'fd_set'; did you mean 'nfds_t'? gpgme_ssize_t ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset, ^~~~~~ nfds_t ath.h:80:50: error: unknown type name 'fd_set'; did you mean 'nfds_t'? gpgme_ssize_t ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset, ^~~~~~ nfds_t ath.h:80:64: error: unknown type name 'fd_set'; did you mean 'nfds_t'? gpgme_ssize_t ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset, ^~~~~~ nfds_t In file included from assuan-support.c:35:0: debug.h: In function '_trace_sysres_off_t': debug.h:167:61: warning: format '%ld' expects argument of type 'long int', but argument 8 has type 'gpgme_off_t {aka long long int}' [-Wformat=] _gpgme_debug (NULL, lvl, 3, func, NULL, NULL, "result=%ld", res); ~~^ %lld assuan-support.c: At top level: cc1: warning: unrecognized command line option '-Wno-sizeof-pointer-div' make[1]: *** [assuan-support.lo] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_gpgme/gpgme/work/gpgme-1.17.1/src'
This struct seems to be defined in /usr/include/sys/select.h
:
119 typedef struct fd_set { 120 __int32_t fds_bits[__DARWIN_howmany(FD_SETSIZE, __DARWIN_NFDBITS)]; 121 } fd_set; 122 123 #define FD_SET(n, p) ((p)->fds_bits[(n)/__DARWIN_NFDBITS] |= (1<<((n) % __DARWIN_NFDBITS))) 124 #define FD_CLR(n, p) ((p)->fds_bits[(n)/__DARWIN_NFDBITS] &= ~(1<<((n) % __DARWIN_NFDBITS))) 125 #define FD_ISSET(n, p) ((p)->fds_bits[(n)/__DARWIN_NFDBITS] & (1<<((n) % __DARWIN_NFDBITS)))
Attachments (2)
Change History (8)
Changed 19 months ago by ballapete (Peter "Pete" Dyballa)
comment:1 Changed 19 months ago by jmroot (Joshua Root)
Probably introduced by this change: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpgme.git;a=commitdiff;h=8148237cb4ae20755c06a44d71761c7030973c3d
It looks like they forgot to wrap the declaration of ath_select
in ath.h
with if !defined(HAVE_POLL_H)
. Note that 10.8 and older have a buggy poll implementation which will potentially be a problem for this port. It may be best to disable use of poll on those OS versions and let it fall back to using select.
Changed 19 months ago by ballapete (Peter "Pete" Dyballa)
Attachment: | patch-src_ath.h-fd_set.diff added |
---|
Patch to remove the use of fd_set in src/ath.h, at least needed on Tiger, Mac OS X 10.4
comment:2 Changed 19 months ago by ballapete (Peter "Pete" Dyballa)
The submitted patch allows to build gpgme
here on PPC Tiger, Mac OS X 10.4.11
.
comment:3 follow-up: 4 Changed 19 months ago by ballapete (Peter "Pete" Dyballa)
Mac OS X 10.5.8, Leopard
has the same error.
comment:4 Changed 19 months ago by ballapete (Peter "Pete" Dyballa)
Replying to ballapete:
Sorry! I meant the version @1.18.0_0
which has the same failure and the same cure.
comment:5 Changed 17 months ago by kencu (Ken)
Owner: | set to kencu |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Main.log from Tiger PPC, Mac OS X 10.4.11