From 563cefb820b539e9fb0e22a99650705420b386da Mon Sep 17 00:00:00 2001 From: Peter Marquardt Date: Thu, 5 Dec 2019 14:56:53 +0100 Subject: [PATCH] nvidia_linux: fix 'Compiler version check' for gcc 7.5 rebuilding the drivers resulted in ``` [BEE] make SYSSRC=/scratch/local2/beehive/nvidia_linux-4.14.87-236-390.87-0/tmp/linux-4.14.87-236.x86_64/source module make[1]: Entering directory '/scratch/local2/beehive/nvidia_linux-4.14.87-236-390.87-0/tmp/linux-4.14.87-236.x86_64/source' Compiler version check failed: The major and minor number of the compiler used to compile the kernel: gcc version 7.3.0 (GCC) does not match the compiler used here: cc (GCC) 7.5.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. It is recommended to set the CC environment variable to the compiler that was used to compile the kernel. The compiler version check can be disabled by setting the IGNORE_CC_MISMATCH environment variable to "1". However, mixing compiler versions between the kernel and kernel modules can result in subtle bugs that are difficult to diagnose. *** Failed CC version check. Bailing out! *** ``` fixed by feeding `IGNORE_CC_MISMATCH=1`. refs: #1505 / #1509 --- ...e => nvidia_linux-4.14.87-236-390.87-1.bee | 3 +- ...e => nvidia_linux-4.19.19-244-390.87-1.bee | 3 +- ...e => nvidia_linux-4.19.40-262-418.56-1.bee | 3 +- ...e => nvidia_linux-4.19.52-272-418.56-1.bee | 3 +- ...e => nvidia_linux-4.19.57-276-418.56-1.bee | 3 +- ...e => nvidia_linux-4.19.57-282-418.56-1.bee | 3 +- nvidia_linux-4.19.57-286-418.56-0.bee | 59 ------------------ nvidia_linux-4.19.57-286-418.56-1.bee | 60 +++++++++++++++++++ 8 files changed, 72 insertions(+), 65 deletions(-) rename nvidia_linux-4.14.87-236-390.87-0.bee => nvidia_linux-4.14.87-236-390.87-1.bee (96%) rename nvidia_linux-4.19.19-244-390.87-0.bee => nvidia_linux-4.19.19-244-390.87-1.bee (96%) rename nvidia_linux-4.19.57-282-418.56-0.bee => nvidia_linux-4.19.40-262-418.56-1.bee (96%) rename nvidia_linux-4.19.57-276-418.56-0.bee => nvidia_linux-4.19.52-272-418.56-1.bee (96%) rename nvidia_linux-4.19.40-262-418.56-0.bee => nvidia_linux-4.19.57-276-418.56-1.bee (96%) rename nvidia_linux-4.19.52-272-418.56-0.bee => nvidia_linux-4.19.57-282-418.56-1.bee (96%) delete mode 100755 nvidia_linux-4.19.57-286-418.56-0.bee create mode 100755 nvidia_linux-4.19.57-286-418.56-1.bee diff --git a/nvidia_linux-4.14.87-236-390.87-0.bee b/nvidia_linux-4.14.87-236-390.87-1.bee similarity index 96% rename from nvidia_linux-4.14.87-236-390.87-0.bee rename to nvidia_linux-4.14.87-236-390.87-1.bee index fdfaf7981..716119119 100755 --- a/nvidia_linux-4.14.87-236-390.87-0.bee +++ b/nvidia_linux-4.14.87-236-390.87-1.bee @@ -45,7 +45,8 @@ mee_build_pre() { } mee_build() { - start_cmd make SYSSRC=${LINUXSRCDIR} module + IGNORE_CC_MISMATCH=1 \ + make SYSSRC=${LINUXSRCDIR} module } mee_install() { diff --git a/nvidia_linux-4.19.19-244-390.87-0.bee b/nvidia_linux-4.19.19-244-390.87-1.bee similarity index 96% rename from nvidia_linux-4.19.19-244-390.87-0.bee rename to nvidia_linux-4.19.19-244-390.87-1.bee index b68c2bd62..d64a7a5a2 100755 --- a/nvidia_linux-4.19.19-244-390.87-0.bee +++ b/nvidia_linux-4.19.19-244-390.87-1.bee @@ -47,7 +47,8 @@ mee_build_pre() { } mee_build() { - start_cmd make SYSSRC=${LINUXSRCDIR} module + IGNORE_CC_MISMATCH=1 \ + make SYSSRC=${LINUXSRCDIR} module } mee_install() { diff --git a/nvidia_linux-4.19.57-282-418.56-0.bee b/nvidia_linux-4.19.40-262-418.56-1.bee similarity index 96% rename from nvidia_linux-4.19.57-282-418.56-0.bee rename to nvidia_linux-4.19.40-262-418.56-1.bee index f65ce53de..a8cf301ba 100755 --- a/nvidia_linux-4.19.57-282-418.56-0.bee +++ b/nvidia_linux-4.19.40-262-418.56-1.bee @@ -47,7 +47,8 @@ mee_build_pre() { } mee_build() { - start_cmd make SYSSRC=${LINUXSRCDIR} module + IGNORE_CC_MISMATCH=1 \ + make SYSSRC=${LINUXSRCDIR} module } mee_install() { diff --git a/nvidia_linux-4.19.57-276-418.56-0.bee b/nvidia_linux-4.19.52-272-418.56-1.bee similarity index 96% rename from nvidia_linux-4.19.57-276-418.56-0.bee rename to nvidia_linux-4.19.52-272-418.56-1.bee index f65ce53de..a8cf301ba 100755 --- a/nvidia_linux-4.19.57-276-418.56-0.bee +++ b/nvidia_linux-4.19.52-272-418.56-1.bee @@ -47,7 +47,8 @@ mee_build_pre() { } mee_build() { - start_cmd make SYSSRC=${LINUXSRCDIR} module + IGNORE_CC_MISMATCH=1 \ + make SYSSRC=${LINUXSRCDIR} module } mee_install() { diff --git a/nvidia_linux-4.19.40-262-418.56-0.bee b/nvidia_linux-4.19.57-276-418.56-1.bee similarity index 96% rename from nvidia_linux-4.19.40-262-418.56-0.bee rename to nvidia_linux-4.19.57-276-418.56-1.bee index f65ce53de..a8cf301ba 100755 --- a/nvidia_linux-4.19.40-262-418.56-0.bee +++ b/nvidia_linux-4.19.57-276-418.56-1.bee @@ -47,7 +47,8 @@ mee_build_pre() { } mee_build() { - start_cmd make SYSSRC=${LINUXSRCDIR} module + IGNORE_CC_MISMATCH=1 \ + make SYSSRC=${LINUXSRCDIR} module } mee_install() { diff --git a/nvidia_linux-4.19.52-272-418.56-0.bee b/nvidia_linux-4.19.57-282-418.56-1.bee similarity index 96% rename from nvidia_linux-4.19.52-272-418.56-0.bee rename to nvidia_linux-4.19.57-282-418.56-1.bee index f65ce53de..a8cf301ba 100755 --- a/nvidia_linux-4.19.52-272-418.56-0.bee +++ b/nvidia_linux-4.19.57-282-418.56-1.bee @@ -47,7 +47,8 @@ mee_build_pre() { } mee_build() { - start_cmd make SYSSRC=${LINUXSRCDIR} module + IGNORE_CC_MISMATCH=1 \ + make SYSSRC=${LINUXSRCDIR} module } mee_install() { diff --git a/nvidia_linux-4.19.57-286-418.56-0.bee b/nvidia_linux-4.19.57-286-418.56-0.bee deleted file mode 100755 index f65ce53de..000000000 --- a/nvidia_linux-4.19.57-286-418.56-0.bee +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/env beesh - -NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}.run" - -SRCURL[0]="https://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}" - -PATCHURL+=() - -LINUXPKG=${PKGEXTRANAME}.${ARCH} - -LINUXKLOCALVER=$(beeversion --format "%v.mx64.%r" "${LINUXPKG}") - -# '4.4.mx64.75' to '4.4.0.mx64.75' -if [[ $LINUXKLOCALVER =~ ^([0-9]+\.[0-9]+)(\.mx64.*) ]]; then - LINUXKLOCALVER="${BASH_REMATCH[1]}.0${BASH_REMATCH[2]}" -fi - - -build_in_sourcedir -sourcesubdir_append kernel - -: ${BEE_TMP_TMPDIR:=/tmp} - -mee_extract() { - LINUXBUILDARCHIVE="${BEE_BUILDARCHIVEDIR}/${LINUXPKG}.beebuild.tar.bz2" - - print_info "extracting nvidia archive .." - - start_cmd rmdir ${S} - start_cmd sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} - - if [ -d "/usr/src/linux/${LINUXPKG}/source" ] ; then - LINUXSRCDIR="/usr/src/linux/${LINUXPKG}/source" - elif [ -d "${BEE_TMP_TMPDIR}/${LINUXPKG}/source" ] ; then - LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" - else - print_info "extracting linux build ${LINUXPKG} .." - start_cmd gtar -xf "${LINUXBUILDARCHIVE}" -C ${BEE_TMP_TMPDIR} - LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" - fi - - print_info "using kernel sources from ${LINUXSRCDIR} .." -} - -mee_build_pre() { - ln -s ${LINUXSRCDIR}/include ${S}/include -} - -mee_build() { - start_cmd make SYSSRC=${LINUXSRCDIR} module -} - -mee_install() { - mkdir -pv ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION} - - cp -v *.ko ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}/ - - ln -s ${PKGVERSION} ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/current -} diff --git a/nvidia_linux-4.19.57-286-418.56-1.bee b/nvidia_linux-4.19.57-286-418.56-1.bee new file mode 100755 index 000000000..a8cf301ba --- /dev/null +++ b/nvidia_linux-4.19.57-286-418.56-1.bee @@ -0,0 +1,60 @@ +#!/bin/env beesh + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}.run" + +SRCURL[0]="https://download.nvidia.com/XFree86/Linux-x86_64/${PKGVERSION}/${NVIDIA_ARCHIVE}" + +PATCHURL+=() + +LINUXPKG=${PKGEXTRANAME}.${ARCH} + +LINUXKLOCALVER=$(beeversion --format "%v.mx64.%r" "${LINUXPKG}") + +# '4.4.mx64.75' to '4.4.0.mx64.75' +if [[ $LINUXKLOCALVER =~ ^([0-9]+\.[0-9]+)(\.mx64.*) ]]; then + LINUXKLOCALVER="${BASH_REMATCH[1]}.0${BASH_REMATCH[2]}" +fi + + +build_in_sourcedir +sourcesubdir_append kernel + +: ${BEE_TMP_TMPDIR:=/tmp} + +mee_extract() { + LINUXBUILDARCHIVE="${BEE_BUILDARCHIVEDIR}/${LINUXPKG}.beebuild.tar.bz2" + + print_info "extracting nvidia archive .." + + start_cmd rmdir ${S} + start_cmd sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} + + if [ -d "/usr/src/linux/${LINUXPKG}/source" ] ; then + LINUXSRCDIR="/usr/src/linux/${LINUXPKG}/source" + elif [ -d "${BEE_TMP_TMPDIR}/${LINUXPKG}/source" ] ; then + LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" + else + print_info "extracting linux build ${LINUXPKG} .." + start_cmd gtar -xf "${LINUXBUILDARCHIVE}" -C ${BEE_TMP_TMPDIR} + LINUXSRCDIR="${BEE_TMP_TMPDIR}/${LINUXPKG}/source" + fi + + print_info "using kernel sources from ${LINUXSRCDIR} .." +} + +mee_build_pre() { + ln -s ${LINUXSRCDIR}/include ${S}/include +} + +mee_build() { + IGNORE_CC_MISMATCH=1 \ + make SYSSRC=${LINUXSRCDIR} module +} + +mee_install() { + mkdir -pv ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION} + + cp -v *.ko ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/${PKGVERSION}/ + + ln -s ${PKGVERSION} ${D}${DATAROOTDIR}/nvidia/kernel/${LINUXKLOCALVER}/current +}