You are not logged in.

#1 2021-01-18 19:56:13

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

[ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

Hello again, Wonderful Arch Community!

So far, so good with my Linux kernel experiment; I know how to build the kernel and patch the Nvidia modules into the kernel (I found an incredibly useful, noob-friendly script for it on GitHub, called nvidia-all), but when I'm trying to extract the driver, this error message aborts the install process:

==> Extracting sources...
==> Launching prepare()...
  -> Self-Extracting NVIDIA-Linux-x86_64-460.32.03.run...
Creating directory NVIDIA-Linux-x86_64-460.32.03
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 460.32.03NVIDIA-Linux-x86_64-460.32.03.run: line 688: 276580 Aborted         (core made) tar xvf - 2> /dev/null
Extraction failed.
Finished

==> ERROR: An error occured in prepare().
    Aborting...

And this annoys me a lot. It doesn't happen with other packages, though; everything else builds perfectly fine from the AUR.

NOTE: I did not tinker with the PKGBUILD file; this is the vanilla PKGBUILD file that came with the .run file of the driver. Here's what is inside of the PKGBUILD file at the prepare() part for reference:

prepare() {
  # Remove previous builds
  [ -d "$_pkg" ] && rm -rf "$_pkg"

  # Use custom compiler paths if defined
  if [ -n "${CUSTOM_GCC_PATH}" ]; then
    PATH=${CUSTOM_GCC_PATH}/bin:${CUSTOM_GCC_PATH}/lib:${CUSTOM_GCC_PATH}/include:${PATH}
  fi

  # Extract
  msg2 "Self-Extracting $_pkg.run..."
  sh "$_pkg".run -x
  cd "$_pkg"

  # linux-rt fix for newer drivers. This just passes the same value regardless of kernel type as a bypass. This was stolen from https://gitlab.manjaro.org/packages/community/realtime-kernels/linux416-rt-ex>
  sed -i -e 's|PREEMPT_RT_PRESENT=1|PREEMPT_RT_PRESENT=0|g' kernel/conftest.sh

  # non-english locale workaround for 440.26
  if [[ $pkgver = 440.26 ]]; then
    sed -i -e 's|$CC $CFLAGS -c conftest_headers$$.c|LC_ALL=C $CC $CFLAGS -c conftest_headers$$.c|g' kernel/conftest.sh
  fi

  # 440.58.01 Unfrogging
  if [[ $pkgver = 440.58.01 ]]; then
    sed -i -e '/bug/d' nvidia-application-profiles-440.58.01-rc
  fi

  cp -a kernel kernel-dkms
  cd kernel-dkms
  sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf
  sed -i 's/__JOBS/`nproc`/' dkms.conf
  sed -i 's/__DKMS_MODULES//' dkms.conf
  sed -i '$iBUILT_MODULE_NAME[0]="nvidia"\
DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\
BUILT_MODULE_NAME[1]="nvidia-uvm"\
DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\
BUILT_MODULE_NAME[2]="nvidia-modeset"\
DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\
BUILT_MODULE_NAME[3]="nvidia-drm"\
DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf

  # Gift for linux-rt guys
  sed -i 's/NV_EXCLUDE_BUILD_MODULES/IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES/' dkms.conf

  cd ../
  bsdtar -xf nvidia-persistenced-init.tar.bz2

  if [[ $pkgver = 396* ]] || [[ $pkgver = 410* ]] || [[ $pkgver = 415* ]] || [[ $pkgver = 418* ]] || [[ $pkgver = 430* ]]; then
    sed -i 's/__NV_VK_ICD__/libGLX_nvidia.so.0/' nvidia_icd.json.template
  fi

  # Loop kernels (4.15.0-1-ARCH, 4.14.5-1-ck, ...)
  local -a _kernels
  if [ -n "$_kerneloverride" ]; then
    _kernels="$_kerneloverride"
  else
    mapfile -t _kernels < <(find /usr/lib/modules/*/build/version -exec cat {} + || find /usr/lib/modules/*/extramodules/version -exec cat {} +)
  fi
  for _kernel in "${_kernels[@]}"; do
    # Use separate source directories
    cp -r kernel kernel-$_kernel

    cd "$srcdir"/"$_pkg"/kernel-$_kernel
    if [[ $pkgver != 460* ]]; then
      msg2 "Applying linux-version.diff for $_kernel..."
      patch -p2 -i "$srcdir"/linux-version.diff
    fi

    # https://forums.developer.nvidia.com/t/455-23-04-page-allocation-failure-in-kernel-module-at-random-points/155250/77
    if [[ $pkgver = 455* ]]; then
      msg2 "Applying 455 crashfix for $_kernel..."
      patch -p2 -i "$srcdir"/455-crashfix.diff
    fi
    cd ..

    ## kernel version variables, quirks & driver patch whitelists

    # https://bugs.archlinux.org/task/62142
    if [ "$_62142_fix" = "true" ]; then
      sed -i 's/return (ops->map_resource != NULL);/return (ops \&\& ops->map_resource);/' "$srcdir/$_pkg/kernel-$_kernel/nvidia/nv-dma.c" && msg2 "Applied fix for https://bugs.archlinux.org/task/62142"
    fi

    # 4.16
    if (( $(vercmp "$_kernel" "4.16") >= 0 )); then
      _kernel416="1"
      _whitelist416=( 396* 410* 415* 418.3* 418.4* 418.52.0* 418.52.10 418.52.14 )
    fi

    # 4.19
    if (( $(vercmp "$_kernel" "4.19") >= 0 )); then
      _kernel419="1"
      _whitelist419=( 396* )
    fi

    # 4.20
    if (( $(vercmp "$_kernel" "4.20") >= 0 )); then
      # Fix for "unknown type name 'ipmi_user_t'" (required for older than 2018.12.7 drivers when used on 4.20+)
      if [[ $pkgver = 396* ]] || [[ $pkgver = 410.5* ]] || [[ $pkgver = 410.6* ]] || [[ $pkgver = 410.7* ]] || [[ $pkgver = 415.1* ]]; then
        _oldstuff="1"
        cd "$srcdir"/"$_pkg"/kernel-$_kernel
        msg2 "Applying 01-ipmi-vm.diff for $_kernel..."
        patch -p2 -i "$srcdir"/01-ipmi-vm.diff
        if [[ $pkgver != 396* ]]; then
          _youngeryetoldstuff="1"
          msg2 "Applying 02-ipmi-vm.diff for $_kernel..."
          patch -p2 -i "$srcdir"/02-ipmi-vm.diff
        fi
        cd ..
      else
        msg2 "Skipping ipmi-vm fixes (not needed for this driver/kernel combination)"
      fi
    fi

    # 5.0
    if (( $(vercmp "$_kernel" "5.0") >= 0 )); then
      _kernel50="1"
      _whitelist50=( 396* 410.5* 410.6* 410.7* 410.9* 415* )
    fi

    # 5.1
    if (( $(vercmp "$_kernel" "5.1") >= 0 )); then
      _kernel51="1"
      _whitelist51=( 396* 410* 415* 418.3* 418.4* 418.52.0* 418.52.10 )
      if [[ $pkgver != 430* ]]; then
        sed -i "s/static int nv_drm_vma_fault(struct vm_fault \*vmf)/#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)\nstatic int nv_drm_vma_fault(struct vm_fault \*vmf)\n#else\nstatic vm_fault_t nv_drm_vm>
        if [[ $pkgver = 396* ]] || [[ $pkgver = 410* ]] || [[ $pkgver = 415* ]] || [[ $pkgver = 418.3* ]] || [[ $pkgver = 418.4* ]]; then
          _low418="1"
          cd "$srcdir"/"$_pkg"/kernel-$_kernel
          msg2 "Applying list_is_first.diff for $_kernel..."
          # Use sed for the moving parts of the patch - Fix for "redefinition of ‘list_is_first’" (required for older than 418.56 drivers when used on 5.1+)
          sed -i "s/static inline int list_is_first(const struct list_head \*list,/#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)\nstatic inline int list_is_first(const struct list_head \*list,/g" "$srcd>
          sed -i "s/                                const struct list_head \*head)/                                const struct list_head \*head)\n#else\nstatic inline int nv_list_is_first(const struct lis>
          patch -Np2 -i "$srcdir"/list_is_first.diff
          cd ..
        else
          msg2 "Skipping list_is_first fixes (not needed for this driver/kernel combination)"
        fi
      fi
    fi

    # 5.2
    if (( $(vercmp "$_kernel" "5.2") >= 0 )); then
      _kernel52="1"
      _whitelist52=( 396* 410* 415* 418.3* 418.4* 418.56 418.7* 418.52.0* 418.52.10 418.52.14 )
    fi

    # 5.3
    if (( $(vercmp "$_kernel" "5.3") >= 0 )); then
      _kernel53="1"
      _whitelist53=( 396* 410* 415* 418.3* 418.4* 418.5* 418.7* 418.8* )
    fi

    # 5.4
    if (( $(vercmp "$_kernel" "5.4") >= 0 )); then
      _kernel54="1"
      _whitelist54=( 396* 410* 415* 418.3* 418.4* 418.5* 418.7* 418.8* 430.0* 430.1* 430.2* 430.3* 430.4* 430.5* 435.1* 435.21* 435.24* 435.27.01 )
      if [[ $pkgver = 435.27.02 ]] || [[ $pkgver = 435.27.03 ]] || [[ $pkgver = 435.27.06 ]] || [[ $pkgver = 435.27.07 ]] || [[ $pkgver = 435.27.08 ]] || [[ $pkgver = 440.26 ]]; then
        cd "$srcdir"/"$_pkg"/kernel-$_kernel
        msg2 "Applying kernel-5.4-symver.diff for $_kernel..."
        patch -Np2 -i "$srcdir"/kernel-5.4-symver.diff
        cd ..
      fi
      if [[ $pkgver = 396* ]] || [[ $pkgver = 410* ]] || [[ $pkgver = 415* ]] || [[ $pkgver = 418.* ]] || [[ $pkgver = 430.0* ]] || [[ $pkgver = 435.* ]] || [[ $pkgver = 440.2* ]] || [[ $pkgver = 440.3* ]]>
        _54_prime="true"
        cd "$srcdir"/"$_pkg"/kernel-$_kernel
        msg2 "Applying kernel-5.4-prime.diff for $_kernel..."
        patch -Np2 -i "$srcdir"/kernel-5.4-prime.diff
        cd ..
      fi
    fi

    # 5.5
    if (( $(vercmp "$_kernel" "5.5") >= 0 )); then
      _kernel55="1"
      _whitelist55=( 396* 410* 415* 418* 430* 435* 440.2* 440.3* 440.43.01 440.44 )
    fi

    # 5.6
    if (( $(vercmp "$_kernel" "5.6") >= 0 )); then
      _kernel56="1"
      _whitelist56=( 396* 410* 415* 418* 430* 435* 440.2* 440.3* 440.4* 440.5* 440.6* )
      if [[ $pkgver = 396* ]] || [[ $pkgver = 410* ]] || [[ $pkgver = 415* ]] || [[ $pkgver = 418.* ]] || [[ $pkgver = 430.0* ]] || [[ $pkgver = 435.* ]] || [[ $pkgver = 440.2* ]] || [[ $pkgver = 440.3* ]]>
        cd "$srcdir"/"$_pkg"/kernel-$_kernel
        msg2 "Applying 5.6-legacy-includes.diff for $_kernel..."
        patch -Np2 -i "$srcdir"/5.6-legacy-includes.diff
        msg2 "Applying 5.6-ioremap.diff for $_kernel..."
        patch -Np2 -i "$srcdir"/5.6-ioremap.diff
        cd ..
      elif [[ $pkgver = 440.5* ]]; then
        cd "$srcdir"/"$_pkg"/kernel-$_kernel
        msg2 "Applying 5.6-ioremap.diff for $_kernel..."
        patch -Np2 -i "$srcdir"/5.6-ioremap.diff
        cd ..
      fi
    fi

    # 5.7
    if (( $(vercmp "$_kernel" "5.7") >= 0 )); then
      _kernel57="1"
      _whitelist57=( 396* 410* 415* 418* 430* 435* 440* )
    fi

    # 5.8
    if (( $(vercmp "$_kernel" "5.8") >= 0 )); then
      _kernel58="1"
      _whitelist58=( 396* 410* 415* 418* 430* 435* 440* 450.3* 450.51 450.56.01 )
      if [[ $pkgver = 396* ]] || [[ $pkgver = 41* ]] || [[ $pkgver = 43* ]] || [[ $pkgver = 44* ]] || [[ $pkgver = 450.3* ]] || [[ $pkgver = 450.51 ]]; then
        cd "$srcdir"/"$_pkg"/kernel-$_kernel
        msg2 "Applying 5.8-legacy.diff for $_kernel..."
        patch -Np2 -i "$srcdir"/5.8-legacy.diff
        cd ..
      fi
    fi

    # 5.9
    if (( $(vercmp "$_kernel" "5.9") >= 0 )); then
      _kernel59="1"
      _whitelist59=( 450.5* 450.6* )
    fi

    # 5.9 - 5.10 quirk
    if (( $(vercmp "$_kernel" "5.9") >= 0 )) || (( $(vercmp "$_kernel" "5.10") >= 0 )); then
      if [[ $pkgver = 450* ]] || [[ $pkgver = 455.2* ]] || [[ $pkgver = 455.3* ]]; then
        cd "$srcdir"/"$_pkg"/kernel-$_kernel
        msg2 "Applying 5.9-gpl.diff for $_kernel..."
        patch -Np2 -i "$srcdir"/5.9-gpl.diff
        cd ..
      fi
    fi

    # 5.10
    if (( $(vercmp "$_kernel" "5.10") >= 0 )); then
      _kernel510="1"
      _whitelist510=( 450* 455.2* 455.3* )
    fi

    # 5.11
    if (( $(vercmp "$_kernel" "5.11") >= 0 )); then
      _kernel511="1"
      _whitelist511=( 460* )
    fi

    # Loop patches (linux-4.15.patch, lol.patch, ...)
    for _p in $(printf -- '%s\n' ${source[@]} | grep .patch); do  # https://stackoverflow.com/a/21058239/1821548
      # Patch version (4.15, "", ...)
      _patch=$(echo $_p | grep -Po "\d+\.\d+")

      # Cd in place
      cd "$srcdir"/"$_pkg"/kernel-$_kernel

      if [ "$_patch" = "4.16" ]; then
        _whitelist=(${_whitelist416[@]})
      fi
      if [ "$_patch" = "4.19" ]; then
        _whitelist=(${_whitelist419[@]})
      fi
      if [ "$_patch" = "5.0" ]; then
        _whitelist=(${_whitelist50[@]})
      fi
      if [ "$_patch" = "5.1" ]; then
        _whitelist=(${_whitelist51[@]})
      fi
      if [ "$_patch" = "5.2" ]; then
        _whitelist=(${_whitelist52[@]})
      fi
      if [ "$_patch" = "5.3" ]; then
        _whitelist=(${_whitelist53[@]})
      fi
      if [ "$_patch" = "5.4" ]; then
        _whitelist=(${_whitelist54[@]})
      fi
      if [ "$_patch" = "5.5" ]; then
        _whitelist=(${_whitelist55[@]})
      fi
      if [ "$_patch" = "5.6" ]; then
        _whitelist=(${_whitelist56[@]})
      fi
      if [ "$_patch" = "5.7" ]; then
        _whitelist=(${_whitelist57[@]})
      fi
      if [ "$_patch" = "5.8" ]; then
        _whitelist=(${_whitelist58[@]})
      fi
      if [ "$_patch" = "5.9" ]; then
        _whitelist=(${_whitelist59[@]})
      fi
      if [ "$_patch" = "5.10" ]; then
        _whitelist=(${_whitelist510[@]})
      fi
      if [ "$_patch" = "5.11" ]; then
        _whitelist=(${_whitelist511[@]})
      fi

      patchy=0
      if (( $(vercmp "$_kernel" "$_patch") >= 0 )); then
        for yup in "${_whitelist[@]}"; do
          [[ $pkgver = $yup ]] && patchy=1
        done

        if [ "$patchy" = "1" ]; then
          msg2 "Applying $_p for $_kernel..."
          patch -p2 -i "$srcdir"/$_p
        else
          msg2 "Skipping $_p as it doesn't apply to this driver version..."
        fi
      fi
    done

    cd ..

  done

  # dkms patches
  if [ "$_dkms" = "true" ]; then

    # https://bugs.archlinux.org/task/62142
    if [ "$_62142_fix" = "true" ]; then
      sed -i 's/return (ops->map_resource != NULL);/return (ops \&\& ops->map_resource);/' "$srcdir/$_pkg/kernel-dkms/nvidia/nv-dma.c" && msg2 "Applied fix for https://bugs.archlinux.org/task/62142"
    fi

    if [[ $pkgver != 460* ]]; then
      msg2 "Applying linux-version.diff for dkms..."
      patch -Np1 -i "$srcdir"/linux-version.diff
    fi

    # https://forums.developer.nvidia.com/t/455-23-04-page-allocation-failure-in-kernel-module-at-random-points/155250/77
    if [[ $pkgver = 455* ]]; then
      msg2 "Applying 455 crashfix for dkms..."
      patch -Np1 -i "$srcdir"/455-crashfix.diff
    fi

    # 4.16
    if [ "$_kernel416" = "1" ]; then
      patchy=0
      for yup in "${_whitelist416[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-4.16.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-4.16.patch
      else
        msg2 "Skipping kernel-4.16.patch as it doesn't apply to this driver version..."
      fi
    fi

    # 4.19
    if [ "$_kernel419" = "1" ]; then
      patchy=0
      for yup in "${_whitelist419[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-4.19.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-4.19.patch
      else
        msg2 "Skipping kernel-4.19.patch as it doesn't apply to this driver version..."
      fi
    fi

    # 5.0
    if [ "$_kernel50" = "1" ]; then
      patchy=0
      for yup in "${_whitelist50[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.0.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.0.patch
      else
        msg2 "Skipping kernel-5.0.patch as it doesn't apply to this driver version..."
      fi
    fi

    # 5.1
    if [ "$_kernel51" = "1" ]; then
      patchy=0
      for yup in "${_whitelist51[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.1.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.1.patch
        sed -i "s/static int nv_drm_vma_fault(struct vm_fault \*vmf)/#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)\nstatic int nv_drm_vma_fault(struct vm_fault \*vmf)\n#else\nstatic vm_fault_t nv_drm_vm>
      else
        msg2 "Skipping kernel-5.1.patch as it doesn't apply to this driver version..."
      fi
      if [ "$_low418" = "1" ]; then
        msg2 "Applying list_is_first.patch for dkms..."
        # Use sed for the moving parts of the patch - Fix for "redefinition of ‘list_is_first’" (required for older than 418.56 drivers when used on 5.1+)
        sed -i "s/static inline int list_is_first(const struct list_head \*list,/#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)\nstatic inline int list_is_first(const struct list_head \*list,/g" "$srcdir>
        sed -i "s/                                const struct list_head \*head)/                                const struct list_head \*head)\n#else\nstatic inline int nv_list_is_first(const struct list_>
        patch -Np1 -i "$srcdir"/list_is_first.diff
      fi
    fi

    # 5.2
    if [ "$_kernel52" = "1" ]; then
      patchy=0
      for yup in "${_whitelist52[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.2.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.2.patch
      else
        msg2 "Skipping kernel-5.2.patch as it doesn't apply to this driver version..."
      fi
    fi

    # 5.3
    if [ "$_kernel53" = "1" ]; then
      patchy=0
      for yup in "${_whitelist53[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.3.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.3.patch
      else
        msg2 "Skipping kernel-5.3.patch as it doesn't apply to this driver version..."
      fi
    fi

    # 5.4
    if [ "$_kernel54" = "1" ]; then
      patchy=0
      for yup in "${_whitelist54[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.4.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.4.patch
      else
        msg2 "Skipping kernel-5.4.patch as it doesn't apply to this driver version..."
      fi
      if [[ $pkgver = 435.27.02 ]] || [[ $pkgver = 435.27.03 ]] || [[ $pkgver = 435.27.06 ]] || [[ $pkgver = 435.27.07 ]] || [[ $pkgver = 435.27.08 ]] || [[ $pkgver = 440.26 ]]; then
        patch -Np1 -i "$srcdir"/kernel-5.4-symver.diff
      fi
    fi

    # 5.5
    if [ "$_kernel55" = "1" ]; then
      patchy=0
      for yup in "${_whitelist55[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.5.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.5.patch
      else
        msg2 "Skipping kernel-5.5.patch as it doesn't apply to this driver version..."
      fi
    fi

    # 5.6
    if [ "$_kernel56" = "1" ]; then
      patchy=0
      for yup in "${_whitelist56[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.6.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.6.patch
      else
        msg2 "Skipping kernel-5.6.patch as it doesn't apply to this driver version..."
      fi
      if [[ $pkgver = 396* ]] || [[ $pkgver = 410* ]] || [[ $pkgver = 415* ]] || [[ $pkgver = 418.* ]] || [[ $pkgver = 430.0* ]] || [[ $pkgver = 435.* ]] || [[ $pkgver = 440.2* ]] || [[ $pkgver = 440.3* ]]>
        msg2 "Applying 5.6-legacy-includes.diff for dkms..."
        patch -Np1 -i "$srcdir"/5.6-legacy-includes.diff
        msg2 "Applying 5.6-ioremap.diff for dkms..."
        patch -Np1 -i "$srcdir"/5.6-ioremap.diff
      elif [[ $pkgver = 440.5* ]]; then
        msg2 "Applying 5.6-ioremap.diff for dkms..."
        patch -Np1 -i "$srcdir"/5.6-ioremap.diff
      fi
    fi

    # 5.7
    if [ "$_kernel57" = "1" ]; then
      patchy=0
      for yup in "${_whitelist57[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.7.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.7.patch
      else
        msg2 "Skipping kernel-5.7.patch as it doesn't apply to this driver version..."
      fi
    fi

    # 5.8
    if [ "$_kernel58" = "1" ]; then
      patchy=0
      for yup in "${_whitelist58[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.8.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.8.patch
      else
        msg2 "Skipping kernel-5.8.patch as it doesn't apply to this driver version..."
      fi
      if [[ $pkgver = 396* ]] || [[ $pkgver = 41* ]] || [[ $pkgver = 43* ]] || [[ $pkgver = 44* ]] || [[ $pkgver = 450.3* ]] || [[ $pkgver = 450.51 ]]; then
        msg2 "Applying 5.8-legacy.diff for dkms..."
        patch -Np1 -i "$srcdir"/5.8-legacy.diff
      fi
    fi

    # 5.9
    if [ "$_kernel59" = "1" ]; then
      patchy=0
      for yup in "${_whitelist59[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.9.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.9.patch
      else
        msg2 "Skipping kernel-5.9.patch as it doesn't apply to this driver version..."
      fi
    fi
    # 5.10
    if [ "$_kernel510" = "1" ]; then
      patchy=0
      for yup in "${_whitelist510[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.10.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.10.patch
      else
        msg2 "Skipping kernel-5.10.patch as it doesn't apply to this driver version..."
      fi
    fi

    # 5.11
    if [ "$_kernel511" = "1" ]; then
      patchy=0
      for yup in "${_whitelist511[@]}"; do
        [[ $pkgver = $yup ]] && patchy=1
      done
      if [ "$patchy" = "1" ]; then
        msg2 "Applying kernel-5.11.patch for dkms..."
        patch -Np1 -i "$srcdir"/kernel-5.11.patch
      else
        msg2 "Skipping kernel-5.11.patch as it doesn't apply to this driver version..."
      fi
    fi

    # 5.9 - 5.10 quirk
    if [ "$_kernel59" = "1" ] || [ "$_kernel510" = "1" ]; then
      if [[ $pkgver = 450* ]] || [[ $pkgver = 455.2* ]] || [[ $pkgver = 455.3* ]]; then
        msg2 "Applying 5.9-gpl.diff for dkms..."
        patch -Np1 -i "$srcdir"/5.9-gpl.diff
      fi
    fi

    # Legacy quirks
    if [ "$_oldstuff" = "1" ]; then
      msg2 "Applying 01-ipmi-vm.diff for dkms..."
      patch -Np1 -i "$srcdir"/01-ipmi-vm.diff
    fi
    if [ "$_youngeryetoldstuff" = "1" ]; then
      msg2 "Applying 02-ipmi-vm.diff for dkms..."
      patch -Np1 -i "$srcdir"/02-ipmi-vm.diff
    fi
    if [[ $pkgver = 396* ]] || [[ $pkgver = 410* ]] || [[ $pkgver = 415* ]] || [[ $pkgver = 418.* ]] || [[ $pkgver = 430.0* ]] || [[ $pkgver = 435.* ]] || [[ $pkgver = 440.2* ]] || [[ $pkgver = 440.3* ]] |>
      msg2 "Applying kernel-5.4-prime.diff for dkms..."
      patch -Np1 -i "$srcdir"/kernel-5.4-prime.diff
    fi
  fi
}

Is this some kind of a problem with either gcc or makepkg; or is it a completely different issue that does not involve the compiler?

Please help, I'm confused.

Last edited by TheFurryWeeb (2021-01-19 09:53:15)


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#2 2021-01-18 20:41:20

loqs
Member
Registered: 2014-03-06
Posts: 13,005

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

From original thread https://bbs.archlinux.org/viewtopic.php … 6#p1946126

PID: 13016 (tar)
           UID: 1000 (ironicfur)
           GID: 1000 (ironicfur)
        Signal: 6 (ABRT)
     Timestamp: Mon 2020-12-28 00:43:08 CET (1h 17min ago)
  Command Line: tar xvf -
    Executable: /usr/bin/tar
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.gnome.Terminal.slice/vte-spawn-a3f64d3f-3879-401a-9231-f512bad2b115.scope
          Unit: user@1000.service
     User Unit: vte-spawn-a3f64d3f-3879-401a-9231-f512bad2b115.scope
         Slice: user-1000.slice
     Owner UID: 1000 (ironicfur)
       Boot ID: 92cfda7b81d942ee805ae4aa0482ca26
    Machine ID: f9a0f45381494d449cdb743feb905fad
      Hostname: IronicFur-PC
       Storage: /var/lib/systemd/coredump/core.tar.1000.92cfda7b81d942ee805ae4aa0482ca26.13016.1609112588000000.zst
       Message: Process 13016 (tar) of user 1000 dumped core.
                
                Stack trace of thread 13016:
                #0  0x00007f21dcbf1615 raise (libc.so.6 + 0x3d615)
                #1  0x00007f21dcbda862 abort (libc.so.6 + 0x26862)
                #2  0x00007f21dc523464 n/a (libnss_systemd.so.2 + 0x25464)
                #3  0x00007f21dc519f68 n/a (libnss_systemd.so.2 + 0x1bf68)
                #4  0x00007f21dc5213d0 n/a (libnss_systemd.so.2 + 0x233d0)
                #5  0x00007f21dc5221ca n/a (libnss_systemd.so.2 + 0x241ca)
                #6  0x00007f21dc508109 _nss_systemd_getpwnam_r (libnss_systemd.so.2 + 0xa109)
                #7  0x00007f21dcc8042b getpwnam_r@@GLIBC_2.2.5 (libc.so.6 + 0xcc42b)
                #8  0x00007f21dcc7fd1c getpwnam (libc.so.6 + 0xcbd1c)
                #9  0x0000561c36d8f4df n/a (tar + 0x244df)
                #10 0x0000561c36d8a6e1 n/a (tar + 0x1f6e1)
                #11 0x0000561c36d8b755 n/a (tar + 0x20755)
                #12 0x0000561c36d74328 n/a (tar + 0x9328)
                #13 0x00007f21dcbdc152 __libc_start_main (libc.so.6 + 0x28152)
                #14 0x0000561c36d743ce n/a (tar + 0x93ce)

You could reproduce the issue by executing the self extracting shell script so that rules out makepkg and gcc.

Offline

#3 2021-01-18 22:08:04

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

loqs wrote:

From original thread https://bbs.archlinux.org/viewtopic.php … 6#p1946126

PID: 13016 (tar)
           UID: 1000 (ironicfur)
           GID: 1000 (ironicfur)
        Signal: 6 (ABRT)
     Timestamp: Mon 2020-12-28 00:43:08 CET (1h 17min ago)
  Command Line: tar xvf -
    Executable: /usr/bin/tar
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.gnome.Terminal.slice/vte-spawn-a3f64d3f-3879-401a-9231-f512bad2b115.scope
          Unit: user@1000.service
     User Unit: vte-spawn-a3f64d3f-3879-401a-9231-f512bad2b115.scope
         Slice: user-1000.slice
     Owner UID: 1000 (ironicfur)
       Boot ID: 92cfda7b81d942ee805ae4aa0482ca26
    Machine ID: f9a0f45381494d449cdb743feb905fad
      Hostname: IronicFur-PC
       Storage: /var/lib/systemd/coredump/core.tar.1000.92cfda7b81d942ee805ae4aa0482ca26.13016.1609112588000000.zst
       Message: Process 13016 (tar) of user 1000 dumped core.
                
                Stack trace of thread 13016:
                #0  0x00007f21dcbf1615 raise (libc.so.6 + 0x3d615)
                #1  0x00007f21dcbda862 abort (libc.so.6 + 0x26862)
                #2  0x00007f21dc523464 n/a (libnss_systemd.so.2 + 0x25464)
                #3  0x00007f21dc519f68 n/a (libnss_systemd.so.2 + 0x1bf68)
                #4  0x00007f21dc5213d0 n/a (libnss_systemd.so.2 + 0x233d0)
                #5  0x00007f21dc5221ca n/a (libnss_systemd.so.2 + 0x241ca)
                #6  0x00007f21dc508109 _nss_systemd_getpwnam_r (libnss_systemd.so.2 + 0xa109)
                #7  0x00007f21dcc8042b getpwnam_r@@GLIBC_2.2.5 (libc.so.6 + 0xcc42b)
                #8  0x00007f21dcc7fd1c getpwnam (libc.so.6 + 0xcbd1c)
                #9  0x0000561c36d8f4df n/a (tar + 0x244df)
                #10 0x0000561c36d8a6e1 n/a (tar + 0x1f6e1)
                #11 0x0000561c36d8b755 n/a (tar + 0x20755)
                #12 0x0000561c36d74328 n/a (tar + 0x9328)
                #13 0x00007f21dcbdc152 __libc_start_main (libc.so.6 + 0x28152)
                #14 0x0000561c36d743ce n/a (tar + 0x93ce)

You could reproduce the issue by executing the self extracting shell script so that rules out makepkg and gcc.

OK, I've extracted it. How can I omit the package extraction from the PKGBUILD and point the file to the already extracted Nvidia driver files?


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#4 2021-01-18 22:12:45

seth
Member
Registered: 2012-09-03
Posts: 18,976

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

Compare

% md5sum NVIDIA-Linux-x86_64-460.32.03.run
360228c8de0e47f4245c7e2b108ef6cd  NVIDIA-Linux-x86_64-460.32.03.run

And post the outputs of

type tar
type xz
pacman -Qikk tar xz
df -h | grep tmp

Edit: blast.

furrything wrote:

OK, I've extracted it.

How?

Last edited by seth (2021-01-18 22:14:34)

Online

#5 2021-01-18 22:39:03

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

seth wrote:

Compare

% md5sum NVIDIA-Linux-x86_64-460.32.03.run
360228c8de0e47f4245c7e2b108ef6cd  NVIDIA-Linux-x86_64-460.32.03.run

And post the outputs of

type tar
type xz
pacman -Qikk tar xz
df -h | grep tmp

Edit: blast.

furrything wrote:

OK, I've extracted it.

How?

1.) MD5 checksum checks out.

