fcitx / mozc

Mozc - a Japanese Input Method Editor designed for multi-platform
Other
114 stars 11 forks source link

Build fails with latest commit #30

Closed Nocifer closed 1 year ago

Nocifer commented 1 year ago

Description The build fails with the errors shown below in the log section. The last time I tried to build was with 49a941f62f46d9fb4da9f67c0ee31d22630a24dd (on January 7th) and that commit built and still builds fine, with the exact same (i.e. latest as of today on Arch) toolchain.

Commit-id 6b0e749088cec21189a6e1587a5915c634c41e1c

Build target Choose one of them

  1. Docker build for Linux and Android-lib

CI build status

  1. passing

Environment:

Build commands Steps of command lines to reproduce your error.

  1. git clone https://github.com/fcitx/mozc.git
  2. cd mozc/src
  3. git submodule update --init --recursive
  4. (some Bazel stuff for fixing an error with the Android NDK)
  5. bazel build unix/fcitx5:fcitx5-mozc.so unix/icons --config oss_linux --compilation_mode opt

Error logs

[295 / 467] Compiling session/internal/keymap.cc; 4s linux-sandbox ... (12 actions, 11 running)
ERROR: /build/fcitx5-mozc-ut/src/fcitx5-mozc-ut-git/src/unix/fcitx5/BUILD:55:16: Compiling unix/fcitx5/fcitx_key_translator.cc failed: (Exit 1): gcc failed: error executing command (from target //unix/fcitx5:fcitx_key_util) /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 69 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from unix/fcitx5/fcitx_key_translator.cc:31:
./unix/fcitx5/fcitx_key_translator.h:98:3: error: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   98 |   DISALLOW_COPY_AND_ASSIGN(KeyTranslator);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc: In member function 'void fcitx::KeyTranslator::Init()':
unix/fcitx5/fcitx_key_translator.cc:426:23: error: 'arraysize' was not declared in this scope
  426 |   for (int i = 0; i < arraysize(special_key_map); ++i) {
      |                       ^~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc:432:23: error: 'arraysize' was not declared in this scope
  432 |   for (int i = 0; i < arraysize(modifier_key_map); ++i) {
      |                       ^~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc:438:23: error: 'arraysize' was not declared in this scope
  438 |   for (int i = 0; i < arraysize(modifier_mask_map); ++i) {
      |                       ^~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc:444:23: error: 'arraysize' was not declared in this scope
  444 |   for (int i = 0; i < arraysize(kana_map_jp); ++i) {
      |                       ^~~~~~~~~
unix/fcitx5/fcitx_key_translator.cc:451:23: error: 'arraysize' was not declared in this scope
  451 |   for (int i = 0; i < arraysize(kana_map_us); ++i) {
      |                       ^~~~~~~~~
INFO: Elapsed time: 11.183s, Critical Path: 5.16s
INFO: 87 processes: 13 internal, 74 linux-sandbox.
FAILED: Build did NOT complete successfully

At some point while experimenting I also got this (with -fpermissive) but I can't reproduce it, so it could have happened with an older commit than latest:

[436 / 467] Compiling protocol/commands.pb.cc; 4s linux-sandbox ... (12 actions, 11 running)
ERROR: /build/fcitx5-mozc-ut/src/fcitx5-mozc-ut-git/src/unix/fcitx5/BUILD:24:16: Compiling unix/fcitx5/mozc_engine.cc failed: (Exit 1): gcc failed: error executing command (from target //unix/fcitx5:mozc_engine) /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 71 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from ./unix/fcitx5/mozc_engine.h:36,
                 from unix/fcitx5/mozc_engine.cc:20:
./unix/fcitx5/mozc_state.h:164:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
  164 |   DISALLOW_COPY_AND_ASSIGN(MozcState);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./unix/fcitx5/fcitx_key_event_handler.h:42,
                 from ./unix/fcitx5/mozc_connection.h:39,
                 from unix/fcitx5/mozc_engine.cc:36:
./unix/fcitx5/fcitx_key_translator.h:98:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   98 |   DISALLOW_COPY_AND_ASSIGN(KeyTranslator);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
./unix/fcitx5/fcitx_key_event_handler.h:74:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   74 |   DISALLOW_COPY_AND_ASSIGN(KeyEventHandler);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
./unix/fcitx5/mozc_connection.h:67:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   67 |   DISALLOW_COPY_AND_ASSIGN(MozcConnection);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from unix/fcitx5/mozc_engine.cc:37:
./unix/fcitx5/mozc_response_parser.h:83:3: warning: ISO C++ forbids declaration of 'DISALLOW_COPY_AND_ASSIGN' with no type [-fpermissive]
   83 |   DISALLOW_COPY_AND_ASSIGN(MozcResponseParser);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
unix/fcitx5/mozc_engine.cc:93:37: error: 'arraysize' was not declared in this scope
   93 | const size_t kNumCompositionModes = arraysize(kPropCompositionModes);
      |                                     ^~~~~~~~~
unix/fcitx5/mozc_engine.cc:116:51: error: non-constant condition for static assertion
  116 | static_assert(mozc::commands::NUM_OF_COMPOSITIONS == kNumCompositionModes,
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
INFO: Elapsed time: 79.201s, Critical Path: 17.62s
INFO: 450 processes: 31 internal, 419 linux-sandbox.
FAILED: Build did NOT complete successfully

Additional context I'm actually building this via a PKGBUILD so there's a small chance the commands I wrote above may need to be slightly different.

Nocifer commented 1 year ago

Just came to report that b59e370218001ec8cd75fcab2c23a8967f9f1e50 fixes the issue, thanks for the very fast response.