#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 2 years ago by ballapete (Peter "Pete" Dyballa)
comment:1 Changed 2 years 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 2 years 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 2 years 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 2 years ago by ballapete (Peter "Pete" Dyballa)
Mac OS X 10.5.8, Leopard
has the same error.
comment:4 Changed 2 years 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 2 years ago by kencu (Ken)
Owner: | set to kencu |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Main.log from Tiger PPC, Mac OS X 10.4.11