Steve Shockley writes:
I'm trying to build Courier 0.56 on OpenBSD 4.1. The build eventually
stops with:
gmake[3]: Entering directory
`/usr/ports/mystuff/mail/courier/w-courier-0.56.0/build-i386/courier'
Compiling
/usr/ports/mystuff/mail/courier/w-courier-0.56.0/courier-0.56.0/courier/webmlmd.C
In file included from
/usr/ports/mystuff/mail/courier/w-courier-0.56.0/courier-0.56.0/courier/webmlmd.C:47:
/usr/ports/mystuff/mail/courier/w-courier-0.56.0/courier-0.56.0/courier/webmlmdcmlm.H:65:
error: syntax
error before `{' token
/usr/ports/mystuff/mail/courier/w-courier-0.56.0/courier-0.56.0/courier/webmlmdcmlm.H:66:
error: syntax
error before `*' token
/usr/ports/mystuff/mail/courier/w-courier-0.56.0/courier-0.56.0/courier/webmlmdcmlm.H:71:
error: syntax
error before `}' token
In file included from
/usr/ports/mystuff/mail/courier/w-courier-0.56.0/courier-0.56.0/courier/webmlmd.C:47:
/usr/ports/mystuff/mail/courier/w-courier-0.56.0/courier-0.56.0/courier/webmlmdcmlm.H:8:1:
unterminated #ifndef
gmake[3]: *** [webmlmd.o] Error 1
gmake[3]: Leaving directory
`/usr/ports/mystuff/mail/courier/w-courier-0.56.0/build-i386/courier'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory
`/usr/ports/mystuff/mail/courier/w-courier-0.56.0/build-i386/courier'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory
`/usr/ports/mystuff/mail/courier/w-courier-0.56.0/build-i386/courier'
gmake: *** [all-recursive] Error 1
*** Error code 2
Stop in /usr/ports/mystuff/mail/courier (line 2063 of
/usr/ports/infrastructure/mk/bsd.port.mk).
It seems it doesn't like line 65 of webmlmdcmlm.H, I'm not quite sure
what's going on there (overloading stdin? My C++ is weak), any ideas on
why the build is failing? Thanks.
It's defining a function called stdin.
My guess is that on OpenBSD, 'stdin' is a macro of some sorts, which causes
havoc here.
There's no easy fix except for me to rename these two functions, and change
every reference to them.