2.)

/usr/bin/tar

3.)

/usr/bin/xz

4.)

Name                     : tar
Version                  : 1.32-3
Description                  : Utility used to store, backup, and transport files
Architecture            : x86_64
Webpage                  : https://www.gnu.org/software/tar/
Licences                : GPL3
Groups               : None
Provider            : None
Depends                    : glibc  acl  attr
Optional dependencies   : None
Requires                 : base  lib32-libltdl  libtool
Optionally requires    : None
Conflicts with                 : None
Replaces               : None
Installed size        : 2,83 MiB
Packager               : Evangelos Foutras <evangelos@foutrelis.com>
Time of compilation          : 13th November 2019, Wednesday, 06:16:34 PM CET
Time of installation:         : 13 December 2020, Sunday, 07:32:48 PM CET
Reason of installation           : Installed as a dependency of another package
Installation script         : No
Verified by             : Signature

tar: 131 files in total, 0 modified files


Name                    : xz
Version                  : 5.2.5-1
Description                 : Library and command line tools for XZ and LZMA compressed files
Architecture            : x86_64
Webpage                  : https://tukaani.org/xz/
Licences                : GPL  LGPL  custom
Groups               : None
Provider            : None
Depends                    : sh
Optional dependencies   : None
Requires                 : base  elfutils  ffmpeg  file  gdb  grub  kmod  lib32-xz  libarchive  libelf  libtiff  libunwind  libxml2  ostree  systemd  systemd-libs  zstd
Optionally requires    : mkinitcpio  python
Conflicts with                 : None
Replaces               : None
Installed size        : 945,90 KiB
Packager               : Pierre Schmitz <pierre@archlinux.de>
Time of compilation          : 18th March 2020, Wednesday, 05:54:36 AM CET
Time of installation:         : 18th December 2020, Friday, 08:50:03 PM CET
Reason of installation           :  Installed as a dependency of another package
Installation script         : No
Verified by             : Signature

