Не компилируется модуль etercifs 4.5.0 # /etc/init.d/etercifs build Building etercifs 4.5.0 for 2.6.31.5-desktop-1mnb Linux kernel with dkms Setting etercifs version: OK Error! The module etercifs 4.5.0 is not currently installed. This module is not currently ACTIVE for kernel 2.6.31.5-desktop-1mnb (i586). Error! Your kernel source for kernel 2.6.31.5-desktop-1mnb cannot be found at /lib/modules/2.6.31.5-desktop-1mnb/build or /lib/modules/2.6.31.5-desktop-1mnb/source. You can use the --kernelsourcedir option to tell DKMS where it's located. Error! Could not locate etercifs.ko.gz for module etercifs in the DKMS tree. You must run a dkms build for kernel 2.6.31.5-desktop-1mnb (i586) first. [root@localhost ~]# uname -a Linux localhost 2.6.31.5-desktop-1mnb #1 SMP Fri Oct 23 01:46:54 EDT 2009 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ GNU/Linux
У виртуальной машины Mandriva 2010 сохранённый статус, и я не могу запустить её в режиме headless. Может кто-нибудь выключить её?
(In reply to comment #0) > Error! Your kernel source for kernel 2.6.31.5-desktop-1mnb cannot be found at > /lib/modules/2.6.31.5-desktop-1mnb/build or > /lib/modules/2.6.31.5-desktop-1mnb/source. Ну так видимо надо поставить соотв. пакет в систему, с хидерами ядра, при чём тут Павел? (In reply to comment #1) > У виртуальной машины Mandriva 2010 сохранённый > статус, и я не могу запустить её в режиме > headless. Может кто-нибудь выключить её? А что, # vbox stop UUID не помогает?
Ну она не запущена, потому остановить её нельзя. Та же проблема, что и в баге 4931. Проверил на Mandriva 2010.0. Было несовпадение версий ядра и хидеров - 2.6.31.5 и 2.6.31.6 соответственно. После установки требуемых хидеров сборка прошла успешно. Обновил пакет на виртуальной машине до 4.5.0-alt2 и появилась ошибка: gprintf: command not found Mandriva сама правит init скрипт после установки. Причём делает это не особо корректно. Чтобы отменить это, следует сделать export DONT_GPRINTIFY в %install секции в spec файле, но не сломает ли это нам остальные сборки? Пока я вручную поправил init скрипт на виртуальной машине. Сам gprintf обнаружить в репозитории не удалось, потому создал символическую ссылку на printf.
"DKMS: install Completed. Loading kernel module etercifs 4.5.0... FATAL: Error inserting etercifs (/lib/modules/2.6.31.12-desktop-1mnb/dkms/fs/cifs/etercifs.ko.gz): Invalid module format" А вот что выдает на Mandriva 2010.0 c ядром 2.26.31.12
[root@localhost ~]# /etc/init.d/etercifs build Building etercifs 4.5.0 for 2.6.31.12-desktop-1mnb Linux kernel with dkms Setting etercifs version: OK -------- Uninstall Beginning -------- Module: etercifs Version: 4.5.0 Kernel: 2.6.31.12-desktop-1mnb (i586) ------------------------------------- Status: Before uninstall, this module version was ACTIVE on this kernel. etercifs.ko.gz: - Uninstallation - Deleting from: /lib/modules/2.6.31.12-desktop-1mnb/dkms/fs/cifs// - Original module - No original module was found for this module on this kernel. - Use the dkms install command to reinstall any previous module version. depmod..... DKMS: uninstall Completed. Error! This module/version has already been built on: 2.6.31.12-desktop-1mnb Directory: /var/lib/dkms/etercifs/4.5.0/2.6.31.12-desktop-1mnb/i586 already exists. Use the dkms remove function before trying to build again. etercifs.ko.gz: - Installation - Installing to /lib/modules/2.6.31.12-desktop-1mnb/dkms/fs/cifs// depmod.... DKMS: install Completed. [root@localhost ~]# /etc/init.d/etercifs start Loading kernel module etercifs 4.5.0... [ DONE ] Всё хорошо. Какое ядро загружено?
service etercifs build Building etercifs 4.5.0 for 2.6.31.12-server-1mnb Linux kernel with dkms Setting etercifs version: OK -------- Uninstall Beginning -------- Module: etercifs Version: 4.5.0 Kernel: 2.6.31.12-server-1mnb (i586) ------------------------------------- Status: Before uninstall, this module version was ACTIVE on this kernel. etercifs.ko.gz: - Uninstallation - Deleting from: /lib/modules/2.6.31.12-server-1mnb/dkms/fs/cifs// - Original module - No original module was found for this module on this kernel. - Use the dkms install command to reinstall any previous module version. depmod..... DKMS: uninstall Completed. Error! This module/version has already been built on: 2.6.31.12-server-1mnb Directory: /var/lib/dkms/etercifs/4.5.0/2.6.31.12-server-1mnb/i586 already exists. Use the dkms remove function before trying to build again. etercifs.ko.gz: - Installation - Installing to /lib/modules/2.6.31.12-server-1mnb/dkms/fs/cifs// depmod.... DKMS: install Completed. # uname -a Linux sterh 2.6.31.12-server-1mnb #1 SMP Tue Jan 26 04:04:01 EST 2010 i686 Intel(R) Pentium(R) 4 CPU 3.06GHz GNU/Linux Фантастика, сейчас собралось... Но на вышеуказанном ядре. Ошибка была на 2.6.31.12-desktop-1mnb Наверное стоит закрыть ошибку...
Поправил проблему gprintf для Mandriva. 4.5.0-alt3 собрал на ftp.
(In reply to comment #7) > Поправил проблему gprintf для Mandriva. 4.5.0-alt3 > собрал на ftp. > Описание сути проблемы и стоило в багу написать. В сообщении от Четверг 18 марта 2010 piastry@office.etersoft.ru написал(a): > Проблема в том, что в Mandriva есть специальный скрипт, который парсит init > скрипты при установке и заменяет в них echo на gprintf. Этот кусок > переводился некорректно, потому я вынес его в файл functions.sh, который > этот специальный скрипт не правит. Мне кажется, это лучше, чем добавлять > export DONT_GPRINTIFY в %install секцию spec файла.
(In reply to comment #7) > Поправил проблему gprintf для Mandriva. 4.5.0-alt3 > собрал на ftp. > почему alt3 ? где лежит исправленный пакет? есть ли сборка? тот что на фтп - etercifs-4.5.0-eter3mdv - содержит в себе эту ошибку
(In reply to comment #9) > > почему alt3 ? > где лежит исправленный пакет? есть ли > сборка? > тот что на фтп - etercifs-4.5.0-eter3mdv - содержит в > себе эту ошибку Ну alt3 - это eter3, вот вроде в changelog вписано: * Thu Mar 18 2010 Pavel Shilovsky <piastry@altlinux.org> 4.5.0-alt3 - Fix gprintf problem on Mandriva
(In reply to comment #9) > (In reply to comment #7) > > Поправил проблему gprintf для Mandriva. 4.5.0-alt3 > > собрал на ftp. > > > > почему alt3 ? > где лежит исправленный пакет? есть ли > сборка? > тот что на фтп - etercifs-4.5.0-eter3mdv - содержит в > себе эту ошибку > Какую конкретно? Про gprintf или компиляцию? Если первую, то там хидеры были просто не те. По поводу второй: если имеется ввиду "gprintf: command not found ", то надо просто поставить этот самый gprintf. Это уже архитектурная особенность мандривы. Как вариант могу предложить сделать символическую ссылку на printf.
(In reply to comment #11) > (In reply to comment #9) > > (In reply to comment #7) > > > Поправил проблему gprintf для Mandriva. 4.5.0-alt3 > > > собрал на ftp. > > > > > > > почему alt3 ? > > где лежит исправленный пакет? есть ли > > сборка? > > тот что на фтп - etercifs-4.5.0-eter3mdv - содержит в > > себе эту ошибку > > > > Какую конкретно? Про gprintf или компиляцию? > Если первую, то там хидеры были просто не > те. По поводу второй: если имеется ввиду > "gprintf: command not found > ", то надо просто поставить этот самый gprintf. > Это уже архитектурная особенность > мандривы. Как вариант могу предложить > сделать символическую ссылку на printf. > # which printf /usr/bin/printf # service etercifs restart /etc/init.d/etercifs: line 151: gprintf: command not found [ DONE ] /etc/init.d/etercifs: line 230: gprintf: command not found [ DONE ] /etc/init.d/etercifs: line 192: gprintf: command not found [ DONE ] вот такая особенность при установленном gprintf
(In reply to comment #11) ... > те. По поводу второй: если имеется ввиду > "gprintf: command not found > ", то надо просто поставить этот самый gprintf. > Это уже архитектурная особенность > мандривы. Как вариант могу предложить > сделать символическую ссылку на printf. Не понимаю, это только наш init-скрипт содержит замены на gprintf, что, больше ни один скрипт в /etc/init.d/ не содержит gprintf? Надо бы немного покопать, кто всё же меняет. В собранном пакете никаких gprintf нет, то есть действенность "export DONT_GPRINTIFY в %install секцию spec файла." я понять не могу.
Это по поводу кто меняет: В сообщении от Четверг 18 марта 2010 piastry@office.etersoft.ru написал(a): > Проблема в том, что в Mandriva есть специальный скрипт, который парсит init > скрипты при установке и заменяет в них echo на gprintf. Этот кусок > переводился некорректно, потому я вынес его в файл functions.sh, который > этот специальный скрипт не правит. Мне кажется, это лучше, чем добавлять > export DONT_GPRINTIFY в %install секцию spec файла. Говорю же, надо или поставить этот самый gprintf в систему, или сделать # ln -s /usr/bin/printf /usr/bin/gprintf
(In reply to comment #14) ... > Говорю же, надо или поставить этот самый > gprintf в систему, или сделать > # ln -s /usr/bin/printf /usr/bin/gprintf Функция gprintf (printf с gettext) находится в /etc/init.d/functions Видимо, его надо включать при наличии.
Сделал в 4.5.0-alt5. Выложил на ftp.
(In reply to comment #16) > Сделал в 4.5.0-alt5. Выложил на ftp. > клиентам отписал.
Всё давно компилируется. Проблему с gprintf исправили, закрываю.