LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 05-27-2020, 10:02 PM   #1
Endgrain
LQ Newbie
 
Registered: Dec 2017
Distribution: Between Linux Mint Serena and Tricia
Posts: 9

Rep: Reputation: Disabled
Mint 19.3 nvidia driver installation problem--libc headers?


Hi, and thanks for reading.

I'm installing Mint 19.3 and attempting to install the Nvidia driver for my gpu to remedy screen tearing/scrambling/flickering issues.
I've managed to blacklist Nouveau, close down the x server, and get the Nvidia driver installation started in the command console, but I get an error message telling me that I need to install the libc header files or the libc development package. I think I've gotten pretty close to doing this, but I don't know how to pick the right one.

Am I on the right track trying to install linux-header-* files? If I am, how do I find the correct one?


My version (from uname -or) is: 5.0.0-32-generic GNU/Linux

Here's the /var/log/nvidia-installer.log file:

Unable to load: nvidia-installer ncurses v6 user interface

Using: nvidia-installer ncurses user interface
-> License accepted.
-> Installing NVIDIA driver version 304.137.
-> There appears to already be a driver installed on your system (version: 304.137). As part of installing this driver (version: 304.137), the existing driver will be uninstalled. Are you sure you want to continue? ('no' will abort installation) (Answer: Yes)
-> Running distribution scripts
executing: '/usr/lib/nvidia/pre-install'...
-> done.
-> The distribution-provided pre-install script failed! Continue installation anyway? (Answer: Yes)
-> Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later. (Answer: No)
ERROR: You do not appear to have libc header files installed on your system. Please install your distribution's libc development package.
ERROR: Installation has failed. Please see the file '/var/log/nvidia-installer.log' for details. You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.
"/var/log/nvidia-installer.log" 22L, 1434C 22,4 Bot
 
Old 05-28-2020, 03:55 AM   #2
berndbausch
LQ Addict
 
Registered: Nov 2013
Location: Tokyo
Distribution: Mostly Ubuntu and Centos
Posts: 6,316

Rep: Reputation: 2002Reputation: 2002Reputation: 2002Reputation: 2002Reputation: 2002Reputation: 2002Reputation: 2002Reputation: 2002Reputation: 2002Reputation: 2002Reputation: 2002
I'd just install linux-headers (no extension) and try again.

EDIT: Oops, perhaps linux-libc-dev. Also, did you read the README mentioned in the log file?

EDIT2: Sorry for the confusion, but https://docs.nvidia.com/datacenter/t...tes/index.html mentions linux-headers.

Last edited by berndbausch; 05-28-2020 at 03:59 AM.
 
Old 05-28-2020, 04:11 AM   #3
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 14,873

Rep: Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059
There may be a case of 64+32 bit problems here. Libc headers are essential, and all basics are installed. I don't think you should be installing libc headers, and here's why.

includes are 'promiscuous, in that they can be read by 32 or 64 bit systems. Libraries, OTOH, are not promiscuous. Take the case of /lib/ld-linux.so which does basic operations, and every program is linked against. On Mint, a 64 bit program needs /lib/ld-linux.so to be 64bit; A 32 bit program needs /lib/ld-linux.so to be 32 bit.
If you've got 32 bit drivers for a 64 bit system, or vice versa, they will not work. I might be able to do it on Slackware, which uses /lib64 for 64bit,* /lib for 32bit, so 64 & 32 bit stuff can coexist. It's messy to get Mint doing that.

Run around with file and check the headers, the drivers and anything you are suspicious of.
 
Old 05-29-2020, 09:12 AM   #4
Endgrain
LQ Newbie
 
Registered: Dec 2017
Distribution: Between Linux Mint Serena and Tricia
Posts: 9

Original Poster
Rep: Reputation: Disabled
Thanks for your advice. Digesting it has required a little study.

The Linux headers are already the latest version (as business_kid predicted).

I've re-installed the OS and downloaded a fresh copy of the driver. Everything says it is 64-bit. Is it likely that I have a 64bit/32bit conflict? I've looked around for problems using file, but I don't really know what I am looking for.

I also tried installing a couple older driver versions just to see if they would work. Same problems.

I found the readme for my driver version. Thanks for the reminder to read the instructions.

This passage looks relevant--am I right? If it is, can you point me in the right direction to act on it? I am sure I can learn how to use --kernal-include-dir, but I am not sure I would know which header files to use.

Quote:
I cannot build the NVIDIA kernel module, or, I can build the NVIDIA kernel module, but modprobe/insmod fails to load the module into my kernel.


These problems are generally caused by the build using the wrong kernel header files (i.e. header files for a different kernel version than the one you are running). The convention used to be that kernel header files should be stored in /usr/include/linux/, but that is deprecated in favor of /lib/modules/RELEASE/build/include (where RELEASE is the result of uname -r. The nvidia-installer should be able to determine the location on your system; however, if you encounter a problem you can force the build to use certain header files by using the --kernel-include-dir option. For this to work you will of course need the appropriate kernel header files installed on your system. Consult the documentation that came with your distribution; some distributions do not install the kernel header files by default, or they install headers that do not coincide properly with the kernel you are running.
 
Old 05-29-2020, 11:05 AM   #5
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 14,873

Rep: Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059Reputation: 2059
OK. Forget the 64/32 bit thing. If you downloaded the wrong driver, That would arise.

Next thing I'd try is installing the kernel source, if it isn't already installed. cd into it and run

make mrproper

which wipes everything. I'm personally not taking their guff about kernel headers too seriously - they're includes. But the kernel needs a compiled source, and you don't have that. As root,run
Code:
cp /boot/config-correct-version ./.config
Then run make and head away for coffee if your cpu is fast, or several beers if your cpu is tardy. That gives you a compiled source.

So you now have kernel-version = config-version = compiled source. NOW try installing Nvidia's drivers.
 
Old 06-08-2020, 05:27 PM   #6
Endgrain
LQ Newbie
 
Registered: Dec 2017
Distribution: Between Linux Mint Serena and Tricia
Posts: 9

Original Poster
Rep: Reputation: Disabled
Problem "solved"

Business_Kid, I appreciate your help. I've learned a lot working on this.

It appears that NVIDIA 304 drivers are not supported by 18.04/Mint 19.3, which is fair enough given that my GPU is at least 11 years old. I avoided the problem by re-installing Mint 18.1 (4.4.0-53) and then installing the Nvidia-304 package from the repository.

Everything appears to work just fine.

19.3 is fun to play with using a bootable USB on my Lenovo/AMD/Windows laptop, where the nouveau driver works just fine.

Regards,
Endrain
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Chapter 6.7. Linux-3.16.2 API Headers , errors on installation of API headers JimmyJ1776 Linux From Scratch 9 02-17-2015 09:29 PM
trying to install NVIDIA driver and i dont have libc headers malanco Linux - Newbie 2 06-30-2007 04:05 PM
Installation of Linux-Libc-Headers problems Damon Spector Linux From Scratch 12 10-29-2005 10:09 AM
libc.so.6(GLIBC_2.3), libc.so.6(GLIBC_2.3.2) needed for Linux 7.3.1 vivek_thampy Linux - Software 1 08-09-2004 04:12 PM
libc.so verse libc.so.5 markstevens Linux - Software 4 06-19-2003 11:41 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 12:10 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration