Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 828551 - [Tracker] Packages failing with --enable-option-checking=fatal (unknown arguments)
Summary: [Tracker] Packages failing with --enable-option-checking=fatal (unknown argum...
Alias: None
Product: Quality Assurance
Classification: Unclassified
Component: Trackers (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Quality Assurance Team
Keywords: Tracker
Depends on: 828558 828565 828588 828591 828793 828794 828795 828802 828804 828811 828816 828839 828896 828900 828977 829083 829106 829149 829243 828552 828553 828566 828590 828665 828785 828801 828803 828810 828829 828833 828864 828904 828905 829098 829105 829113 829156 829181 829234 833025
  Show dependency tree
Reported: 2021-12-08 08:22 UTC by Sam James
Modified: 2022-03-26 01:19 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
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.

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):

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.