Bug 8709

Summary: etercifs 5.4.3 build останавливается с ошибкой на убунте 12.04 64 бита.
Product: CIFS@Etersoft Reporter: Боренко Денис <denis>
Component: компиляция модуляAssignee: Pavel Shilovsky <piastry>
Status: CLOSED FIXED QA Contact:
Severity: critical    
Priority: P4 CC: lav, sin
Version: не указана   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:

Description Боренко Денис 2012-09-12 23:52:39 MSK
Building etercifs 5.4.3 for 3.2.0-23-generic Linux kernel (headers in /lib/modules/3.2.0-23-generic/build)
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: Вход в каталог `/usr/src/linux-headers-3.2.0-23-generic'
make: Выход из каталога `/usr/src/linux-headers-3.2.0-23-generic'
make: Вход в каталог `/usr/src/linux-headers-3.2.0-23-generic'
  CC [M]  /tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/cifsfs.o
  CC [M]  /tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/cifssmb.o
  CC [M]  /tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/cifs_debug.o
  CC [M]  /tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/connect.o
  CC [M]  /tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/dir.o
  CC [M]  /tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/file.o
/tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/file.c: В функции «cifs_posix_lock_set»:
/tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/file.c:857:3: ошибка: неявная декларация функции «locks_delete_block» [-Werror=implicit-function-declaration]
  CC [M]  /tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/inode.o
cc1: some warnings being treated as errors
make[1]: *** [/tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76/file.o] Ошибка 1
make[1]: *** Ожидание завершения заданий...
make: *** [_module_/tmp/Etercifs.g1JQQgwI/kernel-source-etercifs-3.2-1.76] Ошибка 2
make: Выход из каталога `/usr/src/linux-headers-3.2.0-23-generic'
can't locate built module etercifs.ko


Как показало расследование, объявление locks_delete_block в ядре 3.2 (что умолчательное в убунте) еще не появилось в include/linux/fs.h. Надо, наверное, что-то поправить. Спасибо.
Comment 1 Боренко Денис 2012-09-12 23:56:22 MSK
5.4.2 собирается нормально.
Comment 2 Pavel Shilovsky 2012-09-13 09:51:58 MSK
Надо обновить ядро до последнего стабильного: что-то вроде 3.2.0-29 или около того.

Посмотрел - из ядра исключили возможность проверить его версию предпроцессором, так что только если исходники патчить дополнительно при сборке при проверке на версию или создать ещё один набор исходников.
Comment 3 Pavel Shilovsky 2012-09-15 22:01:53 MSK
Задача решается обновлением ядра на Ubuntu из текущего репозитория.