Anzeige:
Ergebnis 1 bis 13 von 13

Thema: Was ist an diesem Kommando falsch??

  1. #1
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Beiträge
    6

    Was ist an diesem Kommando falsch??

    Hallo,


    Ich habe seit gestern zum ersten mal Linux auf meinem Computer und versuche grade bewaffnet mit einem dicken stapel howtos und anleitungen mein system zu konfigurieren und bis jetzt macht es eigentlich auch ziemlich spass und ich konnte mir ne menge erarbeiten.

    Doch seit heute morgen komme ich nicht weiter: Ich wollte meine Grafikkarte treiber für meine NVIDIA Karte installieren und bin dabei nach der Anleitung von Netzmeister
    (http://www.linuxforen.de/forums/show...ghlight=NVIDIA)
    vorgegangen...

    Da es für mein Mandrake 9.1 keine fertigen .rpm gibt und auch der "halb automatische" Weg nicht geklappt hat
    versuchte ich es also manuell zu kompilieren was ja nicht unbedingt schlecht ist da die lernkurve bei mir im moment bei linux sehr steil ist

    Doch wenn ich dann die scources entpackt habe und die .spec dateien mit dem untenstehenden befehl komplieren will:
    rpm -bb --target=i686 --clean --rmsource NVIDIA*.spec
    (Ja ich weis das * eine wildcard ist )

    bekomme ich folgenden fehler:
    --target=i686: unknown option
    Ich hab auch schon mal in den rpm manpages gesucht aber jetzt nix gefundet ob es einen neueren pendant zu --target gibt, und in diversen chats wo ich ebenfalls nachfragte hat man müde gelächelt aber mir keine antwort gegeben

    vielleicht erbarmt sich ja jemand von euch, danke schonmal jedenfalls
    klaus

  2. #2
    Premium Mitglied
    Registriert seit
    Jul 2002
    Beiträge
    914
    nimm anstatt den source rpms mal die tarballs (.tar.gz). Kompilieren != source rpms.
    Die musst du einfach nur entpacken und dann mit make bauen.
    Opensuse 12.1, XFCE

  3. #3
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Beiträge
    6
    Hab ich versucht...bekomme folgende Fehlermeldung:

    [root@localhost NVIDIA_kernel-1.0-4191]# make install
    echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -1`\" > nv_compiler.h
    cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wcast-qu
    al -Wno-multichar -O -MD -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES
    -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=4191 -DNV_UNIX -DNV_LINUX
    -DNV_INT64_OK -DNVCPU_X86 -I. -I/usr/src/linux/include -Wno-cast-qual nv.c
    In file included from /usr/include/linux/prefetch.h:13,
    from /usr/include/linux/list.h:6,
    from /usr/include/linux/module.h:11,
    from nv-linux.h:28,
    from nv.c:14:
    /usr/include/asm/processor.h:55: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
    /usr/include/asm/processor.h:55: requested alignment is not a constant
    In file included from /usr/include/linux/module.h:297,
    from nv-linux.h:28,
    from nv.c:14:
    /usr/include/linux/version.h:2:2: #error "================================================= ======"
    /usr/include/linux/version.h:3:2: #error "You should not include /usr/include/{linux,asm}/ header"
    /usr/include/linux/version.h:4:2: #error "files directly for the compilation of kernel modules."
    /usr/include/linux/version.h:5:2: #error ""
    /usr/include/linux/version.h:6:2: #error "glibc now uses kernel header files from a well-defined"
    /usr/include/linux/version.h:7:2: #error "working kernel version (as recommended by Linus Torvalds)"
    /usr/include/linux/version.h:8:2: #error "These files are glibc internal and may not match the"
    /usr/include/linux/version.h:9:2: #error "currently running kernel. They should only be"
    /usr/include/linux/version.h:10:2: #error "included via other system header files - user space"
    /usr/include/linux/version.h:11:2: #error "programs should not directly include <linux/*.h> or"
    /usr/include/linux/version.h:12:2: #error "<asm/*.h> as well."
    /usr/include/linux/version.h:13:2: #error ""
    /usr/include/linux/version.h:14:2: #error "To build kernel modules please do the following:"
    /usr/include/linux/version.h:15:2: #error ""
    /usr/include/linux/version.h:16:2: #error " o Have the kernel sources installed"
    /usr/include/linux/version.h:17:2: #error ""
    /usr/include/linux/version.h:18:2: #error " o Make sure that the symbolic link"
    /usr/include/linux/version.h:19:2: #error " /lib/modules/`uname -r`/build exists and points to"
    /usr/include/linux/version.h:20:2: #error " the matching kernel source directory"
    /usr/include/linux/version.h:21:2: #error ""
    /usr/include/linux/version.h:22:2: #error " o Now copy /boot/vmlinuz.version.h to"
    /usr/include/linux/version.h:23:2: #error " /lib/modules/`uname -r`/build/include/linux/version.h"
    /usr/include/linux/version.h:24:2: #error ""
    /usr/include/linux/version.h:25:2: #error " o When compiling, make sure to use the following"
    /usr/include/linux/version.h:26:2: #error " compiler option to use the correct include files:"
    /usr/include/linux/version.h:27:2: #error ""
    /usr/include/linux/version.h:28:2: #error " -I/lib/modules/`uname -r`/build/include"
    /usr/include/linux/version.h:29:2: #error ""
    /usr/include/linux/version.h:30:2: #error " instead of"
    /usr/include/linux/version.h:31:2: #error ""
    /usr/include/linux/version.h:32:2: #error " -I/usr/include/linux"
    /usr/include/linux/version.h:33:2: #error ""
    /usr/include/linux/version.h:34:2: #error " Please adjust the Makefile accordingly."
    /usr/include/linux/version.h:35:2: #error "================================================= ======"
    In file included from nv-linux.h:28,
    from nv.c:14:
    /usr/include/linux/module.h:299: parse error before "UTS_RELEASE"
    /usr/include/linux/module.h: In function `print_symbol':
    /usr/include/linux/module.h:433: `ESRCH' undeclared (first use in this function)
    /usr/include/linux/module.h:433: (Each undeclared identifier is reported only once
    /usr/include/linux/module.h:433: for each function it appears in.)
    In file included from nv-linux.h:29,
    from nv.c:14:
    /usr/include/linux/version.h:2:2: #error "================================================= ======"
    /usr/include/linux/version.h:3:2: #error "You should not include /usr/include/{linux,asm}/ header"
    /usr/include/linux/version.h:4:2: #error "files directly for the compilation of kernel modules."
    /usr/include/linux/version.h:5:2: #error ""
    /usr/include/linux/version.h:6:2: #error "glibc now uses kernel header files from a well-defined"
    /usr/include/linux/version.h:7:2: #error "working kernel version (as recommended by Linus Torvalds)"
    /usr/include/linux/version.h:8:2: #error "These files are glibc internal and may not match the"
    /usr/include/linux/version.h:9:2: #error "currently running kernel. They should only be"
    /usr/include/linux/version.h:10:2: #error "included via other system header files - user space"
    /usr/include/linux/version.h:11:2: #error "programs should not directly include <linux/*.h> or"
    /usr/include/linux/version.h:12:2: #error "<asm/*.h> as well."
    /usr/include/linux/version.h:13:2: #error ""
    /usr/include/linux/version.h:14:2: #error "To build kernel modules please do the following:"
    /usr/include/linux/version.h:15:2: #error ""
    /usr/include/linux/version.h:16:2: #error " o Have the kernel sources installed"
    /usr/include/linux/version.h:17:2: #error ""
    /usr/include/linux/version.h:18:2: #error " o Make sure that the symbolic link"
    /usr/include/linux/version.h:19:2: #error " /lib/modules/`uname -r`/build exists and points to"
    /usr/include/linux/version.h:20:2: #error " the matching kernel source directory"
    /usr/include/linux/version.h:21:2: #error ""
    /usr/include/linux/version.h:22:2: #error " o Now copy /boot/vmlinuz.version.h to"
    /usr/include/linux/version.h:23:2: #error " /lib/modules/`uname -r`/build/include/linux/version.h"
    /usr/include/linux/version.h:24:2: #error ""
    /usr/include/linux/version.h:25:2: #error " o When compiling, make sure to use the following"
    /usr/include/linux/version.h:26:2: #error " compiler option to use the correct include files:"
    /usr/include/linux/version.h:27:2: #error ""
    /usr/include/linux/version.h:28:2: #error " -I/lib/modules/`uname -r`/build/include"
    /usr/include/linux/version.h:29:2: #error ""
    /usr/include/linux/version.h:30:2: #error " instead of"
    /usr/include/linux/version.h:31:2: #error ""
    /usr/include/linux/version.h:32:2: #error " -I/usr/include/linux"
    /usr/include/linux/version.h:33:2: #error ""
    /usr/include/linux/version.h:34:2: #error " Please adjust the Makefile accordingly."
    /usr/include/linux/version.h:35:2: #error "================================================= ======"
    In file included from nv.c:14:
    nv-linux.h:31:40: missing binary operator before '('
    nv-linux.h:33:42: missing binary operator before '('
    nv-linux.h:35:42: missing binary operator before '('
    nv-linux.h:37:42: missing binary operator before '('
    nv-linux.h:39:42: missing binary operator before '('
    nv-linux.h:43:4: #error This driver does not support 2.6.x or newer kernels!
    In file included from /usr/include/asm/hardirq.h:6,
    from /usr/include/linux/interrupt.h:46,
    from nv-linux.h:71,
    from nv.c:14:
    /usr/include/linux/irq.h: At top level:
    /usr/include/linux/irq.h:65: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
    /usr/include/linux/irq.h:65: requested alignment is not a constant
    In file included from /usr/include/linux/interrupt.h:46,
    from nv-linux.h:71,
    from nv.c:14:
    /usr/include/asm/hardirq.h:16: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
    /usr/include/asm/hardirq.h:16: requested alignment is not a constant
    In file included from nv-linux.h:71,
    from nv.c:14:
    /usr/include/linux/interrupt.h:129: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
    /usr/include/linux/interrupt.h:129: requested alignment is not a constant
    nv-linux.h:184:64: missing binary operator before '('
    nv.c:1335:65: missing binary operator before '('
    nv.c: In function `nv_kern_mmap':
    nv.c:1338: warning: implicit declaration of function `pgprot_writecombine'
    nv.c:1338: incompatible types in assignment
    make: *** [nv.o] Fehler 1

    tut mir leid aber da versteh ich nur noch bahnhof...es ist doch richtig das ich zuerst den kernel vor dem GLX versuche oder?

    klaus

  4. #4
    Premium Mitglied
    Registriert seit
    Jul 2002
    Beiträge
    914
    ja, es ist die richtige Reihenfolge. Hast Du überjaupt die develop Pakete installiert mit den Werkzeugen wie Make usw.?
    wenn ja deinstallier vorher mal die nvidia mandrake pakete
    Opensuse 12.1, XFCE

  5. #5
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Beiträge
    6
    Jau ich hab brav den haken bei Develop. Tools und konsolenwerkzeuge bei der installation angegeben.

    Und ich hab mal mit rpmdrake gegugt...ich habe keine NVIDIA pakete drauf. habe auch eigentlich keine installiert weil die Geforce 4 generic treiber bei der installation nicht wollten und hab deshalb die vesa genommen

    klaus

  6. #6
    Registrierter Benutzer Avatar von dauni
    Registriert seit
    Jan 2001
    Ort
    Meran
    Beiträge
    2.261
    wenn make nicht installiert wäre, könnte man schlecht make aufrufen?

    kernelquellen müssen installeirt sein und darin muß einmal make dep ausgeführt werden ....

  7. #7
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Beiträge
    6
    auch auf die gefahr hin das ich gesteinigt werde oder ein RTFM an den kopf geworfen bekomme...

    welche kernelquellen? die Kernelquellen vom NVIDIA Kernel? Die versuche ich ja grade eben zu installieren...

    und...make dep?

    klaus ,
    der sich besser schon mal duckt

  8. #8
    Registrierter Benutzer
    Registriert seit
    Oct 1999
    Ort
    Kiel
    Beiträge
    1.798
    Hi

    ich verstehe die fehlermeldungen auch nicht so recht , aber
    zuerst wird ein fehler in den asm includes angezeigt.
    und zwar :
    /usr/include/asm/processor.h:55: `CONFIG_X86_L1_CACHE_SHIFT
    das , bei google eingeben zeigt ganz viele fehler im zusammenhang
    mit mandrake an.

    die lösung die dort gepostet wird ist: die kernelquellen zu installieren


    zur info :
    bei debian sid z.B gibt es dieses makro oder die konstante z.B in dieser
    datei gar nicht.
    statt dessen ist es im makro in /usr/include/asm/cache.h : #define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
    und in /usr/src/linux/ [das sind die kernel quellen ]
    in der datei autoconf.h:#define CONFIG_X86_L1_CACHE_SHIFT (5)
    vorhanden.

    was ich jetzt nicht verstehe:
    unter /usr/src/linux scheinen datein zu existieren aber die scheinen nicht die kernelquellen
    zu sein.

    falls doch, liegt das problem woanders.
    und es findet sich ein hinweis in der zeile

    /usr/include/linux/version.h:3:2: #error "You should not include /usr/include/{linux,asm}/ header"


    zur frage : kernel quellen
    es gibt in jeder distribution kernelquellen
    bei mandrake wäre es z.B das paket kernel-source
    rpm -q kernel-source
    sollte dir ausgeben ob es installiert ist.

    wenn sie installiert sind
    dann befinden sie sich unter /usr/src/

    und dann ist /usr/src/linux
    meist ein link auf
    /usr/src/kernel-source-2.4.xxxx

    um ein make dep auszuführen machst du folgendes

    cd /usr/src/linux

    bei vorhandener .config datei
    make dep

    sonst
    cp /boot/config-* /usr/src/linux/.config

    zur sicherheit : make oldconfig

    make dep

    gruss
    christoph

  9. #9
    Registrierter Benutzer Avatar von dauni
    Registriert seit
    Jan 2001
    Ort
    Meran
    Beiträge
    2.261
    Nvidia hat keinen Kernel und foglich auch keine Kernelquellen. Der kernel ist "Linux" und die Kernelquellen sind eben die Quellen von Linux. Die Kernelquellen brauchst du, wenn du ein Kernelmodul (Treiber) bauen willst. Der Nvidia-kernel-Treiber ist ein solcher.


    Die Kernelquellen findest du nach der Installation normalerweise under /usr/src/linux und da drin machst du als root ein "make dep" um hernach den kerneltreiber von nvidia zu bauen.

    Ich tu mich aber schwer zu glauben, dass das in dem Howto nicht drinsteht ....

  10. #10
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Beiträge
    6
    @ christophwth:

    Vielleicht liegt es daran das bei mir daran das im verzeichniss /usr/src/ ausser dem ordner RPMS (welcher uebrigens auch nur leere verzeichnisse enthaelt) garnichts vorhanden ist...

    könnte da das problem sein?

  11. #11
    Mod. FAQ/Howto/Emulation
    Registriert seit
    Sep 2000
    Beiträge
    17.397
    @dauni:

    Das steht nicht im Howto, weil er keinen Kernel bauen muss, sondern den Nvidia Treiber basierend auf dem aktuellen Kernel übersetzen will.

    Installiert sein muss:

    - der Kernel (ist er, sonst würde der Rechner nicht booten)
    - Kernel-Source wie oben beschrieben (Paket heisst "kernel-source")
    - XFree-Includes (Paket heisst "XFree86-devel")ANsonsten einfach

    Ob ein Paket vorhanden ist, kannst du mit "rpm -q paketname" abfragen als root.

    Ansonsten den Tarball entpacken mit "tar zxvf nvidia*" (oder wie Datei heisst), mit "make" und "make install" übersetzen&installieren. Steht aber auch alles im Howto.

    Und wie gesagt: Vergiss "make dep", du willst ja nicht den Kernel übersetzen.

  12. #12
    Registrierter Benutzer Avatar von dauni
    Registriert seit
    Jan 2001
    Ort
    Meran
    Beiträge
    2.261
    soweit ich weiß, gehts nicht ohne make dep, kann mich natürlich aber auch täuschen - mit make dep hat man aber auch noch lange keinen kernel übersetzt

  13. #13
    Registrierter Benutzer
    Registriert seit
    Oct 1999
    Ort
    Kiel
    Beiträge
    1.798
    HI

    @klausm, ja das ist das problem .
    installiere
    mal die kernel-sources

    gruss
    christoph

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •