Opened 2 years ago

Closed 2 years ago

#18030 closed bug (fixed)

ScummVM fails to build on nightly

Reported by: begasus Owned by: nobody
Priority: normal Milestone: R1/beta4
Component: System/POSIX Version: R1/beta3
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by begasus)

Trying a build on nightly resulted in a failure with:

In file included from /boot/system/develop/headers/posix/wchar.h:10,
                 from engines/ags/lib/alfont/alfont.cpp:27:
./engines/ags/lib/allegro/unicode.h:75:8: error: expected identifier before numeric constant
   75 | enum { LC_CTYPE };
      |        ^~~~~~~~
./engines/ags/lib/allegro/unicode.h:75:8: error: expected '}' before numeric constant
In file included from engines/ags/lib/alfont/alfont.cpp:32:
./engines/ags/lib/allegro/unicode.h:75:6: note: to match this '{'
   75 | enum { LC_CTYPE };
      |      ^
In file included from /boot/system/develop/headers/posix/wchar.h:10,
                 from engines/ags/lib/alfont/alfont.cpp:27:
./engines/ags/lib/allegro/unicode.h:75:8: error: expected unqualified-id before numeric constant
   75 | enum { LC_CTYPE };
      |        ^~~~~~~~
In file included from engines/ags/lib/alfont/alfont.cpp:32:
./engines/ags/lib/allegro/unicode.h:76:13: error: ambiguating new declaration of 'void setlocale(int, const char*)'
   76 | extern void setlocale(int type, const char *language);
      |             ^~~~~~~~~
In file included from /boot/system/develop/headers/posix/wchar.h:10,
                 from engines/ags/lib/alfont/alfont.cpp:27:
/boot/system/develop/headers/posix/locale.h:70:14: note: old declaration 'char* setlocale(int, const char*)'
   70 | extern char *setlocale(int category, const char *locale);
      |              ^~~~~~~~~
In file included from engines/ags/lib/alfont/alfont.cpp:32:
./engines/ags/lib/allegro/unicode.h:149:1: error: expected declaration before '}' token
  149 | } // namespace AGS3
      | ^
    C++      engines/ags/lib/allegro/draw.o
    C++      engines/ags/lib/allegro/fixed.o
    C++      engines/ags/lib/allegro/file.o
Makefile.common:170: recipe for target 'engines/ags/lib/alfont/alfont.o' failed
make: *** [engines/ags/lib/alfont/alfont.o] Error 1
make: *** Waiting for unfinished jobs....

Probably related to the changes done in: https://github.com/haiku/haiku/commit/d338200e2b7c03c7aa392598b8612d4e9afa1841

Talked to some guy at the scummvm channel on IRC, log can be found here: https://logs.scummvm.org/log.php?log=scummvm.log.01Nov2022&format=text

Change History (5)

comment:1 by begasus, 2 years ago

Maybe related?

<Begasus_32>  /sources/fontforge-20220308/fontforge/splinefont.h:2637:15: error: conflicting types for 'locale_t'; have 'char *'
<Begasus_32>   2637 | typedef char* locale_t;

comment:2 by begasus, 2 years ago

Description: modified (diff)

comment:3 by waddlesplash, 2 years ago

[12:16] <grogbot> [discord] <dwa> Begasus: I wonder if this isn't just a small bug in the nightlies, i.e. in wchar.h they should include locale_t.h, not locale.h (as they did in the other headers).
[12:24] <grogbot> [discord] <dwa> I'm not familiar with this part of the code, but I think it's just meant to be an internal wrapper in a namespace, it's not about using the setlocale() implementation from the system afaics
[12:25] <grogbot> [discord] <dwa> please ask them if wchar.h isn't meant to include locale_t.h instead of locale.h

comment:4 by waddlesplash, 2 years ago

Component: - GeneralSystem/POSIX

Indeed musl's wchar.h includes a lot less than ours does. Likely we should make that fix.

comment:5 by korli, 2 years ago

Milestone: UnscheduledR1/beta4
Resolution: fixed
Status: newclosed

fixed as part of hrev56573

Note: See TracTickets for help on using tickets.