| Bug #38359 | ./configure accepts invalid configuration options, and silently disable features | ||
|---|---|---|---|
| Submitted: | 24 Jul 2008 23:58 | Modified: | 24 Jul 2013 15:16 |
| Reporter: | Marc ALFF | Email Updates: | |
| Status: | Won't fix | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
| Version: | 5.1 | OS: | Any |
| Assigned to: | Marc ALFF | CPU Architecture: | Any |
[25 Jul 2008 8:00]
Daniel Fischer
This is a feature request: The user is responsible for using correct options.
[24 Jul 2013 15:12]
Hartmut Holzgraefe
"Won't fix" as autotools builds were discontinued?
[24 Jul 2013 15:16]
Marc ALFF
Indeed, autotools are not used anymore, as the build now uses CMAKE. Changing this bug to won't fix. Thanks for adding the comment ... email notification still works, so I got the update. -- Marc Alff.

Description: The ./configure script generated by configure.in: - accepts invalid configurations options - generates inconsistent config.h files It is possible that the generated configuration later: - compiles properly - links properly and produce a binary that does *NOT* contain a feature that was specified using "--with-FEATURE" or "--enable-FEATURE" in the ./configure command line. How to repeat: ./configure --with-debug=no --enable-debug-sync configure succeeds, it should have failed. ./configure --without-maria-storage-engine --with-maria-tmp-tables configure succeeds, it should have failed. ./configure --without-embedded-server --with-embedded-privilege-control configure succeeds, it should have failed. ./configure --disable-community-features --enable-profiling configure succeeds, it should have failed. Suggested fix: When --with-FEATURE (or --enable-FEATURE) is specified in the command line, the ./configure script should: - either fail when a pre-requisite is not met, and explain what is missing in an error message - or pass, and *guarantee* that the feature *is* enabled in the code. For example, the following test in configure.in: if test "$with_debug" = "no" then if test "$enable_debug_sync" != "no" then AC_MSG_ERROR([The option --enable-debug-sync requires --with-debug]) fi fi ensures that: ./configure --with-debug=no --enable-debug-sync fails as follows: configure: error: The option --enable-debug-sync requires --with-debug which is the correct result (configurations errors should be caught at ./configure time).