Reputation: 24715
While making a project with Makefile, I get this error:
error: implicit declaration of function ‘fatal’ [-Werror=implicit-function-declaration]
cc1: all warnings being treated as errors
The ./configure --help
shows:
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--disable-gtktest do not try to compile and run a test GTK+ program
--enable-debug Turn on debugging
How can I tell configure not to include -Werror?
Upvotes: 22
Views: 65939
Reputation: 39
I ran into this problem, and it turned out that GCC was not installed on my freshly-started EC2 instance running Ubuntu 20.04 (Focal Fossa).
Simply running sudo apt install gcc
fixed this issue for me.
Upvotes: -2
Reputation: 732
It seems like the feature has been in autotools for many years:
./configure --disable-werror
Unfortunately, I wasn't able to get the following specific case to work:
./configure --enable-wno-error=unused-value
Maybe it could work if one escaped the '=
' symbol, assuming it's possible. Like skim says, one can still use CFLAGS
or CXXFLAGS
.
Upvotes: 9
Reputation: 13051
I had to use --disable-Werror
(with an uppercase W
) on my module. While sudoman's answer above suggests to use --disable-werror
(with a lowercase w
).
It may look like a typo, but it is actually dependent on your particular configure
setup, especially if configure
is generated by autoconf
. What needs to be passed to the configure
script to disable Werror
depends on how the build system was setup.
If your project uses the AX_COMPILER_FLAGS option from the autoconf-archive
project, then by default -Werror
is enabled.
In another module you may find something like this:
+AC_ARG_ENABLE([werror],
+ AC_HELP_STRING([--disable-werror],
+ [do not build with -Werror]),
And thus you would need to use --disable-werror
.
Upvotes: 3
Reputation: 776
This works for me, compiling curlpp on Lubuntu 16.10:
./configure --disable-ewarning
Upvotes: 1
Reputation: 399
Werror is a GCC argument, and you cannot remove it directly via ./configure. Otherwise, an option like --disable-error
would show up in the help text. However, it's possible.
Set an environment variable:
export CFLAGS="-Wno-error"
That's for C compilers. If the project uses C++, do:
export CXXFLAGS="-Wno-error"
In the very rare case the project does not honor this variables, your last resort is to edit the configure.ac
file and search for -Werror
and remove it from the string it occurs in (be careful though).
Upvotes: 35