Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 828551

Summary: [Tracker] Packages failing with --enable-option-checking=fatal (unknown arguments)
Product: Quality Assurance Reporter: Sam James <sam>
Component: TrackersAssignee: Gentoo Quality Assurance Team <qa>
Status: CONFIRMED ---    
Severity: normal Keywords: Tracker
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=821544
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 828565, 828588, 828793, 828794, 828795, 828802, 828804, 828816, 828839, 828896, 828977, 829083, 829106, 829149, 829243, 828552, 828553, 828558, 828566, 828590, 828591, 828665, 828785, 828801, 828803, 828810, 828811, 828829, 828833, 828864, 828900, 828904, 828905, 829098, 829105, 829113, 829156, 829181, 829234, 833025    
Bug Blocks:    

Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-08 08:22:52 UTC
Tracker for bugs which fail on unknown arguments with --enable-option-checking=fatal (built into autoconf).

You can set this in EXTRA_ECONF in make.conf.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-08 08:43:35 UTC
Also, at risk of stating the obvious: please be careful not to just drop invalid arguments and move on.

They may well have been renamed or become unconditionally enabled, etc, hence needing more ebuild changes than just dropping the configure arg.
Comment 2 Ulrich Müller gentoo-dev 2021-12-11 13:19:30 UTC
Since bug 828858 was reported for app-emacs/mew, let me quote from the autoconf-2.71 manual, section 15.5:

   "Source trees often contain multiple packages with a top-level
‘configure’ script that uses the ‘AC_CONFIG_SUBDIRS’ macro (*note
Subdirectories::).  Because the packages generally support different
‘--with-PACKAGE’ and ‘--enable-FEATURE’ options, the GNU Coding
Standards say they must accept unrecognized options without halting.
Even a warning message is undesirable here, so ‘AC_CONFIG_SUBDIRS’
automatically disables the warnings."

That's exactly what happens for app-emacs/mew, namely a top-level configure script which calls AC_CONFIG_SUBDIRS(bin). The subdir configure script has no need for the --with-elispdir and --with-etcdir options and therefore doesn't recognise them. It all works as intended and is a use case documented in the autoconf manual.
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-28 05:31:57 UTC Comment hidden (obsolete)
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-12-28 05:33:01 UTC
I explained the situation on an upstream bug [0] but quoting it here:

```
Apologies for the noise both! The bug is invalid and can be closed but it's my fault.

Summary:
In Gentoo, we have some automatic detection for build logs where we look for e.g. 'unrecognized argument: ...' for some reason, this doesn't always work even when packages lack subconfigure (net-misc/curl seems to be an example of this!)

I asked toralf to pass '--enable-option-checking=fatal' (he later changed it to 'warn') to help find some of those "curl-like: examples

The problem is that option also affects subconfigure (where you call configure for a mini project within your main one), which autoconf says unknown arguments are okay for (we don't care about this in gentoo obviously because autoconf says it's fine): gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Option-Checking.html

We need to understand why e.g. net-misc/curl is different: what is it doing differently? is it somehow disabling the normal warning?

(A lot of the bugs toralf filed are legit, curl-like cases, but some of them were false positives, like this eggdrop one (because of subconfigure).)

I'm sorry for the hassle!
```

As I discussed with ulm in #gentoo-qa a few weeks ago, what we might really want (if we can't identify what makes e.g. net-misc/curl special) is seeing if autoconf would mind adding a version of this option that was only effective for top-level configure.

[0] https://github.com/eggheads/eggdrop/issues/1247#issuecomment-997128010