# Nvidia-drivers won't compile [SOLVED]

## jbarnes8

I have been trying to get this damn thing to work for 3....4........?.... days now. I don't know how many times I have compiled my kernel and.......   :Mad: 

Nvidia Riva TNT2 64 (compliments of lspci)

Gentoo 2.6.30-r8       

Amd athlon 850       (i have a feeling it matters)

Ran make prepare (because it *said* that was the fix)

Y=mtrr=framebuffer support (but not for nvidia or nvidia riva (conflicts: but also tried with))=/dev/agpart

...I'm pretty sure the kernel is configured correctly. I did it step by step according to the official nvidia wiki page or whatever. I started fresh with it this time too - deleted everything and downloaded the kernel again.

Let's see what else........for some stupid reason unknown to me I have a /lib/modules/2.6.30-gentoo-r8/video/nvidia.ko driver which is can't be found without the full path...and when I give it the full path, it tells me invalid modules format.

I masked out the the newer drivers to get the legacy ones... using the old 71.86.09 is intentional and necessary.

I tried the 71.86.11 but just my luck, the server is down (?) 

And finally, the error message

```

/var/tmp/portage/x11-drivers/nvidia-drivers-71.86.09/work/NVIDIA-Linux-x86-71.86.09-pkg0/usr/src/nv/nv.c: In function 'nvos_proc_create':

/var/tmp/portage/x11-drivers/nvidia-drivers-71.86.09/work/NVIDIA-Linux-x86-71.86.09-pkg0/usr/src/nv/nv.c:575: error: 'struct proc_dir_entry' has no member named 'owner'

# ^^^^^^^^ times six million

make[3]: *** [/var/tmp/portage/x11-drivers/nvidia-drivers-71.86.09/work/NVIDIA-Linux-x86-71.86.09-pkg0/usr/src/nv/nv.o] Error 1

make[2]: *** [_module_/var/tmp/portage/x11-drivers/nvidia-drivers-71.86.09/work/NVIDIA-Linux-x86-71.86.09-pkg0/usr/src/nv] Error 2

NVIDIA: left KBUILD.

nvidia.ko failed to build!

make[1]: *** [module] Error 1

make: *** [module] Error 2

 *

 * ERROR: x11-drivers/nvidia-drivers-71.86.09 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 3872:  Called linux-mod_src_compile

 *             environment, line 2875:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                      CROSS_COMPILE=${CHOST}-                                          LDFLAGS=\"$(get_abi_LDFLAGS)\"                                          ${BUILD_FIXES}         ${BUILD_PARAMS}                                          ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

 *  The die message:

 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux           SYSOUT=/usr/src/linux HOST_CC=i686-pc-linux-gnu-gcc clean module

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-71.86.09/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-71.86.09/temp/environment'.

 *

>>> Failed to emerge x11-drivers/nvidia-drivers-71.86.09, Log file:

>>>  '/var/tmp/portage/x11-drivers/nvidia-drivers-71.86.09/temp/build.log'

 * Messages for package x11-drivers/nvidia-drivers-71.86.09:

 *

 * ERROR: x11-drivers/nvidia-drivers-71.86.09 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 3872:  Called linux-mod_src_compile

 *             environment, line 2875:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                      CROSS_COMPILE=${CHOST}-                                          LDFLAGS=\"$(get_abi_LDFLAGS)\"                                          ${BUILD_FIXES}         ${BUILD_PARAMS}                                          ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

 *  The die message:

 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux           SYSOUT=/usr/src/linux HOST_CC=i686-pc-linux-gnu-gcc clean module

*

```

Is it really this hard? Seriously? Please-helpLast edited by jbarnes8 on Mon Nov 09, 2009 8:07 am; edited 3 times in total

----------

## John R. Graham

Yeah, it really is, sometimes.   :Razz: 

The issue may be that the kernel header files have drifted enough with the newer kernels that the legacy drivers will no longer compile against a modern kernel.  Do you have to use the older drivers because of the age of your card?  If so, I would recommend emerging an older kernel.  If not then why are you attempting to use the legacy drivers?

