PDA

View Full Version : Installation problems with Mandrake 9.0


mbrosius
10-12-02, 10:40 PM
I am trying to install a new GeForce 4 Ti 4200 into my Mandrake 9.0 system. I ran NVchooser and it told me to download and install NVIDIA_kernel-1.0-3123.mdk82up.i586.rpm
NVIDIA_GLX-1.0-3123.i386.rpm.

I downloaded them but this is the message I get when I tried to install the kernel file:
[root@mark root]# rpm -ivh NVIDIA_kernel-1.03123.mdk82up.i586.rpm
Preparing... ###########################################
[100%]
1:NVIDIA_kernel ###########################################
[100%]
modprobe: Can't locate module NVdriver

NVdriver installed successfully


It doesn't look like it loaded anything since the output was "Can't locate module NVdriver but I installed NVIDIA_GLX-1.0-3123.i386.rpm anyways. I edited my XF86Config-4 file like the README file suggests and started X but it didn't load.

When I grepped the database for the kernel files here was my output:
[root@mark root]# rpm -qa|grep kernel
kernel-2.4.18.6mdk-1-1mdk
kernel-2.4.19.16mdk-1-1mdk
NVIDIA_kernel-1.0-3123.mdk82up
kernel-headers-2.4.18-41mdk
kernel-source-2.4.19-16mdk


I then uninstalled the RPMS I just installed and I tried to install the sources. Here are my results:
[root@mark root]# rpm -ivh NVIDIA_kernel-1.0-3123.src.rpm
1:NVIDIA_kernel ###########################################
[100%]
[root@mark root]# rpm -qa|grep NVIDIA
[root@mark root]#

You can see here that even after I attempted to install the drivers, when I grepped the rpm database, it didn't appear.

[root@mark root]# rpm -ivh NVIDIA_GLX-1.0-3123.i386.rpm
Preparing... ###########################################
[100%]
--- WARNING!!
libglx.a
libGLcore.a
libGL.a
libGL.so.1.0
libGL.so.1.2
libGL.so.1.3.403
--- The above file(s) possibly belong to a conflicting MESA rpm,
--- or to a previous stale NVIDIA distribution.
--- They have been renamed to xxx.<originalFile>.RPMSAVE to
--- avoid conflicting with the files contained within this
--- package.
--- Please see the FREQUENTLY ASKED QUESTIONS section of
--- /usr/share/doc/NVIDIA_GLX-1.0/README for more details.
1:NVIDIA_GLX ###########################################
[100%]

My last attempt to get the drivers installed was to again uninstall anything that was just installed and install the drivers from the tarball. According to the README file, I ran tar zxvf NVIDIA_kernel-1.0-3123.tar.gz and then I change to the NVIDIA_kernel-1.0-3123 directory and ran make install. here are my results:
You appear to be compiling the NVdriver kernel module with
a compiler different from the one that was used to compile
the running kernel. This may be perfectly fine, but there
are cases where this can lead to unexpected behaviour and
system crashes.

If you know what you are doing and want to override this
check, you can do so by setting IGNORE_CC_MISMATCH.

In any other case, set the CC environment variable to the
name of the compiler that was used to compile the kernel.

*** Failed cc sanity check. Bailing out! ***
make: *** [gcc-check] Error 1
[root@mark NVIDIA_kernel-1.0-3123]#

I'm all out of ideas now and would appreciate any help you could provide me. By the way, I tried redownloading the files thinking that maybe I got a "bad" file but these were the same results both times I tried to install them. Thank you.

mtrr
10-12-02, 11:42 PM
do a gcc --version and a cat /proc/version

is the same compiler reported? if not, then there
is the problem. the solution to all your probs can be
found on this forum, MDK 9.0 has ben discussed _excessive_

cheers

Andy Mecham
10-13-02, 12:16 AM
From the README:

Q: Compiling the NVdriver kernel module gives this error:

You appear to be compiling the NVdriver kernel module with
a compiler different from the one that was used to compile
the running kernel. This may be perfectly fine, but there
are cases where this can lead to unexpected behaviour and
system crashes.

If you know what you are doing and want to override this
check, you can do so by setting IGNORE_CC_MISMATCH.

In any other case, set the CC environment variable to the
name of the compiler that was used to compile the kernel.

A: You should compile the NVdriver kernel module with the same compiler
version that was used to compile your kernel. Some Linux kernel data
structures are dependent on the version of gcc used to compile it;
for example, in include/linux/spinlock.h:

...
* Most gcc versions have a nasty bug with empty initializers.
*/
#if (__GNUC__ > 2)
typedef struct { } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { }
#else
typedef struct { int gcc_is_buggy; } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
#endif

If the kernel is compiled with gcc 2.x, but gcc 3.x is used when the
open files in NVdriver are built (or vice versa), the size of rwlock_t
will vary, and things like ioremap will fail.

To check what version of gcc was used to compile your kernel, you
can examine the output of:

cat /proc/version

To check what version of gcc is currently in your $PATH, you can
examine the output of:

gcc -v

Also, you need to rebuild the SRPM - use 'rpmbuild --rebuild'.

I hope this helps...

--andy

mbrosius
10-13-02, 08:46 AM
Thank you for your help. When I cat /proc/version my result is that gcc is version 2.96 and when I do gcc -v the version 3.2.

