Installing Nvidia drivers with pkg1.run ends with «no Version.h found»
How can I configure the kernel source files? There is nothing like sudo make-prepare or sudo get-apt kernel-devel right?
A workaround suggested to copy the version.h ( cp -v /usr/include/linux/version.h /lib/modules/$(uname -r)/build/include/linux ) which lead to this error:
ERROR: 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.
Where are the kernel sources installed?
I even tried to run the . pkg1.run with —kernel-source-path /usr/include/linux (where version.h and many other .h Files are) as parameter but this lead to:
ERROR: The kernel header file '/usr/include/linux/include/linux/kernel.h' does not exist (. )
Usr include linux version h
В результате попытки компилиции alsa-driver-1.0.24 с поддержкой ymfpci получаю сообщение об ошибке. Поисковая система не помогла. Может кто-нибудь живой поможет. # ./configure —with-cards=ymfpci —with-sequencer=yes
checking for gcc. gcc
checking for C compiler default output file name. a.out
checking whether the C compiler works. yes
checking whether we are cross compiling. no
checking for suffix of executables.
checking for suffix of object files. o
checking whether we are using the GNU C compiler. yes
checking whether gcc accepts -g. yes
checking for gcc option to accept ISO C89. none needed
checking for ranlib. ranlib
checking for a BSD-compatible install. /usr/bin/install -c
checking how to run the C preprocessor. gcc -E
checking for grep that handles long lines and -e. /bin/grep
checking for egrep. /bin/grep -E
checking for ANSI C header files. yes
checking for an ANSI C-conforming const. yes
checking for inline. inline
checking whether time.h and sys/time.h may both be included. yes
checking whether gcc needs -traditional. no
checking for current directory. /usr/src/alsa/alsa-driver-1.0.24
checking cross compile.
checking for directory with ALSA kernel sources. /usr/src/alsa/alsa-driver-1.0.24/alsa-kernel
checking for directory with kernel source. /usr/src/linux
checking for directory with kernel build. /usr/src/linux
checking for kernel linux/version.h . no
The file /usr/src/linux/include/INCLUDE_VERSION_H does not exist.
Please install the package with full kernel sources for your distribution
or use —with-kernel=dir option to specify another directory with kernel
sources (default is /usr/src/linux).
# Пакеты linux-source-2.6.32:i386 и linux-headers-2.6.32-5-686:i386 установлены и первый из них распакован (второй в этом не нуждается). В /usr/src cоздана ссылка linux -> linux-source-2.6.32.
- Нет version.h при компиляции ALSA, antilinux, 22:51 , 17-Апр-11, (1)
- Нет version.h при компиляции ALSA, delete, 07:52 , 18-Апр-11, (2)
- Нет version.h при компиляции ALSA, mcherenkov, 17:05 , 19-Апр-11, (3)
- Нет version.h при компиляции ALSA, pavlinux, 03:13 , 20-Апр-11, ( 4 )
- Нет version.h при компиляции ALSA, mcherenkov, 21:26 , 21-Апр-11, ( 6 )
- Нет version.h при компиляции ALSA, pavlinux, 22:59 , 21-Апр-11, ( 9 )
- Нет version.h при компиляции ALSA, mcherenkov, 21:48 , 21-Апр-11, ( 7 )
ls -l /usr/src/linux/version.h
если этот файл есть
то значит линукс деградирует, и уже разучился ходить по ссылкам
делайте без ln на linux/ как вы делали
а только хародовый путь> ls -l /usr/src/linux/version.h
> если этот файл есть
> то значит линукс деградирует, и уже разучился ходить по ссылкам
> делайте без ln на linux/ как вы делали
> а только хародовый путьДело скорее всего не в этом. Для начал, неплохо было бы узнать, какая версия Linux стоит и почему используются ванильные исходники ядра. Во-вторых, если есть пакет linux-headers, то его надо УДАЛИТЬ. Вы уж определитесь, или у вас только linux-sources, либо у вас linux-headers с linux-devel или как-то так. Вообще это изобретение некоторых дистростроителей (я про linux-headers) редкостная бяка. Он создает нехорошие папочки в /usr/src/ с совершенно охрененными заголовочными файлами. Ну и надо проверить, куда ссылается у вас /lib/modules/2.6.32-5/build. Должен смотреть на папку /usr/src/linux-2.6.32-5 или куда там у вас исходники распакованы.
>> ls -l /usr/src/linux/version.h
# ls -l /usr/src/linux/version.*
-rw-r—r— 1 root root 10 Мар 7 05:33 /usr/src/linux/version.Debian> Дело скорее всего не в этом. Для начал, неплохо было бы узнать,
> какая версия Linux стоитИзвините.
# lsb_release -d
Description: Debian GNU/Linux 6.0.1 (squeeze)> и почему используются ванильные исходники ядра.
Меня послали на http://alsa-project.org/main/index.php/Matrix:Module-ymfpci
На самом деле это я продолжаю здесь форум, заглохший на LOR’е
http://www.linux.org.ru/forum/linux-hardware/6135262?lastmod.Кстати если можно несколько вопросов: что значит «ванильные исходники»? Я так понял что «немодифицированные», но тогда относительно чего? И как Вы определили что я именно их использую?
> Во-вторых, если есть пакет linux-headers, то его надо УДАЛИТЬ.
Удалил.
> Ну и надо проверить, куда ссылается у вас /lib/modules/2.6.32-5/build.
Сделал ссылку
# cd /lib/modules/2.6.32-5-686/
# ln -s /usr/src/linux-source-2.6.32 buildПытаюсь компилировать:
# cd /usr/src/alsa/alsa-driver-1.0.24/
# ./configure —with-cards=ymfpci —with-sequencer=yes
checking for gcc. gcc
checking for C compiler default output file name. a.out
checking whether the C compiler works. yes
checking whether we are cross compiling. no
checking for suffix of executables.
checking for suffix of object files. o
checking whether we are using the GNU C compiler. yes
checking whether gcc accepts -g. yes
checking for gcc option to accept ISO C89. none needed
checking for ranlib. ranlib
checking for a BSD-compatible install. /usr/bin/install -c
checking how to run the C preprocessor. gcc -E
checking for grep that handles long lines and -e. /bin/grep
checking for egrep. /bin/grep -E
checking for ANSI C header files. yes
checking for an ANSI C-conforming const. yes
checking for inline. inline
checking whether time.h and sys/time.h may both be included. yes
checking whether gcc needs -traditional. no
checking for current directory. /usr/src/alsa/alsa-driver-1.0.24
checking cross compile.
checking for directory with ALSA kernel sources. /usr/src/alsa/alsa-driver-1.0.24/alsa-kernel
checking for directory with kernel source. /lib/modules/2.6.32-5-686/build
checking for directory with kernel build. /lib/modules/2.6.32-5-686/build
checking for kernel linux/version.h . no
The file /lib/modules/2.6.32-5-686/build/include/INCLUDE_VERSION_H does not exist.
Please install the package with full kernel sources for your distribution
or use —with-kernel=dir option to specify another directory with kernel
sources (default is /lib/modules/2.6.32-5-686/build).
#>>> ls -l /usr/src/linux/version.h
> # ls -l /usr/src/linux/version.*ls -l /usr/src/linux/include/version.h
> Меня послали на http://alsa-project.org/main/index.php/Matrix:Module-ymfpci
> На самом деле это я продолжаю здесь форум, заглохший на LOR’еДа там лохи одни.
>> Во-вторых, если есть пакет linux-headers, то его надо УДАЛИТЬ.
>Удалил.Нах. я? 🙂
> Кстати если можно несколько вопросов: что значит «ванильные исходники»?
Это все файлы с сайта http://kernel.org/pub/linux/kernel/v2.6/linux-2.6. *.tar.bz
> Please install the package with full kernel sources for your distribution
Ну, поехали.
# apt-get install kernel-package;
# apt-get install linux-headers-`uname -r`;
# wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.24.tar.
# tar -xf alsa-driver-1.0.24.tar.bz2
# cd alsa-driver-1.0.24
# ./configure —with-cards=ymfpci
# make; make install;
# update-initramfs -u
# reboot;
.# modprobe snd-ymfpci
—
На готовые http://pavlinux.ru/krnl/debian/kernel.tar.bz2
лень было выбирать, запаковал все от 2.6.32-5> ls -l /usr/src/linux/include/version.h
# ls -l /usr/src/linux/include/version.h
ls: невозможно получить доступ к /usr/src/linux/include/version.h: Нет такого файла или каталога
#> Ну, поехали.
> .
> # modprobe snd-ymfpciДо этого места всё сделал как Вы рекомендовали. Большое спасибо, действительно что-то стало компилироваться.
> На готовые http://pavlinux.ru/krnl/debian/kernel.tar.bz2
> лень было выбирать, запаковал все от 2.6.32-5Но дальше я как-то идти не решился.
Как-то вроде бы это не совсем debian-way. Хотелось бы всё-таки примерно представлять что происходит.
Не могли бы Вы сказать как можно решить задачу далее, используя стандартные источники данных? Или хотя бы что почитать? Хотя я в любом случае благодарен той поддержке, которую Вы уже оказали.Уважаемый pavlinux, пожалуйста не обижайтесь, я вовсе не хочу Вас задеть! Просто мне кажется важным понимать что происходит, а не просто нажимать на кнопку «Make me happy».
> Кстати если можно несколько вопросов: что значит «ванильные исходники»? Я так понял
> что «немодифицированные», но тогда относительно чего? И как Вы определили что
> я именно их использую?Такой вывод я сделал на основании наименований пакетов с исходниками ядра, которые вы привели в первом посте и за отсутствием информации о дистрибутиве. Обычно в разных дистрибутивах наименования пакетов немного модифицируются, чтоб можно было их опознать.
>> Во-вторых, если есть пакет linux-headers, то его надо УДАЛИТЬ.
> Удалил.Про удаление я тоже написал, потому что думал, что вы пытаетесь из ванильных исходников что-то собрать и путаете их с пакетами из дистрибутива. Конечно в нормальных условиях лучше использовать пакеты от поставщика дистрибутива. В вашем случае это пакеты kernel-package и linux-headers одинаковых версий. Причина этого кроется в патчах, которые накладывают разные дистростроители для своих целей.
В методе решения pavlinux совершенно прав и добавить мне нечего 🙂 Особенно учитывая, что с Debian я никогда дел не имел.
Help locating linux/version.h
I already have the headers installed, so created the ln But it produces another error /lib/modules/3.8.0-29-generic/build/include/uapi/linux/types.h:4:23: fatal error: asm/types.h: No such file or directory I find it very odd, why would there be an error in /lib/modules/3.8.0-29-generic/build/include/uapi/linux/types.h it being a part of the linux header
@AshiqIrphan types.h file’s directory is changed. It’s now in include/uapi/asm-generic/. To fix your error follow the edited section
With apt-file you can find any file Ubuntu provides:
$ apt-file search linux/version.h gcc-arm-linux-androideabi: /usr/arm-linux-androideabi/include/linux/version.h linux-headers-3.11.0-11-lowlatency: /usr/src/linux-headers-3.11.0-11-lowlatency/include/generated/uapi/linux/version.h linux-headers-3.11.0-12-generic: /usr/src/linux-headers-3.11.0-12-generic/include/generated/uapi/linux/version.h linux-headers-3.4.0-1-goldfish: /usr/src/linux-headers-3.4.0-1-goldfish/include/linux/version.h linux-libc-dev: /usr/include/linux/version.h linux-libc-dev-arm64-cross: /usr/aarch64-linux-gnu/include/linux/version.h linux-libc-dev-armel-cross: /usr/arm-linux-gnueabi/include/linux/version.h linux-libc-dev-armhf-cross: /usr/arm-linux-gnueabihf/include/linux/version.h linux-libc-dev-powerpc-cross: /usr/powerpc-linux-gnu/include/linux/version.h ruby1.8-dev: /usr/lib/ruby/1.8/i686-linux/version.h
From this list, linux-libc-dev looks like the most promising candidate.
- Нет version.h при компиляции ALSA, mcherenkov, 21:26 , 21-Апр-11, ( 6 )
- Нет version.h при компиляции ALSA, pavlinux, 03:13 , 20-Апр-11, ( 4 )
- Нет version.h при компиляции ALSA, mcherenkov, 17:05 , 19-Апр-11, (3)
- Нет version.h при компиляции ALSA, delete, 07:52 , 18-Апр-11, (2)