- John

----------

## jbarnes8

Yea...portage won't let me get anything newer ...well it tells me it's not going to work and then tries anyway..

How far back should I go for a kernel?

----------

## John R. Graham

Try

```
USE="symlink" emerge -v =gentoo-sources-2.6.27-r10
```

By the way, I have an older GeForce4 MX 440 card that I have to use older nVidia card drivers on, too, but I use nvidia-drivers-96.43.13.  Do you know that this version not work for you?  It gets along with at least the 2.6.29 kernel.

- John

----------

## jbarnes8

Yes, i'm 99% certain I must use 71.xx.xx  

EDIT: btw, 71.86.11 is masked by ~x86 keyword whatever that means. I have an Athlon 850 I tied compiling my kernel with k5 and k6 processors (i'm not 100% sure which one it is)

I'm not very familiar with portage. It seems as though that's no available though (?)

Would you advise against downloading and installing a kernel without portage?

Chrooted environment (same results when booted into gentoo)

```

Knoppix / # USE="symlink" emerge -v =gentoo-sources-2.6.27-r1

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "=sys-kernel/gentoo-sources-2.6.27-r1".

Knoppix / # emerge --search gentoo-sources

Searching...

[ Results for search key : gentoo-sources ]

[ Applications found : 1 ]

*  sys-kernel/gentoo-sources

      Latest version available: 2.6.30-r8

      Latest version installed: 2.6.30-r8

      Size of files: 58,209 kB

      Homepage:      http://dev.gentoo.org/~dsd/genpatches

      Description:   Full sources including the Gentoo patchset for the 2.6 kernel tree

      License:       GPL-2

```

----------

## muhsinzubeir

The tree got the following gentoo sources:

 *Quote:*   

> 
> 
> dep -e gentoo-sources
> 
> sys-kernel/gentoo-sources:                 
> ...

 

That version you are trying iis not on the tree...may be try this 

 *Quote:*   

> emerge -pv =gentoo-sources-2.6.27-r8

 

Cheers

----------

## John R. Graham

That's because I said to try 2.6.27-r10, not 2.6.27-r1.    :Rolling Eyes: 

To see what's available, use equery, which is part of gentoolkit.  (If you haven't emerged that yet, then do so.)

```
ceres # equery list -p -e gentoo-sources

[ Searching for package 'gentoo-sources' in all categories among: ]

 * installed packages

 * Portage tree (/usr/portage)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.16-r13 (2.6.16-r13)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.25-r9 (2.6.25-r9)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.26-r4 (2.6.26-r4)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.27-r8 (2.6.27-r8)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.27-r10 (2.6.27-r10)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.28-r5 (2.6.28-r5)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.28-r6 (2.6.28-r6)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.29-r5 (2.6.29-r5)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.29-r6 (2.6.29-r6)

[-P-] [M~] sys-kernel/gentoo-sources-2.6.30 (2.6.30)

[-P-] [M~] sys-kernel/gentoo-sources-2.6.30-r3 (2.6.30-r3)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.30-r4 (2.6.30-r4)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.30-r5 (2.6.30-r5)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.30-r6 (2.6.30-r6)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.30-r7 (2.6.30-r7)

[-P-] [  ] sys-kernel/gentoo-sources-2.6.30-r8 (2.6.30-r8)

[-P-] [M~] sys-kernel/gentoo-sources-2.6.30-r9 (2.6.30-r9)

[-P-] [M~] sys-kernel/gentoo-sources-2.6.31 (2.6.31)

[-P-] [M~] sys-kernel/gentoo-sources-2.6.31-r1 (2.6.31-r1)

[-P-] [M~] sys-kernel/gentoo-sources-2.6.31-r2 (2.6.31-r2)

[-P-] [M~] sys-kernel/gentoo-sources-2.6.31-r3 (2.6.31-r3)

[-P-] [M~] sys-kernel/gentoo-sources-2.6.31-r4 (2.6.31-r4)

[-P-] [M~] sys-kernel/gentoo-sources-2.6.31-r5 (2.6.31-r5)
```

