Make Missing Modules.symvers Fatal

Detect early on in configure if the Modules.symvers file is missing.
Without this file there will be build failures later and it's best
to catch this early and provide a useful error.  In this case the
most likely problem is the kernel-devel packages are not installed.
It may also be possible that they are using an unbuilt custom kernel
in which case they must build the kernel first.

Closes #127
This commit is contained in:
Brian Behlendorf 2011-03-07 13:03:48 -08:00
parent 15805c7711
commit a60b1c0a8e
2 changed files with 36 additions and 0 deletions

View File

@ -61,6 +61,14 @@ AC_DEFUN([ZFS_AC_MODULE_SYMVERS], [
else else
LINUX_SYMBOLS=Module.symvers LINUX_SYMBOLS=Module.symvers
fi fi
if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
AC_MSG_ERROR([
*** Please make sure the kernel devel package for your distribution
*** is installed. If your building with a custom kernel make sure the
*** kernel is configured, built, and the '--with-linux=PATH' configure
*** option refers to the location of the kernel source.])
fi
else else
LINUX_SYMBOLS=NONE LINUX_SYMBOLS=NONE
fi fi

28
configure vendored
View File

@ -11964,6 +11964,20 @@ $as_echo_n "checking kernel file name for module symbols... " >&6; }
else else
LINUX_SYMBOLS=Module.symvers LINUX_SYMBOLS=Module.symvers
fi fi
if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
{ { $as_echo "$as_me:$LINENO: error:
*** Please make sure the kernel devel package for your distribution
*** is installed. If your building with a custom kernel make sure the
*** kernel is configured, built, and the '--with-linux=PATH' configure
*** option refers to the location of the kernel source." >&5
$as_echo "$as_me: error:
*** Please make sure the kernel devel package for your distribution
*** is installed. If your building with a custom kernel make sure the
*** kernel is configured, built, and the '--with-linux=PATH' configure
*** option refers to the location of the kernel source." >&2;}
{ (exit 1); exit 1; }; }
fi
else else
LINUX_SYMBOLS=NONE LINUX_SYMBOLS=NONE
fi fi
@ -15955,6 +15969,20 @@ $as_echo_n "checking kernel file name for module symbols... " >&6; }
else else
LINUX_SYMBOLS=Module.symvers LINUX_SYMBOLS=Module.symvers
fi fi
if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
{ { $as_echo "$as_me:$LINENO: error:
*** Please make sure the kernel devel package for your distribution
*** is installed. If your building with a custom kernel make sure the
*** kernel is configured, built, and the '--with-linux=PATH' configure
*** option refers to the location of the kernel source." >&5
$as_echo "$as_me: error:
*** Please make sure the kernel devel package for your distribution
*** is installed. If your building with a custom kernel make sure the
*** kernel is configured, built, and the '--with-linux=PATH' configure
*** option refers to the location of the kernel source." >&2;}
{ (exit 1); exit 1; }; }
fi
else else
LINUX_SYMBOLS=NONE LINUX_SYMBOLS=NONE
fi fi