xz: 161 files in total, 0 modified files

4.)

tmpfs           7,8G  250M  7,6G   4% /dev/shm
tmpfs           4,0M     0  4,0M   0% /sys/fs/cgroup
tmpfs           7,8G  536K  7,8G   1% /tmp
tmpfs           1,6G  116K  1,6G   1% /run/user/1000

5.)

sudo bash ./NVIDIA-Linux-x86_64-460.32.03.run -x

Now what should I do to point the PKGBUILD to the extracted driver?

Last edited by TheFurryWeeb (2021-01-18 22:40:33)


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#6 2021-01-18 22:43:12

seth
Member
Registered: 2012-09-03
Posts: 18,976

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

Now what should I do to point the PKGBUILD to the extracted driver?

Nothing, we'll fix the actual problem.

sudo bash ./NVIDIA-Linux-x86_64-460.32.03.run -x

The call previously, but w/o sudo, segfaulted.
Is sudo the assumed "cure"?

stat NVIDIA-Linux-x86_64-460.32.03.run
stat .
stat /tmp

Online

#7 2021-01-18 22:45:48

loqs
Member
Registered: 2014-03-06
Posts: 13,005

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

Do both the following fail?

bash ./NVIDIA-Linux-x86_64-460.32.03.run --extract-only
sh ./NVIDIA-Linux-x86_64-460.32.03.run --extract-only

Edit:
Also the output of

# pwck -r
# grpck -r

Last edited by loqs (2021-01-18 22:49:33)

Offline

#8 2021-01-18 22:58:04

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

seth wrote:

Now what should I do to point the PKGBUILD to the extracted driver?

Nothing, we'll fix the actual problem.

sudo bash ./NVIDIA-Linux-x86_64-460.32.03.run -x

The call previously, but w/o sudo, segfaulted.
Is sudo the assumed "cure"?

stat NVIDIA-Linux-x86_64-460.32.03.run
stat .
stat /tmp

1.)

File: NVIDIA-Linux-x86_64-460.32.03.run
    Size: 178089544    blocks: 347840     IO-block: 4096   standard file
   Device: 813h/2067d   I-node: 13020429    links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ironicfur)   Gid: ( 1000/ironicfur)
   Read: 2021-01-18 20:06:36.879517880 +0100
Modified: 2021-01-18 20:06:36.479522778 +0100
 Changed: 2021-01-18 20:06:36.484522717 +0100
 Created: 2021-01-18 20:04:24.979125402 +0100

2.)

File: .
    Size: 4096         blocks: 8          IO-block: 4096   directory
   Device: 813h/2067d   I-node: 13020297    links: 7
Access: (0755/drwxr-xr-x)  Uid: ( 1000/ironicfur)   Gid: ( 1000/ironicfur)
   Read: 2021-01-18 23:08:29.980112330 +0100
Modified: 2021-01-18 23:05:32.034329249 +0100
 Changed: 2021-01-18 23:05:32.034329249 +0100
 Created: 2021-01-18 20:03:46.492588804 +0100

3.)

File: /tmp
    Size: 540          blocks: 0          IO-block: 4096   directory
   Device: 31h/49d      I-node: 1           links: 23
Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)
   Read: 2021-01-18 21:16:54.819638212 +0100
Modified: 2021-01-18 23:05:31.984329877 +0100
 Changed: 2021-01-18 23:05:31.984329877 +0100
 Created: -

A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#9 2021-01-18 23:06:43

seth
Member
Registered: 2012-09-03
Posts: 18,976

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

seth wrote:

Is sudo the assumed "cure"?

Also see loqs' last post into the same direction.

Online

#10 2021-01-18 23:07:33

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

loqs wrote:

Do both the following fail?

bash ./NVIDIA-Linux-x86_64-460.32.03.run --extract-only
sh ./NVIDIA-Linux-x86_64-460.32.03.run --extract-only

Edit:
Also the output of

# pwck -r
# grpck -r

1.) The bash version of the command ran successfully, I just used the shortened syntax (-x) instead of the long one (--extract-only).

2.) This is the output if I run it without sudo:

pwck: cannot open /etc/shadow

With sudo, it doesn't output anything.

3.) Same, but with grpck.

EDIT: It's the same empty output with the root user.

EDIT 2: I'm currently running the working kernel that I installed with my system the first time.

Last edited by TheFurryWeeb (2021-01-18 23:11:02)


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#11 2021-01-18 23:11:08

seth
Member
Registered: 2012-09-03
Posts: 18,976

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

What about the "sh" version?
In case you're referring to your previous execution: you ran "sudo bash …" and we're trying to figure whether the sudo usage is significant here.
It's normal that you have to run pwck/grpck as root (the "#" is the common UID0 prompt)

Edit: blank position.

Last edited by seth (2021-01-18 23:11:58)

Online

#12 2021-01-18 23:14:41

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

seth wrote:

What about the "sh" version?
In case you're referring to your previous execution: you ran "sudo bash …" and we're trying to figure whether the sudo usage is significant here.
It's normal that you have to run pwck/grpck as root (the "#" is the common UID0 prompt)

Edit: blank position.

So, what can we do to troubleshoot this blank position problem?

EDIT: My sh version is:

GNU bash, 5.1.4(1)-release (x86_64-pc-linux-gnu)

Last edited by TheFurryWeeb (2021-01-18 23:18:16)


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#13 2021-01-18 23:16:28

seth
Member
Registered: 2012-09-03
Posts: 18,976

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

Type slower. I just fixed a typo in the edit (a blan kended ath e wron gposition ;-)

The question at hand remains the sudo one.

Online

#14 2021-01-18 23:24:31

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

seth wrote:

Type slower. I just fixed a typo in the edit (a blan kended ath e wron gposition ;-)

The question at hand remains the sudo one.

So I now have to do the extraction again, but without sudo, and with/-out the root user, don't I?

EDIT: So I ran the extraction command without any root privileges, and it failed with the same error output as the original error dump.. It seems that root access is very important from our part.

Last edited by TheFurryWeeb (2021-01-18 23:28:52)


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#15 2021-01-18 23:26:44

seth
Member
Registered: 2012-09-03
Posts: 18,976

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

Not sudo and not being root in any other way, shape or form. Yes.
Your other thread indicated that this fails and if "sudo fixed it", that's typically just some permission error somewhere.

Online

#16 2021-01-18 23:35:08

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

seth wrote:

Not sudo and not being root in any other way, shape or form. Yes.
Your other thread indicated that this fails and if "sudo fixed it", that's typically just some permission error somewhere.

So, changing the access permissions with chmod give us the ability to run the makepkg command, doesn't it?


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#17 2021-01-18 23:38:22