Regarding exactly which Athlon you've got, could you post the output of 

```
cat /proc/cpuinfo
```

please?

- John

----------

## jbarnes8

oh.   :Embarassed:   -r10 .........trying it now

cpu family 6 = k6 or 512K = k5? ....or neither?............now I'm thiking it's k7.....I have no idea what I'm doing

```

processor       : 0

vendor_id       : AuthenticAMD

cpu family      : 6

model           : 2

model name      : AMD Athlon(tm) Processor

stepping        : 1

cpu MHz         : 856.145

cache size      : 512 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 1

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow up

bogomips        : 1716.27

```

----------

## jbarnes8

John - you're a damn genious. I owe you one.

I'm not sure if X is going to work yet but I did get the driver installed with no complaints. 

Solution for nvidia Riva TNT2 model 64 (and 64 pro?)

used linux-2.6.27-r10 instead of 2.6.30

masked ">=x11-drivers/nvidia-drivers-87.00.00" in /etc/portage/package.mask (create it if non existent)

#I used nvidia-drivers-71.86.09

emerge nvidia-drivers

update-modules

Possible new problem: nvidia-xconfig no longer on system. oh well...time to reboot. I let you know how it goes.

----------

## jbarnes8

Gee, I didn't see this coming. Another error.  Module won't load now...go figure

```

 (==) Using config file: "/etc/X11/xorg.conf" 

> dlopen: /usr/lib/xorg/modules/drivers//nvidia_drv.so: undefined symbol: 

> AllocateScreenPrivateIndex  

> (EE) Failed to load /usr/lib/xorg/modules/drivers//nvidia_drv.so 

> (EE) Failed to load module "nvidia" (loader failed, 7) 

>(EE) No drivers available.

```

This is absolutely ridiculous

----------

## jbarnes8

Solution:

1. Waste an entire week

2. emerge xf86-video-nv

3. change xorg.conf to say ->> Driver "nv"

4. startx

There. Fucking solved

So no one else has to go through this: newer kernels don't work well with the nvidia drivers. xorg-server 1.5+ doesn't have support for nvidia. apparantly the xfree86 xf86-video-nv works with xorg-server. 

initially I had a blank screen but then I changed the line "DPMS" "true" to just "DPMS". Also, make sure your Horizontal and Vertical Refresh are set correctly (find your monitors model number and loo up the specifications online) in /etc/X11/xorg.conf

Hope that helps because this whole nvidia-drivers thing has been a complete fucking waste of time

----------

## John R. Graham

 *jbarnes8 wrote:*   

> cpu family 6 = k6 or 512K = k5? ....or neither?............now I'm thiking it's k7.....

 As far as gcc is concerned, it appears to be a plain old "Athlon".  The Safe CFLAGS site recomends

```
CHOST="i686-pc-linux-gnu"

CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"
```

- John

----------

## jbarnes8

 *john_r_graham wrote:*   

>  *jbarnes8 wrote:*   cpu family 6 = k6 or 512K = k5? ....or neither?............now I'm thiking it's k7..... As far as gcc is concerned, it appears to be a plain old "Athlon".  The Safe CFLAGS site recomends
> 
> ```
> CHOST="i686-pc-linux-gnu"
> 
> ...

 

Thanks for your help john. But there is no "plain old athlon" option to configure the kernel under processor types. I know what you're saying though (It's the Athlon classic). I have concluded that it's  the Athlon/Opertron/k7 option and compiled my kernel as such. No problems as of yet. 

Specs:

http://www.cpu-world.com/CPUs/K7/AMD-Athlon%20850%20-%20A0850APT3B.html

----------

## John R. Graham

Yep, that's the "plain old Athlon" setting for the kernel.  I believe you've done it right.

- John

----------