When I run rpm --rebuild NVIDIA_kernel.src.rpm I get the following results:

/usr/lib/rpm/rpmb: No such file or directory

I tried running rpmbuild --rebuild NVIDIA_kernel-1.0-3123.src.rpm but it doesn't look like I have that program.

So what do I do now?

How do I run the IGNORE_CC_MISMATCH? I tried:
make install IGNORE_CC_MISMATCH

but I got the same message that I did before I put the IGNORE_CC_MISMATCH

Thanks again.

mbrosius
10-13-02, 04:18 PM
I installed rpm-build and I tried to build and here is my output:
[root@mark root]# rpm --rebuild NVIDIA_kernel-1.0-3123.src.rpm
Installing NVIDIA_kernel-1.0-3123.src.rpm
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.56317
+ umask 022
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf NVIDIA_kernel-1.0-3123
+ /bin/gzip -dc /usr/src/RPM/SOURCES/NVIDIA_kernel-1.0-3123.tar.gz
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd NVIDIA_kernel-1.0-3123
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.56317
+ umask 022
+ cd /usr/src/RPM/BUILD
+ cd NVIDIA_kernel-1.0-3123
+ set +e
++ rpm -q --queryformat '%{VERSION}' rpm
+ RPMVERSION=4.0.4
++ echo 4.0.4
++ awk -F . '{print $1;}'
+ RPMMAJOR=4
++ echo 4.0.4
++ awk -F . '{print $2;}'
+ RPMMINOR=0
++ echo 4.0.4
++ awk -F . '{print $3;}'
+ RPMPATCH=4
+ '[' 4 -le 3 -a 0 -le 0 -a 4 -lt 4 ']'
+ make NVdriver

You appear to be compiling the NVdriver kernel module with
a compiler different from the one that was used to compile
the running kernel. This may be perfectly fine, but there
are cases where this can lead to unexpected behaviour and
system crashes.

If you know what you are doing and want to override this
check, you can do so by setting IGNORE_CC_MISMATCH.

In any other case, set the CC environment variable to the
name of the compiler that was used to compile the kernel.

*** Failed cc sanity check. Bailing out! ***
make: *** [gcc-check] Error 1
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.56317
+ umask 022
+ cd /usr/src/RPM/BUILD
+ cd NVIDIA_kernel-1.0-3123
+ rm -f /tmp/files.lst
+ '[' -z '' ']'
++ uname -r
+ export TARGET_KERNEL=2.4.18-6mdk
+ TARGET_KERNEL=2.4.18-6mdk
+ '[' -d /lib/modules/2.4.18-6mdk/kernel ']'
+ INSTALLPATH=/lib/modules/2.4.18-6mdk/kernel/drivers/video
+ mkdir -p /var/tmp/NVIDIA_kernel-1.0//lib/modules/2.4.18-6mdk/kernel/drivers/vi
deo
+ install -m 0444 NVdriver /var/tmp/NVIDIA_kernel-1.0//lib/modules/2.4.18-6mdk/k
ernel/drivers/video
install: cannot stat `NVdriver': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.56317 (%install)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.56317 (%install)
[root@mark root]#


I think my real question is going to be How do I either use the IGNORE_CC_MISMATCH trigger or how do I compile the source file with an older compiler? Do I need to uninstall gcc version 3.2 and then install my old version?

bwkaz
10-13-02, 04:55 PM
Allow me to reiterate something:

Originally posted by mtrr
do a gcc --version and a cat /proc/version

is the same compiler reported? if not, then there is the problem.This is the problem; that those two commands return different versions of gcc.

Post what they both say, and someone should be able to tell you how to set CC to point to the one that your kernel was compiled with.

Or, you can just try to deinstall the version that gcc --version is reporting. That way the default compiler will be the one that the kernel used -- or at least, it should be.

Sergi
10-13-02, 05:06 PM
I have a prolem during the glx or kernel rebuild, see that..
[root@localhost nvidia]# rpm --rebuild NVIDIA_kernel-1.0-3123.src.rpm
Installing NVIDIA_kernel-1.0-3123.src.rpm
Segmentation fault
[root@localhost nvidia]#

what's the segmentation fault??
I tried rpmbuild --rebuild... too,but it makes the same error.

please help me!!
i have a mandrake 9.0

bwkaz
10-13-02, 07:48 PM
I would suggest looking at the Sig11 FAQ (http://www.bitwizard.nl/sig11/); it has a pretty good explanation of what might be wrong if you keep getting signal 11's (or segmentation faults, or segfaults, or segmentation violations, these are all the same thing).

Try the tests in there to see if you can narrow down the problem.

Also try the .tar.gz drivers.

mbrosius
10-14-02, 11:45 AM
Well, I have good news and bad news. After several days of trying to get the video card to work I must have done something to my hard drive which required me to reinstall Mandrake 9.0. Since I needed to reinstall, I figured that I might as well format and start over. As luck would have it, the video card worked.

I wouldn't suggest this advice for everyone but it worked for me. I'm glad I had a backup ready. I was up and running again in just a couple of hours!

Thank you to everyone who provided their input and advice!

flipsoft
10-26-02, 03:01 PM
If you are getting the errors as described in the first post you need to install the "development' option in the Mandrake package install section. This will include the appropriate compilers!