Can't Install Linux 64-Bit Drivers - The CC version check failed

I have a computer running Ubuntu 23.10.

The computer has a NVIDIA GeForce GT 240.

I am trying to install the Linux x64 (AMD64/EM64T) Display Driver v340.108.

I first tried and got an error that gcc was not installed so I ran

“sudo apt install build-essential”

This got me further into the install but then got an error about gcc as follows:

"The CC version check failed.

The string “(gcc” was not found in the proc/version string: “Linux version 6.5.0-10-generic (buildd@lcy02-amd64-118) (x86_64-linux-gnu-gcc-13 (Ubuntu 13/2/0-4ubuntu3) 13.2.0, GNU Id (GNU Binutils fr Ubuntu) 2.41) #10-Ubuntu SMP PREEMPT_DYNAMIC Fri Oct 13 13:49:38 UTC 2023”; please report this error to linux-bugs@nvidia.com

If you know what you are doing you can either ignore the CC version check and continue installation, or abort installation, set the CC environment variable to the name of the compiler used to compile your kernel, and restart installation"

If I do an “which cc” command I am returned “/usr/bin/cc”

If I do an “ls /usr/bin/gcc*” I get the following folders:

/usr/bin/gcc /usr/bin/gcc-ar /usr/bin/gcc-nm /usr/bin/gcc-ranlib /usr/bin/gcc-13 /usr/bin/gcc-ar-13 /usr/bin/gcc-nm-13 /usr/bin/gcc-ranlib-13

So I then do an “export CC=/usr/bin/gcc-13” and rerun the installation of the drivers and get the same error, so this time I select to ignore the error.

It starts the “Building NVIDIA kernel module” which gets to 31% then ends with a “ERROR: Unable to build the NVIDIA kernel module”

I am running the install by holding the shift key done upon startup then within the grub menu that is displayed am selecting Recovery Mode to get to a root shell environment.

Any idea why and how to get the drivers to install?

Is it because I am in Recovery Mode?

Bump!

Can anyone help with this problem???

Driver 340 is out of support for 6 years now, it won’t compile on any recent kernel unless user-patched. Rather use nouveau.

Hello generix,

Thanks very much for your reply.

I understand now why the drivers won’t compile.

I tried to install Nouveau but it said it is already installed so I assume I am set??? ie. there’s nothing I need to do to activate the Nouveau drivers?

Regards,

Flavio

Nouveau comes with the Linux kernel so is always installed. Should be visible in dmesg
sudo dmesg |grep -i nouveau

Hello generix,

I did the sudo dmesg |grep -i nouveau and I see errors so I don’t know if Nouveau is loading correctly.

The last four entries are errors. They read:

Direct firmware load for nouveau/nva3_fuc084 failed with error -2
Direct firmware load for nouveau/nva3_fuc084d failed with error -2
msvld: unable to load firmware data
msvld: init failed, -19

Don’t know if there is a problem or not.

Regards,

Flavio

You might need to install the package nouveau-firmware

Nope, installed nouveau-firmware but the same four errors appear.

Needs to be extracted from the old 340 runfile installer
https://github.com/envytools/firmware

I did a

chmod +x extract_firmware.py

then ran

./extract_firmware.py and also tried ./extract_firmware.py NVIDIA-Linux-x86_64-340.108.run but both give me the following error:

bash: ./extract_firmware.py: cannot execute: required file not found

It’s ok, I got it to run by running

python3 extract_firmware.py

However when I try and copy nva3_fuc084 and the linked file nva3_bsp to /sys/module/nouveau I get a Permission Denied.

I have also tried booting up in Recovery Mode but it still won’t let me copy the files to the /sys/module/nouveau folder.

I don’t know if that is the folder I need to copy the nva3_fuc084 and the linked file nva3_bsp into.

Also when it extracted the firmware files there is no nva3_fuc084d as mentioned in the sudo dmesg |grep -i nouveau

“Direct firmware load for nouveau/nva3_fuc084d failed with error -2”

Regards,

Flavio

It needs to be copied to /lib/firmware/nouveau and then run
sudo update-iniramfs -u

YOU ARE A LEGEND GENERIX!!!

It’s worked!

A sudo dmesg |grep -i nouveau now doesn’t show any errors.

Thankyou, thankyou, thankyou for all your help.

Regards,

Flavio