掌機 - Gaviar (小志掌機) - 解決c-stack.c:55:26: error: missing binary operator before token問題



問題如下:

mv -f $depbase.Tpo $depbase.Po
In file included from /usr/include/signal.h:328,
                 from ./signal.h:52,
                 from c-stack.c:49:
c-stack.c:55:26: error: missing binary operator before token "("
   55 | #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
      |                          ^~~~~~~~
make[7]: *** [Makefile:1910: c-stack.o] Error 1
make[7]: Leaving directory '/home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1/out/d1s-nezha/compile_dir/host/m4-1.4.18/lib'
make[6]: *** [Makefile:1674: all] Error 2
make[6]: Leaving directory '/home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1/out/d1s-nezha/compile_dir/host/m4-1.4.18/lib'
make[5]: *** [Makefile:1572: all-recursive] Error 1
make[5]: Leaving directory '/home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1/out/d1s-nezha/compile_dir/host/m4-1.4.18'
make[4]: *** [Makefile:1528: all] Error 2
make[4]: Leaving directory '/home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1/out/d1s-nezha/compile_dir/host/m4-1.4.18'
make[3]: *** [Makefile:30: /home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1/out/d1s-nezha/compile_dir/host/m4-1.4.18/.built] Error 2
make[3]: Leaving directory '/home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1/tools/m4'
make[2]: *** [tools/Makefile:135: tools/m4/compile] Error 2
make[2]: Leaving directory '/home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1'
make[1]: *** [tools/Makefile:133: /home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1/out/d1s-nezha/staging_dir/target/stamp/.tools_install_yyyynyyynyyyyyyynnnyyyyyyyyyyynnyyyyyyyynyyynyyyyy] Error 2
make[1]: Leaving directory '/home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1'
make: *** [/home/steward/Downloads/tina-linux_sdk-f133_gaviar_sdk-v2.1/build/toplevel.mk:306: world] Error 2
[2]+  Done                    $T/tools/build/buildserver --path $T 2> /dev/null 1>&2

#### make failed to build some targets (44 seconds) ####

解法如下:

$ cd tools/m4
$ sed -i 's/#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384/#elif HAVE_LIBSIGSEGV \&\& 0/' \
    ../../out/d1s-nezha/compile_dir/host/m4-1.4.18/lib/c-stack.c