Nvidia package wo/ kernel26-headers - makepkg chokes
When I modify a single line in nvidia's PKGBUILD, makepkg dies in the following error. What is really odd is that I can manually execute the build function and I do not get an error. The error only happens when makepkg tries. Can someone explain?
Error:
==> Starting build()...
Creating directory NVIDIA-Linux-x86_64-260.19.36-no-compat32
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 260.19.36.....................................................................................................................
The kernel you are installing for is a Xen kernel!
The NVIDIA driver does not currently work on Xen kernels. If
you are using a stock distribution kernel, please install
a variant of this kernel without Xen support; if this is a
custom kernel, please install a standard Linux kernel. Then
try installing the NVIDIA kernel module again.
*** Failed Xen sanity check. Bailing out! ***
make[1]: *** [build-sanity-checks] Error 1
make: *** [module] Error 2
Aborting...
The only modification is to change this line:
make SYSSRC=/lib/modules/${_kernver}/build module
to:
make SYSSRC=$startdir/tar/lib/modules/${_kernver}/build module
I have manually extracted the contents of kernel26-headers.tar.xz to the $startdir/tar.
there is nothing about the headers.
"The NVIDIA driver does not currently work on Xen kernels."
period.
Similar Messages
-
Kernel26-headers 2.6.32.7-1 in testing
Just to note you, there is a package called kernel26-headers in testing again.
Shouldn't it be linux-api-headers?I thought linux-api-headers replaced kernel26-headers, but it was kernel-headers.
Provides : kernel-headers=2.6.32.5
Sorry, my mistake -
PKGBUILD with dependency on kernel26-headers
Hello All:
I'm working on installing cisco-vpnclient from the AUR this morning. When I run
makepkg -s
, makepkg attempts to install kernel26-headers-2.6.39.3-1. This fails, with the message
error: failed retrieving file 'kernel26-headers-2.6.39.3-1-i686.pkg.tar.xz' from ftp.archlinux.org : File unavailable (e.g., file not found, no access)
Based on searches of the package database, the AUR, and google, it appears that there is no mirror that contains a file called 'kernel26-headers-2.6.39.3-1-i686.pkg.tar.xz'. There is, of course, kernel26-lts-headers and there is also linux-headers. I've tried installing those, and then
makepkg -s
on cisco-vpnclient again, but still get the same failure.
I've got three questions:
1) how do I fix this and get cisco-vpnclient installed?
2) why is this happening?
3) in general, when a package insists on a dependency that is not available, how can I modify the code in the PKGBUILD to skip the requirement? (or would do that be a bad idea?)
Thanks,
Stuok, so here's the deal:
Because of the name changes that went along with the upgrade to kernel v3.0 (see News: Changes to kernel package and filenames) two things had to change in the PKGBUILD.
1) first there's the dependency on the kernel. Since the arch package containing the kernel v3 is called 'linux' instead of 'kernel26', those references had to be changed. So the OLD version of the pkgbuild had the code:
if [ "`uname -m`" = "i686" ]; then
depends=('kernel26>=2.4.0')
else
depends=('kernel26>=2.4.0' 'lib32-gcc-libs')
fi
So I changed 'kernel26>=2.4.0' to 'linux>=3.0.1' in that block.
2) there's the dependency on the headers. The PKGBUILD contains the code
makedepends=('kernel26-headers>=2.4.0')
I replaced 'kernel26-headers>=3.0.1' with 'linux-headers>=3.0'
that seems to work to get it installed.
hope it works! -
Building kernel module, works only fine with default kernel26-headers
I am trying to build the phc-k8 package from the AUR.
I had to adapt the PKGBUILD a bit. The problem is it seems to want to have certain headers (a lot of headers, actually) in asm/ that are present in asm-generic/ in the kernel26-headers package and are in the same location in my own kernel package (which doesn't have the headers split out).
This is how the asm* directories look:
[stijn@hermes phc-k8]$ ls /usr/src/linux-2.6.32-ARCH/include/asm*
/usr/src/linux-2.6.32-ARCH/include/asm:
asm-offsets.h bitsperlong.h
/usr/src/linux-2.6.32-ARCH/include/asm-generic:
4level-fixup.h bugs.h dma-mapping-common.h ioctl.h local.h param.h sections.h stat.h uaccess.h
atomic64.h cacheflush.h emergency-restart.h ioctls.h memory_model.h parport.h segment.h string.h uaccess-unaligned.h
atomic.h cache.h errno-base.h io.h mman-common.h pci-dma-compat.h sembuf.h swab.h ucontext.h
atomic-long.h checksum.h errno.h iomap.h mman.h pci.h serial.h syscall.h unaligned.h
audit_change_attr.h cmpxchg.h fb.h ipcbuf.h mm_hooks.h percpu.h setup.h syscalls.h unistd.h
audit_dir_write.h cmpxchg-local.h fcntl.h irqflags.h mmu_context.h pgalloc.h shmbuf.h system.h user.h
audit_read.h cputime.h futex.h irq.h mmu.h pgtable.h shmparam.h termbits.h vga.h
audit_signal.h current.h getorder.h irq_regs.h module.h pgtable-nopmd.h siginfo.h termios-base.h vmlinux.lds.h
audit_write.h delay.h gpio.h Kbuild msgbuf.h pgtable-nopud.h signal-defs.h termios.h xor.h
auxvec.h device.h hardirq.h Kbuild.asm mutex-dec.h poll.h signal.h timex.h
bitops div64.h hw_irq.h kdebug.h mutex.h posix_types.h socket.h tlbflush.h
bitops.h dma-coherent.h ide_iops.h kmap_types.h mutex-null.h resource.h sockios.h tlb.h
bitsperlong.h dma.h int-l64.h libata-portmap.h mutex-xchg.h rtc.h spinlock.h topology.h
bug.h dma-mapping-broken.h int-ll64.h linkage.h page.h scatterlist.h statfs.h types.h
/usr/src/linux-2.6.32-ARCH/include/asm-x86:
asm-offsets.h bitsperlong.h
[stijn@hermes phc-k8]$ ls /usr/src/linux-2.6.31.12-server/include/asm*
/usr/src/linux-2.6.31.12-server/include/asm:
asm-offsets.h
/usr/src/linux-2.6.31.12-server/include/asm-generic:
4level-fixup.h bugs.h dma-mapping-common.h ioctl.h local.h param.h sections.h stat.h uaccess.h
atomic64.h cacheflush.h emergency-restart.h ioctls.h memory_model.h parport.h segment.h string.h uaccess-unaligned.h
atomic.h cache.h errno-base.h io.h mman-common.h pci-dma-compat.h sembuf.h swab.h ucontext.h
atomic-long.h checksum.h errno.h iomap.h mman.h pci.h serial.h syscall.h unaligned.h
audit_change_attr.h cmpxchg.h fb.h ipcbuf.h mm_hooks.h percpu.h setup.h syscalls.h unistd.h
audit_dir_write.h cmpxchg-local.h fcntl.h irqflags.h mmu_context.h pgalloc.h shmbuf.h system.h user.h
audit_read.h cputime.h futex.h irq.h mmu.h pgtable.h shmparam.h termbits.h vga.h
audit_signal.h current.h getorder.h irq_regs.h module.h pgtable-nopmd.h siginfo.h termios-base.h vmlinux.lds.h
audit_write.h delay.h gpio.h Kbuild msgbuf.h pgtable-nopud.h signal-defs.h termios.h xor.h
auxvec.h device.h hardirq.h Kbuild.asm mutex-dec.h poll.h signal.h timex.h
bitops div64.h hw_irq.h kdebug.h mutex.h posix_types.h socket.h tlbflush.h
bitops.h dma-coherent.h ide_iops.h kmap_types.h mutex-null.h resource.h sockios.h tlb.h
bitsperlong.h dma.h int-l64.h libata-portmap.h mutex-xchg.h rtc.h spinlock.h topology.h
bug.h dma-mapping-broken.h int-ll64.h linkage.h page.h scatterlist.h statfs.h types.h
/usr/src/linux-2.6.31.12-server/include/asm-x86:
asm-offsets.h
Apart from the asm-x86 dir the contents are identical (I checked the file listing of both asm-generic dirs and diff shows no difference between them). If I build the package with the default 2.6.32-ARCH kernel specified, it works. It finds all the headers and it compiles beautifully. However, when I build it with my own kernel (2.6.31.12-server), it spits out a sh*tload of errors (amongst which, in the beginning, all those asm files it can't find):
[stijn@hermes phc-k8]$ grep bestaat log
include/linux/linkage.h:5:25: fout: asm/linkage.h: Bestand of map bestaat niet
include/linux/types.h:4:23: fout: asm/types.h: Bestand of map bestaat niet
include/linux/posix_types.h:47:29: fout: asm/posix_types.h: Bestand of map bestaat niet
include/linux/bitops.h:17:24: fout: asm/bitops.h: Bestand of map bestaat niet
include/linux/param.h:4:23: fout: asm/param.h: Bestand of map bestaat niet
include/linux/kernel.h:20:27: fout: asm/byteorder.h: Bestand of map bestaat niet
include/linux/kernel.h:21:21: fout: asm/bug.h: Bestand of map bestaat niet
include/linux/kernel.h:62:24: fout: asm/div64.h: Bestand of map bestaat niet
include/linux/errno.h:4:23: fout: asm/errno.h: Bestand of map bestaat niet
include/linux/prefetch.h:14:27: fout: asm/processor.h: Bestand of map bestaat niet
include/linux/prefetch.h:15:23: fout: asm/cache.h: Bestand of map bestaat niet
include/linux/list.h:7:24: fout: asm/system.h: Bestand of map bestaat niet
include/linux/string.h:21:24: fout: asm/string.h: Bestand of map bestaat niet
include/linux/thread_info.h:56:29: fout: asm/thread_info.h: Bestand of map bestaat niet
include/linux/smp.h:36:21: fout: asm/smp.h: Bestand of map bestaat niet
include/linux/stat.h:6:22: fout: asm/stat.h: Bestand of map bestaat niet
include/linux/spinlock_types.h:13:33: fout: asm/spinlock_types.h: Bestand of map bestaat niet
include/linux/spinlock.h:88:27: fout: asm/spinlock.h: Bestand of map bestaat niet
include/linux/spinlock.h:364:24: fout: asm/atomic.h: Bestand of map bestaat niet
include/linux/wait.h:26:25: fout: asm/current.h: Bestand of map bestaat niet
include/linux/mmzone.h:20:22: fout: asm/page.h: Bestand of map bestaat niet
include/linux/rwsem.h:22:65: fout: asm/rwsem.h: Bestand of map bestaat niet
include/linux/topology.h:34:26: fout: asm/topology.h: Bestand of map bestaat niet
include/linux/elf.h:7:21: fout: asm/elf.h: Bestand of map bestaat niet
include/linux/module.h:20:23: fout: asm/local.h: Bestand of map bestaat niet
include/linux/module.h:22:24: fout: asm/module.h: Bestand of map bestaat niet
include/linux/device.h:26:24: fout: asm/device.h: Bestand of map bestaat niet
include/linux/timex.h:170:23: fout: asm/timex.h: Bestand of map bestaat niet
include/linux/kmemtrace.h:12:31: fout: trace/events/kmem.h: Bestand of map bestaat niet
include/linux/auxvec.h:4:24: fout: asm/auxvec.h: Bestand of map bestaat niet
include/linux/mm_types.h:16:21: fout: asm/mmu.h: Bestand of map bestaat niet
include/linux/sched.h:65:24: fout: asm/ptrace.h: Bestand of map bestaat niet
include/linux/sched.h:66:25: fout: asm/cputime.h: Bestand of map bestaat niet
include/linux/ipc.h:21:24: fout: asm/ipcbuf.h: Bestand of map bestaat niet
include/linux/sem.h:35:24: fout: asm/sembuf.h: Bestand of map bestaat niet
include/linux/signal.h:4:24: fout: asm/signal.h: Bestand of map bestaat niet
include/linux/signal.h:5:25: fout: asm/siginfo.h: Bestand of map bestaat niet
include/linux/percpu.h:10:24: fout: asm/percpu.h: Bestand of map bestaat niet
include/linux/seccomp.h:8:25: fout: asm/seccomp.h: Bestand of map bestaat niet
include/linux/resource.h:71:26: fout: asm/resource.h: Bestand of map bestaat niet
include/linux/io.h:22:20: fout: asm/io.h: Bestand of map bestaat niet
include/linux/delay.h:14:23: fout: asm/delay.h: Bestand of map bestaat niet
/home/stijn/pkgbuilds/phc-k8/src/phc-k8_v0.4.2/phc-k8.c:39:21: fout: asm/msr.h: Bestand of map bestaat niet
include/acpi/platform/aclinux.h:64:22: fout: asm/acpi.h: Bestand of map bestaat niet
include/linux/ioctl.h:4:23: fout: asm/ioctl.h: Bestand of map bestaat niet
include/linux/fcntl.h:4:23: fout: asm/fcntl.h: Bestand of map bestaat niet
'Fout' meaning 'error' and 'Bestand of map bestaat niet' 'File or directory does not exist'.
This is how the PKGBUILD looks:
# Contributor: fs4000 <matthias_dienstbier[at]yahoo[dot]de>
pkgname=phc-k8-server
pkgver=0.4.2
_kernver="2.6.31.12-server"
pkgrel=1
pkgdesc="frequency driver for AMD K8 with undervolting feature"
url="http://www.linux-phc.org"
arch=('i686' 'x86_64')
license=('GPL')
[ `uname -r` = 2.6.32-ARCH ] && makedepends=('kernel26-headers=2.6.32')
provides=('linux-phc')
[ "$pkgname" = "phc-k8" ] && backup=('etc/modprobe.d/phc-k8.conf')
install=phc-k8.install
source=(phc-k8-$pkgver.tar.gz::$url/forum/download/file.php?id=83)
depends=(kernel26server)
build() {
sed "s/depmod.*/depmod $_kernver/" -i ../$install
cd phc-k8_v$pkgver
sed -i 's# /etc/modprobe.d/phc-k8.conf# ${DESTDIR}/etc/modprobe.d/phc-k8.conf#' Makefile
sed -i 's#\([^=]\) /lib/modules/#\1 ${DESTDIR}/lib/modules/#' Makefile
sed -i 's/^\tdepmod $(KERNELVERSION) -a/#\tdepmod $(KERNELVERSION) -a/' Makefile
make KERNELSRC=/usr/src/linux-$_kernver/ || return 1
install -d "$pkgdir/etc/modprobe.d"
make DESTDIR="$pkgdir" install || return 1
if [ "$pkgname" = "phc-k8" ]; then
install -d "$pkgdir/usr/share/doc/phc-k8/"
install -m644 {Changelog,README} "$pkgdir/usr/share/doc/phc-k8/"
else
# delete the config if we build for another kernel
rm -r "$pkgdir/etc"
fi
sha1sums=('3f526f90d0f0a2defa24802787546117fdc3e1e8')
Any clues?It's a bash check ([), it tells the script to add a conditional makedepends (if the kernel has that name, add that package as a dependency to build). It's optional, so it doesn't do any harm.
Thanks for looking though . -
NVidia packages - let's not use nvidia-installer [RFC]
Hi. After messing around with Xgl I (for some reason) decided that I hated the way the nvidia driver package doesn't account for all the files the nvidia-installer spits out/modifies. I wanted all the files involved to be properly managed by pacman. So I made some PKGBUILDs, looking at Fedora and Gentoo stuff for inspiration, and getting annoyed trying to work out what needs to be where based on NV's unmaintained install makefile..:shock:
The PKGBUILDs that follow separate the kernel module from the rest of the nvidia package, but this is by no means necessary - I just wanted to be able to reinstall one without the other (to do with installing gl parts without restarting X - see below for more).
(If there is to be a separation, it may be more logical to put the x.org driver module with the kernel module, with just the GL parts separate.)
pkgname=nvidia-kernel
pkgver=1.0.8178
_pkgbinary=NVIDIA-Linux-x86-1.0-8178
pkgrel=1
pkgdesc="NVidia driver kernel module"
url="http://www.nvidia.com"
depends=('bash' 'gcc' 'binutils' 'glibc' 'make' 'nvidia-glx')
source=(ftp://download.nvidia.com/XFree86/Linux-x86/1.0-8178/$_pkgbinary-pkg0.run nvidia.rc
nvidia.patch nv2.diff)
install="nvidia.install"
#provides=()
conflicts=('nvidia')
build() {
cd $startdir/src/
chmod +x $_pkgbinary-pkg0.run
./$_pkgbinary-pkg0.run --extract-only
cd $_pkgbinary-pkg0
#strip stuff that's in nvidia-glx to make download lighter
rm -rf usr/bin
rm -rf usr/include
rm -rf usr/lib
rm -rf usr/share
rm -rf usr/X11R6
mkdir -p $startdir/pkg/usr/share/nvidia
cp -p LICENSE $startdir/pkg/usr/share/nvidia
# adding patches from nvidia forum and now provided by zander
patch -Np0 -i $startdir/src/nvidia.patch || return 1
patch -Np0 -i $startdir/src/nv2.diff || return 1
#clean src
install -D -m 755 $startdir/src/nvidia.rc $startdir/pkg/etc/rc.d/nvidia
cd $startdir/src
rm *
mkdir -p $startdir/pkg/opt/nvidia
mv * $startdir/pkg/opt/nvidia
md5sums=('6c8081bfde4a806a487efc2a9a1ff016' '08f4f614066c08bd0774c7e557953fbe'
'3b5a2525633e88b9d78c4721190542e6')
(the file nv2.diff patches the kernel code for 2.6.16 kernels..)
Here's the .install
_driver=NVIDIA-Linux-x86-1.0-8178-pkg0/./nvidia-installer
post_install() {
cat << EOF
IMPORTANT
==> In order to use the software, you have to agree to NVIDIA's license located in
==> /usr/share/nvidia/LICENSE
==> If you don't, please remove this package (pacman -R nvidia-kernel)
Installation starts now ...
EOF
cd /opt/nvidia/NVIDIA-Linux-x86-1.0-8178-pkg0/usr/src/nv
make install > /dev/null 2>&1 || (echo "INSTALLATION FAILED!" ; echo "==> You have to shutdown Xserver to finish installation! You have to rerun 'pacman -S nvidia-kernel'" ; echo "==> If you're running a custom kernel, make sure the source tree is available." ; echo "==> Other common solutions can be found on the wiki: http://wiki.archlinux.org/index.php/How_to_install_NVIDIA_driver" )
modprobe nvidia
rm -r /opt/nvidia
cat << EOF
To use this driver you need the nvidia-glx package too.
If you need more information about setting up nvidia drivers have a look at:
"http://wiki.archlinux.org/index.php/How_to_install_NVIDIA_driver"
EOF
post_upgrade() {
rmmod nvidia > /dev/null 2>&1
post_install $1
pre_remove() {
cat << EOF
==> Deinstallation starts now!
EOF
rmmod nvidia
_KERNELNAME=$(uname -r)
rm /lib/modules/$_KERNELNAME/kernel/drivers/video/nvidia.ko > /dev/null 2>&1
cat << EOF
==> Don't forget to update your /etc/X11/XF86Config or /etc/X11/xorg.conf!
You may want to remove nvidia-glx as well.
EOF
op=$1
shift
$op $*
Now for the other bit..
pkgname=nvidia-glx
pkgver=1.0.8178
_pkgbinary=NVIDIA-Linux-x86-1.0-8178
pkgrel=1
pkgdesc="The NVidia X.org driver and utilities (without the kernel module)"
url="http://www.nvidia.com"
depends=('bash' 'gcc' 'binutils' 'glibc' 'make' 'nvidia-kernel')
source=(ftp://download.nvidia.com/XFree86/Linux-x86/1.0-8178/$_pkgbinary-pkg0.run)
install="nvidia-glx.install"
provides=('libgl')
conflicts=('libgl' 'nvidia')
md5sums=('6c8081bfde4a806a487efc2a9a1ff016')
build() {
cd $startdir/src/
chmod +x $_pkgbinary-pkg0.run
./$_pkgbinary-pkg0.run --extract-only
cd $_pkgbinary-pkg0
mkdir -p $startdir/pkg/usr/share/applications
mkdir -p $startdir/pkg/usr/bin
mkdir -p $startdir/pkg/usr/man/man1
mkdir -p $startdir/pkg/usr/lib/xorg/modules/{extensions,drivers}
mkdir -p $startdir/pkg/usr/share/nvidia
#Point .desktop to correct location
chmod +w ./usr/share/applications/nvidia-settings.desktop
sed 's:__UTILS_PATH__:/usr/bin:' ./usr/share/applications/nvidia-settings.desktop > ./nv.desktop
sed 's:__DOCS_PATH__:/usr/share/nvidia:' ./nv.desktop > ./usr/share/applications/nvidia-settings.desktop
chmod -w ./usr/share/applications/nvidia-settings.desktop
#Grab what we need and put it where we want
install -m 755 usr/bin/nvidia-bug-report.sh ${startdir}/pkg/usr/bin
install -m 755 usr/bin/nvidia-settings ${startdir}/pkg/usr/bin
install -m 755 usr/bin/nvidia-xconfig ${startdir}/pkg/usr/bin
install usr/lib/libGL.so.${pkgver} ${startdir}/pkg/usr/lib
install usr/lib/libGLcore.so.${pkgver} ${startdir}/pkg/usr/lib
install usr/lib/libnvidia-tls.so.${pkgver} ${startdir}/pkg/usr/lib
install usr/lib/libnvidia-cfg.so.${pkgver} ${startdir}/pkg/usr/lib
install usr/X11R6/lib/libXvMCNVIDIA.a ${startdir}/pkg/usr/lib
install usr/X11R6/lib/libXvMCNVIDIA.so.${pkgver} ${startdir}/pkg/usr/lib
install usr/X11R6/lib/modules/drivers/nvidia_drv.o ${startdir}/pkg/usr/lib/xorg/modules/drivers
install usr/X11R6/lib/modules/drivers/nvidia_drv.so ${startdir}/pkg/usr/lib/xorg/modules/drivers
install usr/X11R6/lib/modules/extensions/libglx.so.${pkgver} ${startdir}/pkg/usr/lib/xorg/modules/extensions
cp -pr usr/include ${startdir}/pkg/usr/share/nvidia
cp -pr usr/share/doc/* ${startdir}/pkg/usr/share/nvidia
cp -pr usr/share/applications/* ${startdir}/pkg/usr/share/applications
cp -pr usr/share/man/man1 ${startdir}/pkg/usr/man
cd ${startdir}/pkg/usr/lib/
ln -fs libGL.so.${pkgver} libGL.so
ln -fs libGL.so.${pkgver} libGL.so.1
ln -fs libGLcore.so.${pkgver} libGLcore.so.1
ln -fs libnvidia-cfg.so.${pkgver} libnvidia-cfg.so.1
ln -fs libnvidia-cfg.so.${pkgver} libnvidia-cfg.so
ln -fs libnvidia-tls.so.${pkgver} libnvidia-tls.so.1
ln -fs libXvMCNVIDIA.so.${pkgver} libXvMCNVIDIA-dynamic.so.1
cd ${startdir}/pkg/usr/lib/xorg/modules/extensions
ln -fs libglx.so.${pkgver} libglx.so
..and here's the .install
_driver=NVIDIA-Linux-x86-1.0-8178-pkg0/./nvidia-installer
post_install() {
#switch in nvidia GL headers
ln -sf /usr/share/nvidia/include/GL/gl.h /usr/include/GL/gl.h
ln -sf /usr/share/nvidia/include/GL/glext.h /usr/include/GL/glext.h
ln -sf /usr/share/nvidia/include/GL/glx.h /usr/include/GL/glx.h
ln -sf /usr/share/nvidia/include/GL/glxext.h /usr/include/GL/glxext.h
cat << EOF
IMPORTANT
==> In order to use the software, you have to agree to NVIDIA's license located in
==> /usr/share/nvidia/LICENSE (installed with nvidia-kernel - required)
==> If you don't, please remove this package (pacman -R nvidia-glx)
To use this driver you need the nvidia-kernel package too.
If you need more information about setting up nvidia drivers have a look at:
"http://wiki.archlinux.org/index.php/How_to_install_NVIDIA_driver"
Note: OpenGL headers have been replaced (if applicable) by symlinks to the NVidia headers.
To switch to the mesa headers, reinstall mesa.
(You may want to do this if compiling a GL app for another system.)
EOF
post_upgrade() {
post_install $1
pre_remove() {
cat << EOF
==> Don't forget to update your /etc/X11/XF86Config or /etc/X11/xorg.conf!
You may want to remove nvidia-kernel as well.
EOF
op=$1
shift
$op $*
..As you can see, the nvidia-glx .install instates the NVidia gl headers to aid compiling against them. If mesa is installed it's versions of these files will be overwritten. Making sure to install the package for the desired headers last seemed like the simplest way to select them. Gentoo has some script to select the gl libs.
PS: This is designed alongside the current mesa-6.4.2-1 package in testing.
So. Any comments? Any good? Or shall I just keep them to myself?tpowa wrote:well, problem is not that it's not possible, problem is if it is allowed.
i'm not a license expert but as far as i can remember no big distro provides the packages other then nvidia-installer.
gentoo is a special case.
Yeah, I thought that might be a problem. The LICENSE seems to have a clause to do with splitting up the package...
No Separation of Components. The SOFTWARE is licensed as a
single product. Its component parts may not be separated for use
on more than one computer, nor otherwise used separately from the
other parts.
But this refers to *use* of the seperate parts, which I suppose is a bit vague. Anyhoo, as I say, this modified install method can still work with a combined package. It could even not bother with the kernel module compile if it's already present.
The only other part that seems relevant is...
2.1.2 Linux/FreeBSD Exception. Notwithstanding the foregoing terms
of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux or
FreeBSD operating systems, or other operating systems derived from the
source code to these operating systems, may be copied and redistributed,
provided that the binary files thereof are not modified in any way
(except for unzipping of compressed files).
But since no binary files are modified this doesn't seem to apply. Of course, IANAL.. -
I'm trying to understand the Arch Nvidia packages but the wiki isn't overly clear.
Currently, I use the nvidia-173xx package with a Geforce 7800 GTX card, since, at installation, I believed that the older cards weren't supported by the Nvidia package in Extra.
However, I recently discovered that version 285.05.09 supports my card, according to the supported products tab on:
http://www.nvidia.co.uk/object/linux-di … er-uk.html
So, firstly, should I ditch nvidia-173xx and revert to the main Nvidia package?
And secondly, since nvidia-173xx requires linux<3.1 due to incompatibility with xorg 1.11, presumably linux should be added to the IgnorePkg list in pacman.conf, along with the currently ignored packages below?:
xf86-input-evdev
xf86-input-keyboard
xf86-input-mouse
xf86-video-nv
xf86-video-vesa
xorg-server
xorg-server-common
Once Nvidia produce a driver suitable for xorg 1.11, I'll be able to un-ignore these, and install Nvidia instead of 173xx (or even 173xx-all). Correct?Cotton wrote:What is nvidia-173xx for then?
For older cards, like my fx 5500. -
How to make a custom Nvidia package for my custom kernel?
I needed to create a custom kernel for my motherboard in order to have support for my integrated LAN and AGP bus... My chipset is ULi's M1689. Apparently, it will be native to maybe the 2.6.11 kernel, but definitely to the 2.6.12 kernel.
In the meantime, I created a custom 2.6.10 kernel with the required patches as described in the wiki. It works! Thanks!
Now, I want to also create a custom Nvidia package that compiled for this kernel, so if I every re-install etc. I just need to have these 2 packages handy to be up and running quickly.
Has this been done? Is there a how-to?
Thanks!
KFDoesn't the genuine arch package work? Just run pacman -S nvidia in runlevel 3 and it should work. You just have to have sources of your kernel. Well, at least this works with my non-stock nitro kernel. Here's some more reference. I guess it gets a bit more tricky with multiple kernels, but it's not your case, is it [didn't get it clearly enough]?
Cheers,
lucke -
Packages: binaries, sources, headers, ...
Hi, I'm confused.
I read somewhere that every package gives you not only the binaries and manpages, but also the full sources.
Didn't whoever said this actually meant 'header files' instead of full sources? I see header files in /usr/include, but no sources in /usr/src (just kernel headers here) or /usr/local/src (totally empty). Where are the sources? What's the kernel-headers package for exactly if the kernel26 package contains all the headers? Where do I get the sources of the kernel(package)?
How is all the 'upstream content' for a project split up?
Bonus question: How does all this relate to -dev packages on Debian? Someone told me -dev packages on Debian are not 'just sources/headers'. Then what are they?
Thanks!
DieterThe full sources are not distributed through *.pkg.tar.gz files. However, running makepkg on a PKGBUILD file will. An easy way to do it if you want the kernel sources is through ABS. Copy the kernel26 folder somewhere that you have write permissions and run 'makepkg -o'. This will download the kernel sources as well as any supporting files, unpack them, but will not build the software.
-
I have two kernels installed : one is the stock kernel from the repositories (3.2.5) the other is a custom kernel (3.2.4). I have linux-headers (3.2.5) installed but I am booting into the 3.2.4 kernel to build the nvidia proprietary module. The issue is that I have no idea on how to point the build system to the kernel source tree (afaik that's the issue here). These are sources lifted from kernel.org:-
Thanks.
Creating directory NVIDIA-Linux-x86_64-290.10-no-compat32
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 290.10........................................................................................................................................
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
==> ERROR: A failure occurred in build().
Aborting...
$ ls /usr/src/
-rw-r--r-- 1 root root 81288 Feb 5 19:21 3.2-hardened.config
lrwxrwxrwx 1 root root 17 Feb 14 00:28 linux -> linux-3.2.4-ARCH/
drwxr-xr-x 2 root root 4096 Jan 26 07:47 linux-3.2.2-1-ARCH
drwxrwxr-x 24 root root 4096 Feb 7 00:06 linux-3.2.4-ARCH
-rw-r--r-- 1 root root 78125482 Feb 3 20:48 linux-3.2.4.tar.bz2
drwxr-xr-x 21 root root 4096 Feb 7 07:42 linux-3.2.5-1-ARCH
I thought it might be a symlink (shot in the dark) - I'm sure I read that somewhere, I also read that it is no longer used. Is this correct?
$ cat nvidia.install
post_install() {
EXTRAMODULES='extramodules-3.2.4-ARCH'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
echo 'In order to use nvidia module, reboot the system.'
post_upgrade() {
EXTRAMODULES='extramodules-3.2.4-ARCH'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
post_remove() {
EXTRAMODULES='extramodules-3.2.4-ARCH'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
cat PKGBUILD
# $Id: PKGBUILD 146818 2012-01-18 17:17:23Z tpowa $
# Maintainer : Thomas Baechler <[email protected]>
pkgname=nvidia-custom
pkgver=290.10
_extramodules=extramodules-3.2.4-ARCH
_kernver="$(cat /lib/modules/${_extramodules}/version)"
pkgrel=2
pkgdesc="NVIDIA drivers for linux."
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('linux>=3.2' 'linux<3.3' "nvidia-utils=${pkgver}")
makedepends=('linux-headers>=3.2' 'linux-headers<3.3')
conflicts=('nvidia-96xx' 'nvidia-173xx')
license=('custom')
install=nvidia.install
options=(!strip)
if [ "$CARCH" = "i686" ]; then
_arch='x86'
_pkg="NVIDIA-Linux-${_arch}-${pkgver}"
source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
md5sums=('50319a4b3818c12c9c7243525e0e6316')
elif [ "$CARCH" = "x86_64" ]; then
_arch='x86_64'
_pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
md5sums=('cebfba9a7e91716a06c66bb5b38d9661')
fi
build() {
cd "${srcdir}"
sh "${_pkg}.run" --extract-only
cd "${_pkg}/kernel"
make SYSSRC=/lib/modules/"${_kernver}/build" module
package() {
install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
"${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
install -d -m755 "${pkgdir}/etc/modprobe.d"
#echo "blacklist nouveau" >> "${pkgdir}/etc/modprobe.d/nouveau_blacklist.conf"
sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
gzip "${pkgdir}/lib/modules/${_extramodules}/nvidia.ko"
Last edited by YellowSnowIsBad (2012-02-14 01:45:14)Bump. I am new to this - need help.
-
In search of older nvidia package.
In bit of a clutch atm. Cant do the glibc update as I still have all the kernel modules in /lib. I assume upgrading to > 3.4 moves these out of there. I haven't upgraded from kernel 3.3 as the nvidia 302 package breaks suspend, and the 295-1 package requires 3.3 or less. Seems to me the 295.53-2 package can be used with 3.4, however, seeing how the mirror with old cached package is gone (and I don't have this on my own pacman cache). Is there anywhere else to get this package, or can someone who may have help me out.
Thanks,DSpider wrote:
https://wiki.archlinux.org/index.php/Downgrade#ARM
# pacman -U http://arm.konnichi.com/extra/os/i686/nvidia-295.53-2-i686.pkg.tar.xz
# pacman -U http://arm.konnichi.com/extra/os/x86_64/nvidia-295.53-2-x86_64.pkg.tar.xz
But sticking to an older kernel is bad practice, IMO. Exploits and security wholes would pile up over time, leaving you more vulnerable.
Um, that's the whole point of this, upgrading the kernel. Thanks for the link. -
Howto? build a module from clean source against kernel26-headers
I'm trying to create a package for a patched psmouse kernel module. (https://aur.archlinux.org/packages.php?ID=49284). However, I can't quite get the module built correctly.
I'm trying various make options like -C $KDIR, M=,.... and various make targets like prepare, modules_pepare, and explicitly giving a module.
Forgetting about the patch for a moment? How am I supposed to do this? I thought something like:
make -C /usr/src/linux-$(uname -r) M=drivers/input/mouse psmouse.ko
would work, but I think it's trying to write to the headers directory.
Thanks for any help.What’s the error in particular? Are you trying to build the module source code from inside the kernel tree or separately? Look for similar module packages for examples?
If you’re trying to do an external build, perhaps try giving the absolute path in your M=drivers/input/mouse parameter; otherwise the -C option tells Make to change directory and it forgets what the original directory was.
I have an external module with me that has its own Make file and calls the kernel’s Make files with this if it’s any help:
make -C $(KDIR) SUBDIRS=$(PWD) modules -
Could uninstalling 'nvidia' package break X?
For some reason or another, I skipped the install of the "nvidia" specific driver. I basically forgot to copy my xorg.conf to /etc/X11, but in the process, I uninstalled the nvidia software and I couldn't boot into X. I believe some of the messages were "can't load vesa" and "can't load fbdev" modules. basically I installed by "pacman -S xorg". It worked untill I uninstalled Nvidia driver (because I installed this first before copying over xorg.conf from /root. At this point I figured maybe it was something where I had to reboot for it to work. At that point, I got a ram fs shell! My question is, is there certain things that can / cannot break X? Thanks for any suggestions.
ok, here is my xorg.conf:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder26) Thu Dec 13 18:55:42 PST 2007
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/share/X11/rgb"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/100dpi:unscaled"
FontPath "/usr/share/fonts/75dpi:unscaled"
FontPath "/usr/share/fonts/TTF"
FontPath "/usr/share/fonts/Type1"
EndSection
Section "Module"
Load "extmod"
Load "glx"
Load "dbe"
Load "xtrap"
Load "record"
Load "freetype"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
#DisplaySize 520 320 # mm
### Comment all HorizSync and VertRefresh values to use DDC:
Identifier "Monitor0"
VendorName "WDE"
ModelName "L2410NM"
HorizSync 30.0 - 80.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "SWcursor" # [<bool>]
#Option "HWcursor" # [<bool>]
#Option "NoAccel" # [<bool>]
#Option "ShadowFB" # [<bool>]
#Option "UseFBDev" # [<bool>]
#Option "Rotate" # [<str>]
#Option "VideoKey" # <i>
#Option "FlatPanel" # [<bool>]
#Option "FPDither" # [<bool>]
#Option "CrtcNumber" # <i>
#Option "FPScale" # [<bool>]
#Option "FPTweak" # <i>
#Option "DualHead" # [<bool>]
Identifier "Card0"
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "G71 [GeForce 7300 GS]"
BusID "PCI:3:0:0"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "SWcursor" # [<bool>]
#Option "HWcursor" # [<bool>]
#Option "NoAccel" # [<bool>]
#Option "ShadowFB" # [<bool>]
#Option "UseFBDev" # [<bool>]
#Option "Rotate" # [<str>]
#Option "VideoKey" # <i>
#Option "FlatPanel" # [<bool>]
#Option "FPDither" # [<bool>]
#Option "CrtcNumber" # <i>
#Option "FPScale" # [<bool>]
#Option "FPTweak" # <i>
#Option "DualHead" # [<bool>]
Option "RenderAccel" "true"
Option "NoLogo" "true"
Option "AGPFastWrite" "true"
Option "EnablePageFlip" "true"
Identifier "Card1"
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "C51 [Quadro NVS 210S/GeForce 6150LE]"
BusID "PCI:0:5:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1920x1200" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1920x1200" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
Option "AddARGBGLXVisuals" "True"
SubSection "Display"
Viewport 0 0
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection -
Arch nvidia package; something missing?
I suffered very bad performance using my TI4200 playing UT4200. After a few hours of trying things; I found out the problem was solved by adding a symlink from /usr/X11R6/lib/libGL.so to /usr/lib/libGL.so This change instantly updated my glxinfo > 'direct rendering' from No to Yes. Might there be some packaging problem; or is this local?
Did you have the mesa package installed? Mesa comes with a libGL.so that can only do software rendering.
-
Makepkg split package question.
I was making today a custom kernel using the kernel26 PKGBUILD file. This files creates three (3) packages. kernel26, kernel26-headers, kernel26-firmware. While packaging kernel26-headers the power went down. I started again with makepkg but it complained for the presence of the packet kernel26-xxxxx.pkg.tar.gz and suggested -f option to build the package again. Is this behavior "correct"? kernel26-xxxxx.pkg.tar.gz was successfully builded before the power loss. Is there an option for makepkg to build the remaining packages?
Allan wrote:Given the build was completed, "makepkg -Rf" will just repackage all packages.
I read man makepkg at least 3 times. I can swear the -R wasn't there before... :P:P
-R, --repackage
Repackage contents of the package without rebuilding the package. This is useful if you forgot a depend or install file in your PKGBUILD
and the build itself will not change.
I think that I should go to sleep right now...
Thanks you Alan. -
Kernel26-2.6.20 + nvidia-1.0.8776
Anybody have nvidia-1.0.8776 running with kernel26-2.6.20? Just wanna know if it's possible to run this kind of set-up because I haven't had any success installing them together.
This is my PKGBUILD (I got the run file from nvidia's site):
pkgname=nvidia-custom
pkgver=1.0.8776
_nver=1.0-8776
_kernver='2.6.20-ARCH'
pkgrel=1
pkgdesc="NVIDIA drivers for kernel26."
arch=(i686 x86_64)
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
depends=('kernel26' 'nvidia-utils')
conflicts=('nvidia-96xx' 'nvidia-71xx' 'nvidia-legacy')
install=nvidia.install
source=(http://127.0.0.1:8080/files/NVIDIA-Linux-$ARCH-${_nver}-pkg1.run)
#md5sums=('575f988468f2c34a302da3d21e282689')
[ "$CARCH" = "x86_64" ] && md5sums=('6fd14366f7ff4575dcce3a9d350d1355')
build()
# Extract
cd $startdir/src/
sh NVIDIA-Linux-$ARCH-${_nver}-pkg1.run --extract-only
cd NVIDIA-Linux-$ARCH-${_nver}-pkg1
# Any extra patches are applied in here...
patch -Np1 < /home/httpd/html/files/NVIDIA_kernel-1.0.8776-20061203.diff || return 1
cd usr/src/nv/
#patch -Np1 -i /home/httpd/html/files/NVIDIA_kernel-1.0.8776-20061203.diff || return 1
ln -s Makefile.kbuild Makefile
make SYSSRC=/lib/modules/$_kernver/build module
# install kernel module
mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
install -m644 nvidia.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
md5sums=('56676850e400a10a123c7f65f63e3aea')
When I run makepkg, I get this:
==> Making package: nvidia-custom 1.0.8776-1 (Sat Mar 24 00:25:07 CDT 2007)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> Retrieving Sources...
==> Using local copy of NVIDIA-Linux-x86-1.0-8776-pkg1.run
==> Validating source files with MD5sums
NVIDIA-Linux-x86-1.0-8776-pkg1.run ... Passed
==> Extracting Sources...
==> Removing existing pkg/ directory...
==> Starting build()...
Creating directory NVIDIA-Linux-x86-1.0-8776-pkg1
The directory 'NVIDIA-Linux-x86-1.0-8776-pkg1' already exists. Please either
move the existing directory out of the way, or specify a
different directory with the '--target' option.
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
|diff -u usr/src/nv/Makefile.kbuild usr/src/nv.20061203/Makefile.kbuild
|--- usr/src/nv/Makefile.kbuild 2006-10-16 22:31:37.000000000 -0700
|+++ usr/src/nv.20061203/Makefile.kbuild 2006-12-03 18:07:10.133657000 -0800
File to patch:
[12]+ Stopped makepkg
[root@shin nvidia]#
'File to patch:' was asking for input so I ctrl+x'ed. I don't really know what's going on. Isn't it already assumed that the file that needs to be patched is the first file that got compared to? Does this mean that the 'diff' failed? I don't really see where the usr/src/nv.20061203/Makefile.kbuild is coming from.
Maybe you are looking for
-
it happening again and again, and firefox is not opening.
-
How do I share my Apple TV connection with friend's computers?
My Apple tv works great.... until I want to access other peoples libraries. According to my iTunes, I already have 5 authorized computers. If a friend visits and brings his macbook and wants to share his iPhoto library on my tv, what is the easist wa
-
WebService java.lang.NullPointerException
help me please. the java.lang.NullPointerException happens when i try to set a string in to the array reg i don't know if the problem is because the array dimencion is 1. i don't think so but im with that problem for many time. and maybe is just simp
-
How to manage two OS Text files in UTL_FILE Package simultaneously?
Hi I am using UTL_FILE Package in order to insert rows into my table from the OS text files. It inserts the row in one of the column in the table successfully. But when I change the code in following routine in order to insert two rows from the two O
-
Mandatory fields for Infoset query
Hi all, I am creating a datasource using Infoset queries.to test it, how to make a field as mandatory in selection screen. thanks in advance. Reagrds, Murali