conio/ciolib.c build error on openSUSE Leap 15.2
Cross-platform BBS (ANSI) Terminal
Brought to you by:
deuce
Hello.
This is more of a FYI then a bug report.
On openSUSE Leap-15.2, syncterm-1.1 build fails with the following(gcc-7.5.0, ncurses-6.1)
gmake[1]: Entering directory '/home/foo/tmp/syncterm/syncterm-1.1/src/conio'
Compiling ansi_cio.c
Compiling ciolib.c
In file included from /usr/include/ncursesw/curses.h:60:0,
from curs_fix.h:46,
from curs_cio.h:48,
from ciolib.c:64:
ciolib.c: In function ‘try_curses_init’:
ciolib.c:290:11: error: ‘cioapi_t {aka struct <anonymous>}’ has no member named ‘_nc_ESCDELAY’; did you mean ‘ESCDELAY’?
#endif
^
ciolib.c:290:20: error: lvalue required as unary ‘&’ operand
#endif
^
In file included from /usr/include/ncursesw/curses.h:60:0,
from curs_fix.h:46,
from curs_cio.h:48,
from ciolib.c:64:
ciolib.c: In function ‘try_ansi_init’:
ciolib.c:323:11: error: ‘cioapi_t {aka struct <anonymous>}’ has no member named ‘_nc_ESCDELAY’; did you mean ‘ESCDELAY’?
cio_api.beep=ansi_beep;
^
gmake[1]: *** [../build/Common.gmake:456: gcc.linux.x64.obj.release-mt/ciolib.o] Error 1
gmake[1]: Leaving directory '/home/foo/tmp/syncterm/syncterm-1.1/src/conio'
gmake: *** [../build/Common.gmake:503: ciolib-mt] Error 2
Tiny patch for it attached, if you are interested.
Also attached are the 'fix implicit definition' patch for xpdev/xpbeep, that adds a few standard headers, and trivial one fixing FSF adress in the GPL2 licence :)
As I said, I don't expect you to apply any of these, I just thought to let you know, as per
"upstream, if possible" policy.
And thanks for syncterm, it's awesome :)
Anonymous
It appears that ESCDELAY is oddly a macro in the curses installed on that system. I'm curious about what was reported as implicitly defined since all of the headers you're adding are already included.
Should be fixed in git now.