On 08/12/16, Maciej W. Rozycki wrote: > Hi, > > Commit 235763 removed support for versions of MPFR below 3.1.0 which have > a flat directory structure, however it did not introduce any safety check > for such an unhandled library version present in the tree. Consequently > the system-installed version is silently chosen, which if too old, causes > a confusing configuration failure in mpc/ stating a misleading version > requirement: > > checking for MPFR... yes > checking for recent GMP... yes > checking for recent MPFR... no > configure: error: MPFR version >= 2.4.2 required > make[1]: *** [configure-mpc] Error 1 > > I propose the check below to make people's life just a little bit easier > and indicate right away that an incorrect version of MPFR has been found > in the source tree. This is especially helpful when you just sync your > build tree from upstream and may easily miss the updated requirement. I > carefully chose to use "handled" rather than "supported" in the message as > the commit referred clearly indicates you are on your own with versions of > the libraries different from those stated in `download_prerequisites'. > > + # MPFR v3.1.0 moved the sources into a src sub-directory. > + if ! test -d ${srcdir}/mpfr/src; then > + as_fn_error "Building GCC with MPFR in the source tree is only handled > for MPFR 3.1.0+." "$LINENO" 5 > + fi
I think it is a good idea to detect this situation, but you should advise the user that he has to use exactly the same version(s) that contrib/download_prerequisites installs. Bernd.