Question: 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](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Werror)?

Answer: 
[Werror](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Werror) is a GCC argument, and you cannot remove it directly via [./configure](https://en.wikipedia.org/wiki/Configure_script). 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).
I had to use `--disable-Werror` (with an uppercase `W`) on my module. While [sudoman's answer above](https://stackoverflow.com/a/24481662/474034) 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](https://www.gnu.org/software/autoconf-archive/ax_compiler_flags.html) 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`.