loqs
Member
Registered: 2014-03-06
Posts: 13,005

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

If you create a new user,  then set the users passwd,

# useradd -m someuser
# passwd someuser

The log in to that user,  do not sudo / su to that user,  cp or download NVIDIA-Linux-x86_64-460.32.03.run to that users home directory then

sh ./NVIDIA-Linux-x86_64-460.32.03.run --extract-only

still produce a core dump?
Edit:
Have you replaced any packages with locally built versions?

Last edited by loqs (2021-01-18 23:46:04)

Offline

#18 2021-01-18 23:51:03

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

loqs wrote:

If you create a new user,  then set the users passwd,

# useradd -m someuser
# passwd someuser

The log in to that user,  do not sudo / su to that user,  cp or download NVIDIA-Linux-x86_64-460.32.03.run to that users home directory then

sh ./NVIDIA-Linux-x86_64-460.32.03.run --extract-only

still produce a core dump?
Edit:
Have you replaced any packages with locally built versions?

Nope, it says:

cp: stat '/home/ironicfur/nvidia-all/NVIDIA-Linux-x86_64-460.32.03.run' failed: Access denied

I may have effed up something in the privilieges when I installed Arch and the sudo package.

EDIT: I tried to downgrade GCC to version 9 to an individual's recommendation on the Nvidia Developer Forums, but the compiler has failed on me.

At least GCC 10 that came with my system still works.

Last edited by TheFurryWeeb (2021-01-18 23:56:41)


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#19 2021-01-18 23:58:39

loqs
Member
Registered: 2014-03-06
Posts: 13,005

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

TheFurryWeeb wrote:
loqs wrote:

If you create a new user,  then set the users passwd,

# useradd -m someuser
# passwd someuser

The log in to that user,  do not sudo / su to that user,  cp or download NVIDIA-Linux-x86_64-460.32.03.run to that users home directory then

sh ./NVIDIA-Linux-x86_64-460.32.03.run --extract-only

still produce a core dump?
Edit:
Have you replaced any packages with locally built versions?

Nope, it says:

cp: stat '/home/ironicfur/nvidia-all/NVIDIA-Linux-x86_64-460.32.03.run' sikertelen: Access denied

ironicfur was the original user with the issue not the new user you just created?

Offline

#20 2021-01-19 00:04:08

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

loqs wrote:
TheFurryWeeb wrote:
loqs wrote:

If you create a new user,  then set the users passwd,

# useradd -m someuser
# passwd someuser

The log in to that user,  do not sudo / su to that user,  cp or download NVIDIA-Linux-x86_64-460.32.03.run to that users home directory then

sh ./NVIDIA-Linux-x86_64-460.32.03.run --extract-only

still produce a core dump?
Edit:
Have you replaced any packages with locally built versions?

Nope, it says:

cp: stat '/home/ironicfur/nvidia-all/NVIDIA-Linux-x86_64-460.32.03.run' sikertelen: Access denied

ironicfur was the original user with the issue not the new user you just created?

On the ironicfur account, running the file without root privileges gave me an error dump. Meanwhile, with the alternate account, I wasn't able to cd into the main user's directory (ironicfur) because it needed root permissions, but the alternate account was not added to the wheel group so the command failed.


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#21 2021-01-19 00:08:10

loqs
Member
Registered: 2014-03-06
Posts: 13,005

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

# cp /home/ironicfur/nvidia-all/NVIDIA-Linux-x86_64-460.32.03.run /home/someuser
# chown someuser:someuser /home/someuser/NVIDIA-Linux-x86_64-460.32.03.run
# chmod 755 /home/someuser/NVIDIA-Linux-x86_64-460.32.03.run

Offline

#22 2021-01-19 00:19:45

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

loqs wrote:
# cp /home/ironicfur/nvidia-all/NVIDIA-Linux-x86_64-460.32.03.run /home/someuser
# chown someuser:someuser /home/someuser/NVIDIA-Linux-x86_64-460.32.03.run
# chmod 755 /home/someuser/NVIDIA-Linux-x86_64-460.32.03.run

I cannot type 0 in other ttys because the keyboard layout gets corrupted there. I press the 0 button on the keyboard, but it types "í" instead. Plus, I cannot change that because I intentionally did not add the alternate user to the wheel group.


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#23 2021-01-19 00:27:56

loqs
Member
Registered: 2014-03-06
Posts: 13,005

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

Reduce the filename to nvl.run

# mv /home/someuser/NVIDIA-Linux-x86_64-460.32.03.run /home/someuser/nvl.run
# chown someuser:someuser /home/someuser/nvl.run
# chmod 755 /home/someuser/nvl.run

Last edited by loqs (2021-01-19 00:28:20)

Offline

#24 2021-01-19 00:34:38

TheFurryWeeb
Member
Registered: 2020-08-06
Posts: 57

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

loqs wrote:

Reduce the filename to nvl.run

# mv /home/someuser/NVIDIA-Linux-x86_64-460.32.03.run /home/someuser/nvl.run
# chown someuser:someuser /home/someuser/nvl.run
# chmod 755 /home/someuser/nvl.run

I did that, then I ran the installer and it said it needs root privileges to install. At least it was able to decompress the installation files and show me that full-screen error message.


A computer and Linux nerd, an avid 2D platformer and RPG gamer and a furry combined into one person.

I hope I can help you out with your Arch issues and get myself helped out, as well.

Offline

#25 2021-01-19 00:44:43

loqs
Member
Registered: 2014-03-06
Posts: 13,005

Re: [ERROR] [SOLVED] makepkg can't extract the Nvidia driver to patch it

You forgot --extract-only ?

Offline

Board footer

Powered by FluxBB