0

I am trying to build my source using gcc 8.3.0

root@eqx-sjc-engine2-staging:/usr/local/src# gcc --version
gcc (Debian 8.3.0-2) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

root@eqx-sjc-engine2-staging:/usr/local/src# 

I am getting the below error

libs/esl/fs_cli.c:1679:43: error: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1020 [-Werror=format-truncation=]
   snprintf(cmd_str, sizeof(cmd_str), "api %s\nconsole_execute: true\n\n", argv_command);    
libs/esl/fs_cli.c:1679:3: note: 'snprintf' output between 29 and 1052 bytes into a destination of size 1024
       snprintf(cmd_str, sizeof(cmd_str), "api %s\nconsole_execute: true\n\n", argv_command);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    make[2]: *** [Makefile:2693: fs_cli-fs_cli.o] Error 1
    make[2]: Leaving directory '/usr/local/src'
    make[1]: *** [Makefile:3395: all-recursive] Error 1
    make[1]: Leaving directory '/usr/local/src'
    make: *** [Makefile:1576: all] Error 2

I tried running the make like below

make -Wno-error=format-truncation

Still I see the same issue.

my linux version is

root@eqx-sjc-engine2-staging:~# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux buster/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

How to fix it?

  • 2
    Depending on the makefile, you probably need something like make CFLAGS="-Wno-error=format-truncation" – muru Mar 29 at 9:19
  • I do not want to edit the make file, is there a way to do it only via the command line argument. Like the one I tried above make -Wno-error=format-truncation – Karthik Mar 29 at 9:49
  • @Karthik, muru gave you the command line: make CFLAGS="-Wno-error=format-truncation". – Stephen Kitt Mar 29 at 10:16
  • my bad. got it. thanks guys – Karthik Mar 29 at 12:07
  • 1
    @muru, your comment sounds like the answer here; would you mind providing it as such? Thank you! – Jeff Schaller Mar 29 at 14:42
1

Depending on the makefile, you probably need something like:

make CFLAGS="-Wno-error=format-truncation"

The default Makefile rules, and most well-written Makefiles, should see CFLAGS for option arguments to the C compiler being used. Similarly, you can use CXXFLAGS for providing options to the C++ compiler, and LDFLAGS for the linker.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.