1.2.34 Build failure on voidlinux.
mobinmob opened this issue · comments
I am trying to build v. 1.2.34 on voidlinux with notcurses v. 2.3.10. I use -DUSE_STATIC=ON
. Build fails with the following errors:
[66/103] Building C object CMakeFiles/growlight.dir/src/notcurses/notcurses.c.o
FAILED: CMakeFiles/growlight.dir/src/notcurses/notcurses.c.o
/usr/bin/cc -D_DEFAULT_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_XOPEN_SOURCE=600 -I../src -Iinclude -I../ -I/usr/include/blkid -DNDEBUG -fstack-clash-protection -D_FORTIFY_SOURCE=2 -mtune=generic -O2 -fvisibility=hidden -Wall -Wextra -W -Wshadow -Wformat -fexceptions -std=gnu11 -MD -MT CMakeFiles/growlight.dir/src/notcurses/notcurses.c.o -MF CMakeFiles/growlight.dir/src/notcurses/notcurses.c.o.d -o CMakeFiles/growlight.dir/src/notcurses/notcurses.c.o -c ../src/notcurses/notcurses.c
../src/notcurses/notcurses.c:4942:8: error: unknown type name 'char32_t'
4942 | static char32_t
| ^~~~~~~~
../src/notcurses/notcurses.c:4943:24: error: unknown type name 'char32_t'
4943 | handle_subwindow_input(char32_t ch){
| ^~~~~~~~
../src/notcurses/notcurses.c:4964:8: error: unknown type name 'char32_t'
4964 | static char32_t
| ^~~~~~~~
../src/notcurses/notcurses.c: In function 'handle_input':
../src/notcurses/notcurses.c:5259:3: error: unknown type name 'char32_t'
5259 | char32_t ch;
| ^~~~~~~~
../src/notcurses/notcurses.c:5264:53: error: 'char32_t' undeclared (first use in this function)
5264 | while((ch = notcurses_getc_blocking(NC, &ni)) != (char32_t)-1){
| ^~~~~~~~
../src/notcurses/notcurses.c:5264:53: note: each undeclared identifier is reported only once for each function it appears in
../src/notcurses/notcurses.c:5311:16: warning: implicit declaration of function 'handle_subwindow_input' [-Wimplicit-function-declaration]
5311 | if((ch = handle_subwindow_input(ch)) == (char32_t)-1){
| ^~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
ack!
yep, char32_t
is technically c++ and shouldn't be here.
converted all char32_t
to uint32_t
, which also matches current notcurses definition for getc()
. i guess we'll need cut a new release. no problem, happy to do so for voidlinux, who've been with me for so long =],
fixed in the new 1.2.35 release. thanks for the report!
Thank you for the fix ;)
void-linux/void-packages#32104
@dankamongmen that type is very much C, you just need to #include <uchar.h>
to get its definition...
@dankamongmen that type is very much C, you just need to
#include <uchar.h>
to get its definition...
you're absolutely right, of course, not sure what i was thinking. regardless, the function it's calling returns uint32_t now, so might as well change it to match up.
That's fair :)