View previous topic :: View next topic |
Author |
Message |
aka.bugle n00b
Joined: 11 Dec 2006 Posts: 57
|
Posted: Wed Apr 24, 2013 11:55 am Post subject: + kernel (3.7.10) + nvidia-drivers-96.43.23 won't build??? |
|
|
I've been advised to either patch nvidia-drivers or downgrade kernel to 3.4 (can't find help on downgrading kernel?)
I'd like to try to patch nvidia-drivers-96.43.23 to build with this current kernel ( 3.7.10 )
WHY OH WHY doesn't a stable driver build in a stable kernel?
Quote: | TC2K x11-drivers # emerge -av nvidia-drivers
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] x11-drivers/nvidia-drivers-96.43.23 USE="acpi gtk -custom-cflags (-multilib)" 0 kB
Total: 1 package (1 new), Size of downloads: 0 kB
Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) x11-drivers/nvidia-drivers-96.43.23
* NVIDIA-Linux-x86-96.43.23-pkg0.run SHA256 SHA512 WHIRLPOOL size ... [ ok ]
* Determining the location of the kernel source code
* Found kernel source directory:
* /usr/src/linux
* Found kernel object directory:
* /lib/modules/3.7.10-gentoo/build
* Found sources for kernel version:
* 3.7.10-gentoo
* Checking for MTRR support ... [ ok ]
* Gentoo supports kernels which are supported by NVIDIA
* which are limited to the following kernels:
* <sys-kernel/gentoo-sources-3.7
* <sys-kernel/vanilla-sources-3.7
*
* You are free to utilize epatch_user to provide whatever
* support you feel is appropriate, but will not receive
* support as a result of those changes.
>>> Unpacking source...
mkdir: cannot create directory ‘/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work/’: File exists
>>> Unpacking NVIDIA-Linux-x86-96.43.23-pkg0.run to /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work
>>> Source unpacked in /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work
>>> Preparing source in /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work ...
* Applying NVIDIA_glx-defines.patch ... [ ok ]
* Applying NVIDIA_glx-glheader.patch ... [ ok ]
* Converting /usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ... [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work ...
* Preparing nvidia module
make HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/lib/modules/3.7.10-gentoo/build CC=i686-pc-linux-gnu-gcc PATCHLEVEL=not4 clean module
If you are using a Linux 2.4 kernel, please make sure
you either have configured kernel sources matching your
kernel or the correct set of kernel headers installed
on your system.
If you are using a Linux 2.6 kernel, please make sure
you have configured kernel sources matching your kernel
installed on your system. If you specified a separate
output directory using either the "KBUILD_OUTPUT" or
the "O" KBUILD parameter, make sure to specify this
directory with the SYSOUT environment variable or with
the equivalent nvidia-installer command line option.
Depending on where and how the kernel sources (or the
kernel headers) were installed, you may need to specify
their location with the SYSSRC environment variable or
the equivalent nvidia-installer command line option.
*** Unable to determine the target kernel version. ***
make: *** [select_makefile] Error 1
emake failed
* ERROR: x11-drivers/nvidia-drivers-96.43.23 failed (compile phase):
* 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=/lib/modules/3.7.10-gentoo/build CC=i686-pc-linux-gnu-gcc PATCHLEVEL=not4 clean module
*
* Call stack:
* ebuild.sh, line 93: Called src_compile
* environment, line 3914: Called linux-mod_src_compile
* environment, line 2779: 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}";
*
* If you need support, post the output of `emerge --info '=x11-drivers/nvidia-drivers-96.43.23'`,
* the complete build log and the output of `emerge -pqv '=x11-drivers/nvidia-drivers-96.43.23'`.
* The complete build log is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/temp/environment'.
* Working directory: '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work/usr/src/nv'
* S: '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work/'
>>> Failed to emerge x11-drivers/nvidia-drivers-96.43.23, Log file:
>>> '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/temp/build.log'
* Messages for package x11-drivers/nvidia-drivers-96.43.23:
* Gentoo supports kernels which are supported by NVIDIA
* which are limited to the following kernels:
* <sys-kernel/gentoo-sources-3.7
* <sys-kernel/vanilla-sources-3.7
*
* You are free to utilize epatch_user to provide whatever
* support you feel is appropriate, but will not receive
* support as a result of those changes.
* ERROR: x11-drivers/nvidia-drivers-96.43.23 failed (compile phase):
* 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=/lib/modules/3.7.10-gentoo/build CC=i686-pc-linux-gnu-gcc PATCHLEVEL=not4 clean module
*
* Call stack:
* ebuild.sh, line 93: Called src_compile
* environment, line 3914: Called linux-mod_src_compile
* environment, line 2779: 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}";
*
* If you need support, post the output of `emerge --info '=x11-drivers/nvidia-drivers-96.43.23'`,
* the complete build log and the output of `emerge -pqv '=x11-drivers/nvidia-drivers-96.43.23'`.
* The complete build log is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/temp/environment'.
* Working directory: '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work/usr/src/nv'
* S: '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work/'
|
I think this is the patch to get n'd'96.43.23 to build in my current kernel...
https://aur.archlinux.org/packages/nvidia-96xx/
or this?
https://447566.bugs.gentoo.org/attachment.cgi?id=339470
any kind wisdom here?
should I follow this example...?
http://devmanual.gentoo.org/ebuild-writing/functions/src_prepare/epatch/
or this... further down...
http://www.gentoo-wiki.info/HOWTO_Create_an_Updated_Ebuild |
|
Back to top |
|
|
ppurka Advocate
Joined: 26 Dec 2004 Posts: 3256
|
Posted: Wed Apr 24, 2013 1:38 pm Post subject: |
|
|
You can try epatch_user. Essentially, you don't need to do anything except put the patch in the directory /etc/portage/patches/x11-drivers/nvidia-drivers/ directory. Create that directory if you don't have it.
EDIT: You might need to create /etc/portage/bashrc and put the following function in it Code: | # Enable user patches for ebuilds that don't support it
# mkdir -p /etc/portage/patches/abc/xyz
# cp 999-mypatch.patch /etc/portage/patches/abc/xyz/
post_src_prepare() {
epatch_user
} |
_________________ emerge --quiet redefined | E17 vids: I, II | Now using kde5 | e is unstable :-/ |
|
Back to top |
|
|
aka.bugle n00b
Joined: 11 Dec 2006 Posts: 57
|
Posted: Wed Apr 24, 2013 2:38 pm Post subject: |
|
|
ppurka wrote: | You can try epatch_user. Essentially, you don't need to do anything except put the patch in the directory /etc/portage/patches/x11-drivers/nvidia-drivers/ directory. Create that directory if you don't have it.
EDIT: You might need to create /etc/portage/bashrc and put the following function in it Code: | # Enable user patches for ebuilds that don't support it
# mkdir -p /etc/portage/patches/abc/xyz
# cp 999-mypatch.patch /etc/portage/patches/abc/xyz/
post_src_prepare() {
epatch_user
} |
|
Thanks ppurka... I got a little further...
heres the die... Code: |
* Applying user patches from /etc/portage/patches//x11-drivers/nvidia-drivers-96.43.23 ...
* nv-96.43.23-bugle.patch ...
* Failed Patch: nv-96.43.23-bugle.patch !
* ( /etc/portage/patches//x11-drivers/nvidia-drivers-96.43.23/nv-96.43.23-bugle.patch )
*
* Include in your bugreport the contents of:
*
* /var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/temp/nv-96.43.23-bugle.patch.out
* ERROR: x11-drivers/nvidia-drivers-96.43.23 failed (prepare phase):
* Failed Patch: nv-96.43.23-bugle.patch!
*
* Call stack:
* ebuild.sh, line 93: Called post_src_prepare
* bashrc, line 5: Called epatch_user
* environment, line 1575: Called epatch
* environment, line 1548: Called die
* The specific snippet of code:
* die "Failed Patch: ${patchname}!";
*
* If you need support, post the output of `emerge --info '=x11-drivers/nvidia-drivers-96.43.23'`,
* the complete build log and the output of `emerge -pqv '=x11-drivers/nvidia-drivers-96.43.23'`.
* The complete build log is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/temp/environment'.
* Working directory: '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work'
* S: '/var/tmp/portage/x11-drivers/nvidia-drivers-96.43.23/work/'
>>> Failed to emerge x11-drivers/nvidia-drivers-96.43.23, Log file:
|
and here's the patch i used
Code: |
--- a/kernel/conftest.sh
+++ b/kernel/conftest.sh
@@ -160,6 +160,7 @@ build_cflags() {
if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include"
+ CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include/uapi"
CFLAGS="$CFLAGS -I$OUTPUT/arch/x86/include/generated"
CFLAGS="$CFLAGS -I$OUTPUT/arch/x86/include/generated/uapi"
elif [ "$ARCH" = "arm" ]; then
--
|
I found it here...
https://447566.bugs.gentoo.org/attachment.cgi?id=339470 |
|
Back to top |
|
|
Gusar Advocate
Joined: 09 Apr 2005 Posts: 2665 Location: Slovenia
|
Posted: Wed Apr 24, 2013 2:52 pm Post subject: |
|
|
The kernel is pretty much a self-contained package, there is no "help on downgrading kernel" because it isn't needed. There's no "downgrading", merely installing a different version. And then managing the /usr/src/linux symlink with eselect. |
|
Back to top |
|
|
aka.bugle n00b
Joined: 11 Dec 2006 Posts: 57
|
Posted: Wed Apr 24, 2013 2:58 pm Post subject: |
|
|
Gusar wrote: | The kernel is pretty much a self-contained package, there is no "help on downgrading kernel" because it isn't needed. There's no "downgrading", merely installing a different version. And then managing the /usr/src/linux symlink with eselect. |
thank you for that explanation Gusar...
Sooo If I can't obtain the correct patch for the stable legacy nvidia drivers... I need to emerge previous stable kernel ...sys-kernel/gentoo-sources-3.4.34 and reconfigur and compile it? then change symlink, then update grub.conf? |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|