Nvidia-settings: /usr/lib/libnvidia-gtk3.so.440.33.01: undefined symbol: gtk_widget_hide_on_delete

Hi,

I have just installed the latest CUDA on my Ubuntu 16.04.6 LTS machine. Everything is working fine (I can compile and run my CUDA code), but nvidia-settings fails:

ERROR: /usr/lib/libnvidia-gtk3.so.440.33.01: undefined symbol: gtk_widget_hide_on_delete
       libnvidia-gtk3.so: cannot open shared object file: No such file or directory
       /usr/lib/libnvidia-gtk2.so.440.33.01: undefined symbol: gtk_widget_hide_on_delete
       libnvidia-gtk2.so: cannot open shared object file: No such file or directory


ERROR: A problem occured when loading the GUI library. Please check your installation and library path. You
       may need to specify this library when calling nvidia-settings. Please run `nvidia-settings --help` for
       usage information.

Thanks for any help.

2 Likes

Same problem here
Lubuntu 16.04.06

Core i7 7400
8gb ram
Gigabyte gtx 1070ti
Gigabyte z270 gaming 3 motherboard

root@jsilvagtx07:~# nvidia-settings -l

ERROR: /usr/lib/libnvidia-gtk3.so.440.33.01: undefined symbol: gtk_widget_hide_on_delete
/usr/lib/libnvidia-gtk3.so: undefined symbol: gtk_widget_hide_on_delete
/usr/lib/libnvidia-gtk2.so.440.33.01: undefined symbol: gtk_widget_hide_on_delete
/usr/lib/libnvidia-gtk2.so: undefined symbol: gtk_widget_hide_on_delete

ERROR: A problem occured when loading the GUI library. Please check your installation and library path. You may need to specify this library when calling nvidia-settings. Please run nvidia-settings --help for usage information.

Tried reinstalling all nvidia related packages, upgrading, etc, no luck…

Any help would be appreciated!

Thx!

Best regards!

I have exactly the same problem as well, after updating to 440.33.01 just now!

Anybody found a workaround?

I need nvidia-settings to set the fan speed to prevent overheating. Is there any alternative way to set the fan speed manually?

Otherwise, which is the most recent version of the driver that works?

Thanks.

I’m using 415.27 and I’m getting the exact same error.

I also have this issue with 440.31.01

FYI - I resolved this issue by purging my nvidia drivers, then reinstall 430 from the graphics PPA. I could not get the Ubuntu default 440 to work with nvidia-settings.

Had the same problem.

When the problem occurred, I was using “ppa: graphics-drivers / ppa”.

Installed using the executable downloaded from here,
nvidia-settings is available.

https://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/XFree86/Linux-x86_64/440.44/NVIDIA-Linux-x86_64-440.44.run&lang=us&type=TITAN

I’ve had the same problem, however it seems to not be just the driver version that causes it, as I installed the problematic driver version maybe a week ago, but only after running a apt-get upgrade yesterday the problem showed up.
Just changing driver versions via the driver manager did not help and instead broke the driver manager completely, it now claims for that a driver was installed manually. I did not install a driver manually at all.

Purged all nvidia* things and installed the driver as linked above via runfile. That fixed all my problems and now I really do have a manually installed driver…

cola_colin,

I had a similar experience. After trying a few different ways of installing the drivers (including ppls, runfile, etc) it found its way into a state that it said a driver was manually installed even though I had purged and selected a driver from the driver manager. However I couldn’t seem to get it back to a state where the driver manager would let me install any driver.

My “solution” was to reinstall Ubuntu from scratch to Ubuntu 18 (I was using Ubuntu 16) and that fresh install seems to have fixed things. But after setting up this Linux computer with a GTX2080 I have to say the driver support and setup has been absolutely dreadful compared to windows. I’ve reinstalled Ubuntu like 6 times in the one year I’ve had this desktop, all due to NVIDIA not being configurable for one reason or another (often after updating drivers). I’m almost fed up with it enough to make a dual boot to windows and just not bother with Linux…

Also fixed mine by purging and then installing by running the downloaded .run file from the Nvidia Drivers page.

ERROR:  
/usr/lib/libnvidia-gtk3.so.440.33.01: undefined symbol: gtk_widget_hide_on_delete
libnvidia-gtk3.so: cannot open shared object file: No such file or directory

On Ubuntu I solved this problem by installing a compatible version of the nvidia-settings/nvidia-modprobe packages with my nvidia package set.

Note to Nvidia Admin: it is critical that users can reliably install a specific version of the Nvidia drivers (e.g. when using CUDA).

Diagnosis: Notice how the following set of commands will download and install arbitrary, incompatible versions of nvidia-settings/nvidia-modprobe:

sudo apt-get purge nvidia-*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-XXX (e.g. nvidia-418)
As nvidia-XXX is dependent on non version specific nvidia-settings and nvidia-modprobe it will proceed to download their latest versions (e.g. nvidia-settings_440 and nvidia-modprobe_440).
These packages are incompatible with the version of the nvidia driver the user chose to install and will cause the above error.

Solution:
sudo apt-get remove nvidia-modprobe nvidia-settings
download the compatible versions of nvidia-settings/nvidia-modprobe (e.g. https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64)
sudo dpkg -i nvidia-modprobe_XXX*.deb nvidia-settings_XXX*.deb
(e.g. nvidia-settings_418.87.01-0ubuntu1_amd64.deb and nvidia-modprobe_418.87.01-0ubuntu1_amd64.deb)

NVIDIA doesn’t manage any packages in the ppa repository, nor any packages that begin with nvidia-

A suggestion I have for people who are having trouble with ppa repository packages is to purge those (or reinstall Ubuntu) and use only packages/installers from a NVIDIA source.

This morning I was greeted by a 640x480 resolution image and ubuntu claiming it had no gpu driver installed. No idea why that happened, I did not even run apt-get upgrade yesterday. The driver just vanished of its own accord. I am quite scared of apt-get upgrade these days, it always breaks something nvidia xD
The drivers panel says “no drivers installed” and let me pick a driver normally again, but ofc again with the nvidia-settings library version issue.

That links is a 404 for me.

EDIT: Oh I see why, there is a ) in the end, it should be a /

EDIT 2: You’re my hero, richardbrucebaxter, explained why it happens and how to fix it, installed the right nvidia-settings version like that is easy and now I don’t have to resort to those dreaded .run files :)

Thanks for the replies. Unfortunately, I still can’t get it to work.

First, I did this:
sudo apt-get purge nvidia-*
sudo apt-get install cuda-10-2

and nvidia-settings still failed with the same error. It installs driver version 440.33.01. So I did:
sudo apt-get purge nvidia-*
install the .deb for nvidia-settings and nvidia-modprobe as indicated by cola_colin (using version 440.33.01).
sudo apt-get install cuda-10-2

and it still fails with the same error. When I list installed packages, I get this:

apt list --installed | grep nvidia
nvidia-440/unknown,now 440.33.01-0ubuntu1 amd64 [installed,automatic]
nvidia-440-dev/unknown,now 440.33.01-0ubuntu1 amd64 [installed,automatic]
nvidia-modprobe/unknown,now 440.33.01-0ubuntu1 amd64 [installed]
nvidia-opencl-icd-440/unknown,now 440.33.01-0ubuntu1 amd64 [installed,automatic]
nvidia-prime/xenial,now 0.8.2 amd64 [installed,automatic]
nvidia-settings/unknown,now 440.33.01-0ubuntu1 amd64 [installed]

So it installed many of those nvidia-* packages that are not managed by NVIDIA according to Robert_Crovella.

I installed cuda using the instructions on the cuda download page. Is there a different way I can install it so that it does not use those nvidia-* packages?

Thanks.

It was not correct for me to say that no nvidia- packages are managed by NVIDIA.

The ppa repository are not managed by nvidia.

Hi remi.coulom,

I am not sure if the latest version of CUDA is properly supported on Ubuntu 16.04 LTS.

A working version of the Nvidia drivers/CUDA for Ubuntu 16.04 LTS can be installed by following the instructions here;

https://github.com/tensorflow/docs/blob/master/site/en/install/gpu.md

To then work around the issue identified in this thread concerning nvidia-settings (assuming a pre-440 version of the nvidia driver is installed), see my previous reply.

For reference:

Thanks richardbrucebaxter. I am not using Tensorflow. I had no problem with CUDA 10.1. I installed CUDA 10.2 by following the instructions on the CUDA 10.2 page of NVIDIA, and downloaded the Ubuntu 16.04 version there. 16.04 and 18.04 are supported officially.

Solved this on my Ubuntu 16.04 by manually downloading the deb for 18.04 and installing it by hand:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/nvidia-settings_440.33.01-0ubuntu1_amd64.deb
sudo dpkg -i nvidia-settings_440.33.01-0ubuntu1_amd64.deb

@ nvidia admins: it looks like the libraries libnvidia-gtk2.so.440.33.01 & libnvidia-gtk3.so.440.33.01 are broken in the 16.04 deb.

6 Likes

Solved my problem on 16.04 also.

3 Likes