GNOME Bugzilla – Bug 110151
sigignore() doesn't exist on Mac OS X
Last modified: 2004-12-22 21:47:04 UTC
It appears that the sigignore() function used in pan/signals.c doesn't exist on the Mac platform. See below (reality is a mac, indigo is a PC running Linux). [nathanr@reality pan-0.13.4]$ grep -r sigignore /usr/include grep: warning: /usr/include/gcc/darwin/2.95.2/g++/std: recursive directory loop /usr/include/sys/proc.h: sigset_t p_sigignore; /* Signals being ignored. */ /usr/include/sys/proc.h: sigset_t p_sigignore; /* Signals being ignored. */ [nathanr@reality pan-0.13.4]$ nathanr@indigo:~$ grep -r sigignore /usr/include /usr/include/signal.h:extern int sigignore (int __sig) __THROW; nathanr@indigo:~$
I've sent mail to Fink's Pan maintainer, Max Horn, to see if sigignore is perhaps in a different header on OS/X. IIRC OS/X is a *BSD, so I'd be surprised if sigignore() really doesn't exist there.
And Max Replied: Hrm, sorry, I should have told you when I packaged 0.13.4. Yes, it is actually missing. I already filed a POSIX compliance bug report to Apple (they do not strive to be 100% POSIX compliant, but if it's easy to get it, then why not <g>). However, "emulating" sigignore() is quite easy, you can just do a "signal(sig, SIG_IGN)" (which I did in the patch I applied for the Fink package. See also http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/fink/dists/10.2/ unstable/main/finkinfo/net/pan-0.13.4-1.patch?rev=1.1&content- type=text/vnd.viewcvs-markup There are a few other such goofs; in some cases stuff is really only missing from the headers, but here, the symbol is not defined in the system lib. Hence, as a workaround, a configure check for the presence of "sigignore" might be advisable, and then using replacement code if its missing. I am positive that Apple will fix this buglet in the not to distant future, but until then, Pan would not compile out of the box on Mac OS X. Cheers, Max
Fixed in CVS: http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan&command=DIFF_FRAMESET&file=ANNOUNCE.html&rev1=1.114&rev2=1.115&root=/cvs/gnome http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan&command=DIFF_FRAMESET&file=sockets.c&rev1=1.112&rev2=1.113&root=/cvs/gnome BTW, if either you or Max care to pass the other build warnings/errors along via new bug reports I'll try to get them fixed in the main codebase so that Fink doesn't have to apply OS/X-centric patches.