Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 6516 - Сборка CIFS@Etersoft под новые ядра   Make a simular bug
Summary: Сборка CIFS@Etersoft под новые ядра
Status: ASSIGNED
Alias: None
Product: CIFS@Etersoft
Classification: Продукты (Products)
Component: Должностные (show other bugs)
Version: не указана
Hardware: PC All
: P2 major
Target Milestone: ---
Assignee: Vitaly Lipatov
QA Contact: Konstantin Artyushkin
URL: http://wiki.etersoft.ru/Etercifs/devel
Whiteboard:
Keywords:
: 9624 9631 (view as bug list)
Depends on:
Blocks:
 
In work:
Reported: 2010-11-21 21:07 MSK by Pavel Shilovsky
Modified: 2018-10-19 12:20 MSK (History)
9 users (show)

See Also:
Заявки RT: 33022 32936
Связано с:
Дата напоминания: 16th


Attachments
Исходники 3.12 пропаченные под 3.13 (268.02 KB, application/x-bzip)
2014-05-08 09:28 MSK, Боренко Денис
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pavel Shilovsky 2010-11-21 21:07:08 MSK
Здесь предлагаю сообщать о сборках пакета etercifs под новые ядра и обсуждать все предложения по этой теме.
Comment 1 Pavel Shilovsky 2010-11-21 21:09:12 MSK
На данный момент надо собрать пакет в порядке очереди под 34, 35 и 36 ядро.
Comment 2 Pavel Shilovsky 2010-11-25 18:15:54 MSK
Так же, думаю, надо создать и обновлять сорцы для текущей ветки cifs из апстрим - сейчас она основана на 2.6.37-rc1.
Comment 3 Pavel Shilovsky 2010-11-25 20:39:45 MSK
Смержил ветки с нашими изменениями с v2.6.34:
etersoft-tunnel-port (+ добавил логику из патчей для апстрима)
etersoft-unlock
etersoft-share-flags
etersoft-pid-forward (+ выкинул ненужный проброс пида в cifs_lock)
etersoft-common

Из них создал ветку v2.6.34-etercifs:
http://git.etersoft.ru/people/piastry/packages/?p=cifs-2.6.git;a=shortlog;h=refs/heads/v2.6.34-etercifs
Comment 4 Pavel Shilovsky 2010-11-25 22:14:32 MSK
Выложил сборку 4.5.6-alt1 с новыми исходниками для 2.6.34 ядра на наш ftp.
Comment 5 Pavel Shilovsky 2010-11-27 11:15:09 MSK
Смержил ветки etersoft-* с v2.6.35 и собрал ветку v2.6.35-etercifs. Залил на git.eter.
Comment 6 Pavel Shilovsky 2010-11-27 12:02:20 MSK
Собрал ветки под 2.6.36.
Comment 7 Pavel Shilovsky 2010-11-27 12:39:23 MSK
Собрал 4.5.7-alt1 на наш ftp
Comment 8 Pavel Shilovsky 2010-11-27 12:40:04 MSK
В 4.5.7-alt1 вошли исходники для 35 и 36 ядер.
Comment 9 Pavel Shilovsky 2010-12-10 14:22:55 MSK
Собрал ветки etersoft-* для 37-rc4 и так же v2.6.37-etercifs.
Comment 10 Pavel Shilovsky 2011-01-10 12:43:58 MSK
С выходом v2.6.37 надо обновить ветку с нашими патчами под 37 ядро и добавить поддержку в etercifs.
Comment 11 Pavel Shilovsky 2011-01-12 16:27:33 MSK
В etercifs-4.6.0 появилась поддержка 37 ядра.
Comment 12 Pavel Shilovsky 2011-05-12 19:45:22 MSK
Собрал dkms-etercifs-4.8.1.
Comment 13 Pavel Shilovsky 2011-05-31 20:27:05 MSK
Собрал etercifs-4.8.2-alt1 и dkms-etercifs-4.8.2-alt1 с поддержкой ядра 2.6.39 и исправления из стабильных веток для 2.6.32, 2.6.33 и 2.6.38 ядер.
Comment 14 Pavel Shilovsky 2011-05-31 20:35:56 MSK
(В ответ на comment #13)
> Собрал etercifs-4.8.2-alt1 и dkms-etercifs-4.8.2-alt1 с поддержкой ядра 2.6.39
> и исправления из стабильных веток для 2.6.32, 2.6.33 и 2.6.38 ядер.
2.6.32.41, 2.6.33.14 и 2.6.38.7 соответсвенно.
Comment 15 Pavel Shilovsky 2011-08-26 22:34:08 MSK
Прокинул ядро v3.0 в рабочие ветки с нашими патчами:
etersoft-common
etersoft-share-flags
etersoft-wine

Так же собрал ветку v3.0-etercifs.
Comment 16 Pavel Shilovsky 2011-08-26 22:38:46 MSK
(В ответ на comment #15)
> Прокинул ядро v3.0 в рабочие ветки с нашими патчами:
> etersoft-common
> etersoft-share-flags
> etersoft-wine

Тут обнаружил ошибку конфликта имён опций монтирования rwpidforward и rw. Отправил патч в рассылку переименовывающий первую опцию в pidforwardio:
http://permalink.gmane.org/gmane.linux.kernel.cifs/4062

> 
> Так же собрал ветку v3.0-etercifs.
Comment 17 Pavel Shilovsky 2011-08-27 20:35:42 MSK
(В ответ на comment #16)
> Тут обнаружил ошибку конфликта имён опций монтирования rwpidforward и rw.
> Отправил патч в рассылку переименовывающий первую опцию в pidforwardio:
> http://permalink.gmane.org/gmane.linux.kernel.cifs/4062

В процессе обсуждения выяснилось, что крайне нежелательно менять название опции в уже существующем ядре. Отослал вторую версию патча, которая не меняет название опции, а исправляет код, её обрабатывающий в модуле ядра и cifs-utils.
http://article.gmane.org/gmane.linux.kernel.cifs/4100
http://article.gmane.org/gmane.linux.kernel.cifs/4102
Comment 18 Pavel Shilovsky 2011-08-30 15:42:29 MSK
(В ответ на comment #17)
> http://article.gmane.org/gmane.linux.kernel.cifs/4100
> http://article.gmane.org/gmane.linux.kernel.cifs/4102

Патчи в апстрим.
Comment 19 Pavel Shilovsky 2011-09-05 17:25:18 MSK
Ядро v3.0 в etercifs-5.0.0.
Comment 20 Pavel Shilovsky 2011-09-27 18:47:29 MSK
Собрал dkms-etercifs-5.0.0-alt1.
Comment 21 Pavel Shilovsky 2012-01-20 18:05:59 MSK
Обновил ветки с нашими патчами, собрал новое ядро v3.2 в etercifs-5.4.0. Так же включил в релиз stable исправления для ядра v3.1 (v3.1.10).
Comment 22 Pavel Shilovsky 2012-08-13 20:48:42 MSK
Добавлена поддержка ядер v3.4 и v3.5 (v3.3 добавлено ранее).
Comment 23 Pavel Shilovsky 2012-10-30 22:33:54 MSK
Работал над поддержкой v3.6 и v3.7 ядер. Применил обновления из stable.
Comment 24 Pavel Shilovsky 2012-10-31 11:33:28 MSK
Собрал 5.4.4-alt с поддержкой v3.6 и  v3.7.
Comment 25 Pavel Shilovsky 2012-12-20 15:44:16 MSK
Обновил машины. В связи с появлением в Sisyphus ядра v3.7 - протестировал с помощью RECT последнюю сборку etercifs по протоколам CIFS и SMB2.02 с Samba сервером - для работы протокола SMB2.02 пришлось наложить дополнительный патч, который войдёт в следующую сборку etercifs.
Comment 26 Pavel Shilovsky 2012-12-20 22:34:41 MSK
(В ответ на comment #25)
> Обновил машины. В связи с появлением в Sisyphus ядра v3.7 - протестировал с
> помощью RECT последнюю сборку etercifs по протоколам CIFS и SMB2.02 с Samba
> сервером - для работы протокола SMB2.02 пришлось наложить дополнительный патч,
> который войдёт в следующую сборку etercifs.

Продолжил тестирование уже с Windows сервером по протоколам CIFS и SMB2.1. Выяснил некоторые проблемы с использованием SMB2.1 протокола - добавил патчи. Одна проблема осталась нерешённой: Windows сервер в случае  SMB2.1 протокола разрешает наличие блокировки на чтение клиенту, который выполнил блокировку файла.
Comment 27 Pavel Shilovsky 2013-03-01 10:49:13 MSK
(В ответ на comment #26)
> (В ответ на comment #25)
> > Обновил машины. В связи с появлением в Sisyphus ядра v3.7 - протестировал с
> > помощью RECT последнюю сборку etercifs по протоколам CIFS и SMB2.02 с Samba
> > сервером - для работы протокола SMB2.02 пришлось наложить дополнительный патч,
> > который войдёт в следующую сборку etercifs.
> 
> Продолжил тестирование уже с Windows сервером по протоколам CIFS и SMB2.1.
> Выяснил некоторые проблемы с использованием SMB2.1 протокола - добавил патчи.
> Одна проблема осталась нерешённой: Windows сервер в случае  SMB2.1 протокола
> разрешает наличие блокировки на чтение клиенту, который выполнил блокировку
> файла.

Вышеописанная проблема решена в баге
https://bugs.etersoft.ru/show_bug.cgi?id=8959
Comment 28 Pavel Shilovsky 2013-03-01 15:43:47 MSK
Добавил поддержку ядра v3.8. Обновил текущие ядра. Версия 5.4.6-alt1.
Comment 29 Pavel Shilovsky 2013-03-01 20:31:51 MSK
(В ответ на comment #28)
> Добавил поддержку ядра v3.8. Обновил текущие ядра. Версия 5.4.6-alt1.
Собрал etercifs-5.4.6-alt1.
Comment 30 Vitaly Lipatov 2013-06-19 11:09:47 MSK
Нужна поддержка ядер 3.9 и 3.10.
На 3.9.4 у меня не собирается так:
kernel-source-etercifs-3.8-2.0/inode.c: In function ‘inode_has_hashed_dentries’:
kernel-source-etercifs-3.8-2.0/inode.c:812:59: error: macro "hlist_for_each_entry" passed 4 arguments, but takes just 3
kernel-source-etercifs-3.8-2.0/inode.c:812:2: error: ‘hlist_for_each_entry’ undeclared (first use in this function)
Comment 31 Pavel Shilovsky 2013-06-27 23:01:04 MSK
(В ответ на comment #30)
> Нужна поддержка ядер 3.9 и 3.10.
> На 3.9.4 у меня не собирается так:
> kernel-source-etercifs-3.8-2.0/inode.c: In function
> ‘inode_has_hashed_dentries’:
> kernel-source-etercifs-3.8-2.0/inode.c:812:59: error: macro
> "hlist_for_each_entry" passed 4 arguments, but takes just 3
> kernel-source-etercifs-3.8-2.0/inode.c:812:2: error: ‘hlist_for_each_entry’
> undeclared (first use in this function)

Добавил поддержку ядер 3.9 и 3.10 в etercifs-5.4.7-alt1.
Comment 32 Vitaly Lipatov 2013-06-29 20:21:29 MSK
(В ответ на comment #31)
...
> Добавил поддержку ядер 3.9 и 3.10 в etercifs-5.4.7-alt1.
В этих версиях появились скрипты для systemd, которые кладутся в каталог %unitdir.
Старые системы ещё не знали такого макроса, некоторые новые не используют systemd.
Исправлена сборка под Ubuntu, ArchLinux, Slackware. Под новые системы всё собралось, под старые — нет. Думаю, как правильно туда бэкпортить макрос.
Comment 33 Vitaly Lipatov 2013-10-22 21:57:32 MSK
Нужна поддержка 3.11 и 3.12:

>Building etercifs 5.4.7 for 3.11.2-201.fc19.i686 Linux kernel (headers
in /lib/modules/3.11.2-201.fc19.i686/build)
>Warning! Couldn't find module sources for the current kernel 3.11 (3.9
sources are selected)!
>Using the lates supported sources - from v3.9 kernel!

Хочу заметить, что несмотря на заявление поддержки 3.10 в etercifs 5.4.7, почему-то берутся исходники для 3.9
* Чт июн 27 2013 Pavel Shilovsky <piastry@altlinux.org> 5.4.7-alt1
- Add sources for 3.10 (v3.10-rc5)
- Add sources for 3.9 (v3.9.7)

...
CC [M] /tmp/Etercifs.st1rR5RI/kernel-source-etercifs-3.9-2.0/cifsfs.o
/tmp/Etercifs.st1rR5RI/kernel-source-etercifs-3.9-2.0/cifsfs.c:975:2:
ошибка: неизвестное поле «readdir» в инициализаторе
.readdir = cifs_readdir,
^
/tmp/Etercifs.st1rR5RI/kernel-source-etercifs-3.9-2.0/cifsfs.c:975:2:
предупреждение: несовместимый тип указателя в инициализации [по
умолчанию включена]
...
Comment 34 Vitaly Lipatov 2013-10-31 15:37:06 MSK
*** Bug 9624 has been marked as a duplicate of this bug. ***
Comment 35 Pavel Shilovsky 2013-11-10 16:58:34 MSK
Добавил поддержку ядер v3.11 и v3.12 в etercifs-5.4.8-alt1.
Comment 36 Vitaly Lipatov 2013-11-10 17:05:20 MSK
*** Bug 9631 has been marked as a duplicate of this bug. ***
Comment 37 Pavel Shilovsky 2013-11-10 17:07:01 MSK
(В ответ на comment #35)
> Добавил поддержку ядер v3.11 и v3.12 в etercifs-5.4.8-alt1.

Также в этом выпуске исправлены выбор исходников в случае отсутствия поддержки текущего ядра, утечка памяти в ядре 3.8 (при работе с SMB2) и трасляция ошибки STATUS_SHARING_VIOLATION.
Comment 38 Konstantin Artyushkin 2014-03-12 15:12:59 MSK
Нужна поддержка 3.13.5

Building etercifs 5.4.8 for 3.13.5-103.fc19.x86_64 Linux kernel (headers
in /lib/modules/3.13.5-103.fc19.x86_64/build)
Warning! Couldn't find module sources for the current kernel 3.13 (3.12
sources are selected)!
Comment 39 Konstantin Artyushkin 2014-03-12 15:50:24 MSK
(В ответ на comment #38)
> Нужна поддержка 3.13.5
> 
> Building etercifs 5.4.8 for 3.13.5-103.fc19.x86_64 Linux kernel (headers
> in /lib/modules/3.13.5-103.fc19.x86_64/build)
> Warning! Couldn't find module sources for the current kernel 3.13 (3.12
> sources are selected)!

CC
[M] /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/smb2maperror.o
/tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c: В
функции «cifs_fscache_get_client_cookie»:
/tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c:30:5:
ошибка: слишком мало аргументов в вызове функции
«fscache_acquire_cookie»
 &cifs_fscache_server_index_def, server);
 ^
In file included
from /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.h:24:0,

from /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c:21:
include/linux/fscache.h:341:24: замечание: declared here
 struct fscache_cookie *fscache_acquire_cookie(
 ^
/tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c: В
функции «cifs_fscache_get_super_cookie»:
/tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c:49:5:
ошибка: слишком мало аргументов в вызове функции
«fscache_acquire_cookie»
 &cifs_fscache_super_index_def, tcon);

...
Comment 40 Боренко Денис 2014-03-25 21:45:00 MSK
(В ответ на comment #38)
> Нужна поддержка 3.13.5

Категорически поддерживаю!
Убунта ЛТС 14.04 уже в бете, а мы ни сном ни духом!
Comment 41 Konstantin Artyushkin 2014-04-04 17:05:39 MSK

(В ответ на comment #39)

> Нужна поддержка 3.13.5
>  
> Building etercifs 5.4.8 for 3.13.5-103.fc19.x86_64 Linux kernel (headers
> in /lib/modules/3.13.5-103.fc19.x86_64/build)
> Warning! Couldn't find module sources for the current kernel 3.13 (3.12
> sources are selected)!
> 
> CC
> [M] /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/smb2maperror.o
> /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c: В
> функции «cifs_fscache_get_client_cookie»:
> /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c:30:5:
> ошибка: слишком мало аргументов в вызове функции
> «fscache_acquire_cookie»
>  &cifs_fscache_server_index_def, server);
>  ^
> In file included
> from /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.h:24:0,
> 
> from /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c:21:
> include/linux/fscache.h:341:24: замечание: declared here
>  struct fscache_cookie *fscache_acquire_cookie(
>  ^
> /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c: В
> функции «cifs_fscache_get_super_cookie»:
> /tmp/Etercifs.GrKhKvoM/kernel-source-etercifs-3.12-2.02/fscache.c:49:5:
> ошибка: слишком мало аргументов в вызове функции
> «fscache_acquire_cookie»
>  &cifs_fscache_super_index_def, tcon);
> 
> ...

Цетирую:
"Добрый день!

И какие прогнозы на выпуск исправления? Ядро уже успело еще 2 раза
обновиться..."

Динамо получается.
Comment 42 Konstantin Artyushkin 2014-05-07 13:57:07 MSK
Нужна нужна поддержка ядер 3.14
Comment 43 Боренко Денис 2014-05-08 09:28:15 MSK
Created attachment 3051 [details]
Исходники 3.12 пропаченные под 3.13
Comment 44 Pavel Shilovsky 2014-05-28 23:18:52 MSK
Поддержка ядер v3.13, v3.14 и v3.15 добавлена в etercifs-5.4.9-alt1.
Comment 47 Konstantin Artyushkin 2014-05-30 13:15:56 MSK
Ubuntu 14.04
ядро 3.13.0-24

Всё собралось
И запустилось

CIFS kernel module status:
    kernel module etercifs version 5.4.9 is built for current kernel
    kernel module etercifs version 5.4.9 is loaded
Comment 48 Сергей 2014-07-24 14:19:52 MSK
Etercifs выложенный на ftp для Centos 7 не собирает модуль ядра.

Без lsb_release
# /etc/init.d/etercifs build

Building etercifs 5.4.9 for 3.10.0-123.4.2.el7.x86_64 Linux kernel (headers in /lib/modules/3.10.0-123.4.2.el7.x86_64/build)
which: no lsb_release in (/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/administrator/.local/bin:/home/administrator/bin:/sbin:/usr/sbin)
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: Вход в каталог `/usr/src/kernels/3.10.0-123.4.2.el7.x86_64'
make: Выход из каталога `/usr/src/kernels/3.10.0-123.4.2.el7.x86_64'
make: Вход в каталог `/usr/src/kernels/3.10.0-123.4.2.el7.x86_64'
  CC [M]  /tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/cifsfs.o
  CC [M]  /tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/cifssmb.o
  CC [M]  /tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/cifs_debug.o
  CC [M]  /tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/connect.o
  CC [M]  /tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/dir.o
/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/dir.c:860:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .d_hash = cifs_ci_hash,
  ^
/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/dir.c:860:2: предупреждение: (где-то рядом с инициализацией для «cifs_ci_dentry_ops.d_hash») [по умолчанию включена]
/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/dir.c:861:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .d_compare = cifs_ci_compare,
  ^
/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/dir.c:861:2: предупреждение: (где-то рядом с инициализацией для «cifs_ci_dentry_ops.d_compare») [по умолчанию включена]
  CC [M]  /tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/file.o
  CC [M]  /tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/inode.o
/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/file.c: В функции «cifs_posix_lock_set»:
/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/file.c:1007:3: ошибка: неявная декларация функции «locks_delete_block» [-Werror=implicit-function-declaration]
   locks_delete_block(flock);
   ^
/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/file.c: В функции «cifs_push_posix_locks»:
/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/file.c:1110:2: ошибка: неявная декларация функции «lock_flocks» [-Werror=implicit-function-declaration]
  lock_flocks();
  ^
/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/file.c:1115:2: ошибка: неявная декларация функции «unlock_flocks» [-Werror=implicit-function-declaration]
  unlock_flocks();
  ^
cc1: some warnings being treated as errors
make[1]: *** [/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0/file.o] Ошибка 1
make[1]: *** Ожидание завершения заданий...
make: *** [_module_/tmp/Etercifs.Hbfny81o/kernel-source-etercifs-3.10-2.0] Ошибка 2
make: Выход из каталога `/usr/src/kernels/3.10.0-123.4.2.el7.x86_64'
can't locate built module etercifs.ko

=======

С lsb_release.

# /etc/init.d/etercifs build

Building etercifs 5.4.9 for 3.10.0-123.4.2.el7.x86_64 Linux kernel (headers in /lib/modules/3.10.0-123.4.2.el7.x86_64/build)

Found RHEL-like distribution.
Warning! Your kernel in not 2.6.x
Building from legacy sources.
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: Вход в каталог `/usr/src/kernels/3.10.0-123.4.2.el7.x86_64'
make: Выход из каталога `/usr/src/kernels/3.10.0-123.4.2.el7.x86_64'
make: Вход в каталог `/usr/src/kernels/3.10.0-123.4.2.el7.x86_64'
  CC [M]  /tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.o
  CC [M]  /tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.o
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c: В функции «cifs_read_super»:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:134:2: ошибка: неявная декларация функции «iget» [-Werror=implicit-function-declaration]
  inode = iget(sb, ROOT_I);
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:134:8: предупреждение: в присваивании целое преобразуется в указатель без приведения типа [по умолчанию включена]
  inode = iget(sb, ROOT_I);
        ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:141:2: ошибка: неявная декларация функции «d_alloc_root» [-Werror=implicit-function-declaration]
  sb->s_root = d_alloc_root(inode);
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:141:13: предупреждение: в присваивании целое преобразуется в указатель без приведения типа [по умолчанию включена]
  sb->s_root = d_alloc_root(inode);
             ^
In file included from /tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:42:0:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c: В функции «cifs_statfs»:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsproto.h:55:109: ошибка: «struct task_struct» не содержит элемента с именем «fsuid»
 #define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__FUNCTION__, xid,current->fsuid));
                                                                                                             ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifs_debug.h:46:113: замечание: in definition of macro «cifsfyi»
 #define cifsfyi(format,arg...) if (cifsFYI & CIFS_INFO) printk(KERN_DEBUG " " __FILE__ ": " format "\n" "" , ## arg)
                                                                                                                 ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsproto.h:55:34: замечание: in expansion of macro «cFYI»
 #define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__FUNCTION__, xid,current->fsuid));
                                  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:225:8: замечание: in expansion of macro «GetXid»
  xid = GetXid();
        ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c: В функции «cifs_permission»:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:281:3: ошибка: слишком много аргументов в вызове функции «generic_permission»
   return generic_permission(inode, mask, NULL);
   ^
In file included from /tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:27:0:
include/linux/fs.h:2278:12: замечание: declared here
 extern int generic_permission(struct inode *, int);
            ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c: На верхнем уровне:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:541:2: ошибка: неизвестное поле «read_inode» в инициализаторе
  .read_inode = cifs_read_inode,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:541:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:541:2: предупреждение: (где-то рядом с инициализацией для «cifs_super_ops.alloc_inode») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:551:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .show_options = cifs_show_options,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:551:2: предупреждение: (где-то рядом с инициализацией для «cifs_super_ops.show_options») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:552:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .umount_begin   = cifs_umount_begin,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:552:2: предупреждение: (где-то рядом с инициализацией для «cifs_super_ops.umount_begin») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c: В функции «cifs_get_sb»:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:576:9: предупреждение: при передаче аргумента 4 «sget» указатель преобразуется в целое без приведения типа [по умолчанию включена]
  struct super_block *sb = sget(fs_type, NULL, set_anon_super, NULL);
         ^
In file included from /tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:27:0:
include/linux/fs.h:1865:21: замечание: expected «int» but argument is of type «void *»
 struct super_block *sget(struct file_system_type *type,
                     ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:576:9: ошибка: слишком мало аргументов в вызове функции «sget»
  struct super_block *sb = sget(fs_type, NULL, set_anon_super, NULL);
         ^
In file included from /tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:27:0:
include/linux/fs.h:1865:21: замечание: declared here
 struct super_block *sget(struct file_system_type *type,
                     ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:601:2: ошибка: неявная декларация функции «simple_set_mnt» [-Werror=implicit-function-declaration]
  return simple_set_mnt(mnt, sb);
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c: В функции «cifs_llseek»:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:730:2: ошибка: неявная декларация функции «remote_llseek» [-Werror=implicit-function-declaration]
  return remote_llseek(file, offset, origin);
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c: На верхнем уровне:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:736:2: ошибка: неизвестное поле «get_sb» в инициализаторе
  .get_sb = cifs_get_sb,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:736:2: предупреждение: при инициализации указатель преобразуется в целое без приведения типа [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:736:2: предупреждение: (где-то рядом с инициализацией для «cifs_fs_type.fs_flags») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:736:2: ошибка: инициализирующий элемент не может быть вычислен во время компоновки
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:736:2: ошибка: (где-то рядом с инициализацией для «cifs_fs_type.fs_flags»)
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:741:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .create = cifs_create,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:741:2: предупреждение: (где-то рядом с инициализацией для «cifs_dir_inode_ops.create») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:742:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .lookup = cifs_lookup,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:742:2: предупреждение: (где-то рядом с инициализацией для «cifs_dir_inode_ops.lookup») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:746:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .mkdir = cifs_mkdir,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:746:2: предупреждение: (где-то рядом с инициализацией для «cifs_dir_inode_ops.mkdir») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:749:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .permission = cifs_permission,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:749:2: предупреждение: (где-то рядом с инициализацией для «cifs_dir_inode_ops.permission») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:753:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .mknod   = cifs_mknod,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:753:2: предупреждение: (где-то рядом с инициализацией для «cifs_dir_inode_ops.mknod») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:767:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .permission = cifs_permission,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:767:2: предупреждение: (где-то рядом с инициализацией для «cifs_file_inode_ops.permission») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:784:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .permission = cifs_permission,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:784:2: предупреждение: (где-то рядом с инициализацией для «cifs_symlink_inode_ops.permission») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:808:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .fsync = cifs_fsync,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:808:2: предупреждение: (где-то рядом с инициализацией для «cifs_file_ops.fsync») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:818:2: ошибка: неизвестное поле «ioctl» в инициализаторе
  .ioctl = cifs_ioctl,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:818:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:818:2: предупреждение: (где-то рядом с инициализацией для «cifs_file_ops.read») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:834:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .fsync = cifs_fsync,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:834:2: предупреждение: (где-то рядом с инициализацией для «cifs_file_direct_ops.fsync») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:843:2: ошибка: неизвестное поле «ioctl» в инициализаторе
  .ioctl  = cifs_ioctl,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:843:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:843:2: предупреждение: (где-то рядом с инициализацией для «cifs_file_direct_ops.setlease») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:861:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .fsync = cifs_fsync,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:861:2: предупреждение: (где-то рядом с инициализацией для «cifs_file_nobrl_ops.fsync») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:871:2: ошибка: неизвестное поле «ioctl» в инициализаторе
  .ioctl = cifs_ioctl,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:871:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:871:2: предупреждение: (где-то рядом с инициализацией для «cifs_file_nobrl_ops.read») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:886:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .fsync = cifs_fsync,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:886:2: предупреждение: (где-то рядом с инициализацией для «cifs_file_direct_nobrl_ops.fsync») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:895:2: ошибка: неизвестное поле «ioctl» в инициализаторе
  .ioctl  = cifs_ioctl,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:895:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:895:2: предупреждение: (где-то рядом с инициализацией для «cifs_file_direct_nobrl_ops.setlease») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:910:2: ошибка: неизвестное поле «ioctl» в инициализаторе
  .ioctl  = cifs_ioctl,
  ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:910:2: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:910:2: предупреждение: (где-то рядом с инициализацией для «cifs_dir_ops.write») [по умолчанию включена]
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c: В функции «cifs_init_inodecache»:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:934:12: предупреждение: в передаче аргумента 5 «kmem_cache_create»: несовместимый тип указателя [по умолчанию включена]
            cifs_init_once);
            ^
In file included from /tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.c:29:0:
include/linux/slab.h:105:20: замечание: expected «void (*)(void *)» but argument is of type «void (*)(void *, struct kmem_cache *, long unsigned int)»
 struct kmem_cache *kmem_cache_create(const char *, size_t, size_t,
                    ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c: В функции «SMBLegacyOpen»:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:1188:8: предупреждение: неиспользуемая переменная «count» [-Wunused-variable]
  __u16 count;
        ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:1187:6: предупреждение: неиспользуемая переменная «name_len» [-Wunused-variable]
  int name_len;
      ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:1186:6: предупреждение: неиспользуемая переменная «bytes_returned» [-Wunused-variable]
  int bytes_returned;
      ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:1185:13: предупреждение: неиспользуемая переменная «pSMBr» [-Wunused-variable]
  OPENX_RSP *pSMBr = NULL;
             ^
/tmp/Etercifs.MMfBzREI/kernel-source-eter
cifs-legacy-1.50c/cifssmb.c:1184:13: предупреждение: неиспользуемая переменная «pSMB» [-Wunused-variable]
  OPENX_REQ *pSMB = NULL;
             ^
cc1: some warnings being treated as errors
make[1]: *** [/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifsfs.o] Ошибка 1
make[1]: *** Ожидание завершения заданий...
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c: На верхнем уровне:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:1146:14: предупреждение: «convert_disposition» определена, но нигде не используется [-Wunused-function]
 static __u16 convert_disposition(int disposition)
              ^
In file included from /tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:42:0:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c: В функции «CIFSGetDFSRefer»:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:4005:26: предупреждение: array subscript is above array bounds [-Warray-bounds]
     le16_to_cpu(referrals->TimeToLive)));
                          ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifs_debug.h:46:113: замечание: in definition of macro «cifsfyi»
 #define cifsfyi(format,arg...) if (cifsFYI & CIFS_INFO) printk(KERN_DEBUG " " __FILE__ ": " format "\n" "" , ## arg)
                                                                                                                 ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:3997:4: замечание: in expansion of macro «cFYI»
    cFYI(1, ("num_referrals: %d dfs flags: 0x%x ... \n"
    ^
include/linux/byteorder/generic.h:90:21: замечание: in expansion of macro «__le16_to_cpu»
 #define le16_to_cpu __le16_to_cpu
                     ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:4005:5: замечание: in expansion of macro «le16_to_cpu»
     le16_to_cpu(referrals->TimeToLive)));
     ^
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c: В функции «CIFSSMBSetFileTimes»:
/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c/cifssmb.c:4873:8: предупреждение: array subscript is above array bounds [-Warray-bounds]
  memcpy(data_offset, data, sizeof(FILE_BASIC_INFO));
        ^
make: *** [_module_/tmp/Etercifs.MMfBzREI/kernel-source-etercifs-legacy-1.50c] Ошибка 2
make: Выход из каталога `/usr/src/kernels/3.10.0-123.4.2.el7.x86_64'
can't locate built module etercifs.ko
Comment 49 Сергей 2014-07-24 14:24:11 MSK
Прошу прощения спец. темы не заметил. :(
Comment 50 Pavel Shilovsky 2014-08-08 17:35:35 MSK
Ядра v3.16 и v3.10 (из CentOS 7.0) в etercifs-5.4.10-alt1.
Comment 51 Maks 2014-09-26 19:52:52 MSK
для Altlinux P7 не собираются с новыеи ядрами 
# uname -a
Linux srv-1.office 3.14.19-std-def-alt1 #1 SMP Thu Sep 18 15:00:24 UTC 2014 x86_64 GNU/Linux

# service etercifs status
Package etercifs 5.4.8-alt1
CIFS kernel module status:
    WARNING!!! Kernel module etercifs is not loaded!
    WINE@Etersoft won't run on the CIFS resource!
[root@srv-1 ~]# service etercifs build

Building etercifs 5.4.8 for 3.14.19-std-def-alt1 Linux kernel (headers in /lib/modules/3.14.19-std-def-alt1/build)
Warning! Couldn't find module sources for the current kernel 3.14 (3.12 sources are selected)!
Using the lates supported sources - from v3.12 kernel!
Use GCC 4.7
/usr/bin/gcc-4.7
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: Вход в каталог `/usr/src/linux-3.14.19-std-def-alt1'
make: Выход из каталога `/usr/src/linux-3.14.19-std-def-alt1'
make: Вход в каталог `/usr/src/linux-3.14.19-std-def-alt1'
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/cifsfs.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/cifssmb.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/cifs_debug.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/connect.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/dir.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/file.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/inode.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/link.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/misc.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/netmisc.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/smbencrypt.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/transport.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/asn1.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/cifs_unicode.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/nterr.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/xattr.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/cifsencrypt.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/readdir.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/ioctl.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/sess.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/export.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/smb1ops.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/winucase.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/cifsacl.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/cifs_spnego.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/dns_resolve.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/cifs_dfs_ref.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.o
  CC [M]  /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/cache.o
/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c: In function ‘cifs_fscache_get_client_cookie’:
/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c:30:5: error: too few arguments to function ‘fscache_acquire_cookie’
In file included from /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.h:24:0,
                 from /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c:21:
include/linux/fscache.h:341:24: note: declared here
/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c: In function ‘cifs_fscache_get_super_cookie’:
/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c:49:5: error: too few arguments to function ‘fscache_acquire_cookie’
In file included from /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.h:24:0,
                 from /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c:21:
include/linux/fscache.h:341:24: note: declared here
/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c: In function ‘cifs_fscache_enable_inode_cookie’:
/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c:72:5: error: too few arguments to function ‘fscache_acquire_cookie’
In file included from /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.h:24:0,
                 from /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c:21:
include/linux/fscache.h:341:24: note: declared here
/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c: In function ‘cifs_fscache_reset_inode_cookie’:
/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c:122:6: error: too few arguments to function ‘fscache_acquire_cookie’
In file included from /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.h:24:0,
                 from /tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.c:21:
include/linux/fscache.h:341:24: note: declared here
make[1]: *** [/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02/fscache.o] Ошибка 1
make[1]: *** Ожидание завершения заданий...
make: *** [_module_/tmp/.private/root/Etercifs.7KNuQ4HT/kernel-source-etercifs-3.12-2.02] Ошибка 2
make: Выход из каталога `/usr/src/linux-3.14.19-std-def-alt1'
can't locate built module etercifs.ko
Comment 52 Боренко Денис 2014-09-26 22:43:58 MSK
(В ответ на comment #51)
> для Altlinux P7 не собираются с новыеи ядрами 
> Package etercifs 5.4.8-alt1
Последняя версия 5.4.9, там просто бардак у них на ftp. Попробуйте отсюда: http://updates.etersoft.ru/pub/Etersoft/CIFS%40Etersoft/5.4.9/x86_64/ALTLinux/p6/etercifs-5.4.9-alt0.M60P.1.noarch.rpm
Comment 53 Vitaly Lipatov 2014-09-27 03:37:51 MSK
(В ответ на comment #52)
> (В ответ на comment #51)
> > для Altlinux P7 не собираются с новыеи ядрами 
> > Package etercifs 5.4.8-alt1
> Последняя версия 5.4.9, там просто бардак у них на ftp. Попробуйте отсюда:
В чём уже у нас бардак?
Есть и
ftp://updates.etersoft.ru/pub/Etersoft/CIFS@Etersoft/stable/
и
http://wiki.etersoft.ru/Etercifs
Comment 54 Боренко Денис 2014-09-27 08:02:36 MSK
> В чём уже у нас бардак?
ftp://updates.etersoft.ru/pub/Etersoft/CIFS@Etersoft/5.4.9/x86_64/ALTLinux/p7/etercifs-5.4.8-alt0.M70P.1.noarch.rpm
Comment 55 Maks 2014-09-29 11:56:50 MSK
(В ответ на comment #53)
> (В ответ на comment #52)
> > (В ответ на comment #51)
> > > для Altlinux P7 не собираются с новыеи ядрами 
> > > Package etercifs 5.4.8-alt1
> > Последняя версия 5.4.9, там просто бардак у них на ftp. Попробуйте отсюда:
> В чём уже у нас бардак?
да, бардак однако, в каталоге с 5.4.9 лежит собранный 5.4.8, для x86_64



> Есть и
> ftp://updates.etersoft.ru/pub/Etersoft/CIFS@Etersoft/stable/
> и
> http://wiki.etersoft.ru/Etercifs

а тут свежак нашел, 5.4.10
;)
Comment 56 Vitaly Lipatov 2014-10-02 19:35:13 MSK
В общем случае правильно собранные пакеты гарантируются только при отгрузке вместе с продуктом. Свободная сборка доступна не под все версии систем (не поддерживается в случае проблем).
Comment 57 Pavel Shilovsky 2014-12-23 13:22:23 MSK
Обновил ветки из стабильных релизов. Собрал ветку для ядра v3.17, протестировал с помощью RECT.
Comment 60 Pavel Shilovsky 2014-12-24 17:19:57 MSK
Добавил ядра 3.18 и 3.19 (rc1) в версию 5.4.11-alt1.
Comment 61 Pavel Shilovsky 2015-03-03 19:52:42 MSK
Добавил поддержку ядра v4.0 (v4.0-rc1) - версия 5.4.12-alt1.
Comment 62 Pavel Shilovsky 2015-06-21 21:34:01 MSK
Добавил поддержку ядра v4.1 (v4.1-rc8) - версия 5.4.13-alt1.
Comment 63 Andy Igoshin 2015-11-13 21:11:59 MSK
ubuntu 14.04.3, linux-image-4.2.0-18-generic (текущий LTS kernel)
-----------------------------------------------------------------

# /etc/init.d/etercifs build

Building etercifs 5.4.13 for 4.2.0-18-generic Linux kernel (headers in /lib/modules/4.2.0-18-generic/build)
Warning! Couldn't find module sources for the current kernel 4.2 (4.1 sources are selected)!
Using the lates supported sources - from v4.1 kernel!
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: Entering directory `/usr/src/linux-headers-4.2.0-18-generic'
make: Leaving directory `/usr/src/linux-headers-4.2.0-18-generic'
make: Entering directory `/usr/src/linux-headers-4.2.0-18-generic'
  CC [M]  /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifsfs.o
  CC [M]  /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifssmb.o
  CC [M]  /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifs_debug.o
  CC [M]  /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/connect.o
  CC [M]  /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/dir.o
  CC [M]  /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/file.o
  CC [M]  /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/inode.o
  CC [M]  /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/link.o
In file included from /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/dir.c:29:0:
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifsfs.h:123:63: warning: ‘struct nameidata’ declared inside parameter list [enabled by default]
 extern void *cifs_follow_link(struct dentry *direntry, struct nameidata *nd);
                                                               ^
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifsfs.h:123:63: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
In file included from /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/link.c:25:0:
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifsfs.h:123:63: warning: ‘struct nameidata’ declared inside parameter list [enabled by default]
 extern void *cifs_follow_link(struct dentry *direntry, struct nameidata *nd);
                                                               ^
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifsfs.h:123:63: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
  CC [M]  /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/misc.o
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/link.c:632:1: error: conflicting types for ‘cifs_follow_link’
 cifs_follow_link(struct dentry *direntry, struct nameidata *nd)
 ^
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifsfs.c:899:2: warning: initialization from incompatible pointer type [enabled by default]
  .follow_link = cifs_follow_link,
  ^
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifsfs.c:899:2: warning: (near initialization for ‘cifs_symlink_inode_ops.follow_link’) [enabled by default]
In file included from /tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/link.c:25:0:
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/cifsfs.h:123:14: note: previous declaration of ‘cifs_follow_link’ was here
 extern void *cifs_follow_link(struct dentry *direntry, struct nameidata *nd);
              ^
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/link.c: In function ‘cifs_follow_link’:
/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/link.c:684:2: error: implicit declaration of function ‘nd_set_link’ [-Werror=implicit-function-declaration]
  nd_set_link(nd, target_path);
  ^
cc1: some warnings being treated as errors
make[1]: *** [/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06/link.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [_module_/tmp/Etercifs.ffblHdPw/kernel-source-etercifs-4.1-2.06] Error 2
make: Leaving directory `/usr/src/linux-headers-4.2.0-18-generic'
can't locate built module etercifs.ko
Comment 65 Pavel Shilovsky 2015-12-06 14:48:10 MSK
Добавил поддержку ядер v4.2 (v4.2.6), v4.3 (v4.3), v4.4 (v4.4-rc3), обновил ядра из стабильных веток - версия 5.4.14-alt1.
Comment 66 Andy Igoshin 2015-12-06 15:53:24 MSK
в etercifs 5.4.14-alt1 сломали сборку для ubuntu kernel 3.19.0-33-generic


# /etc/init.d/etercifs build

Building etercifs 5.4.14 for 3.19.0-33-generic Linux kernel (headers in /lib/modules/3.19.0-33-generic/build)
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: Entering directory `/usr/src/linux-headers-3.19.0-33-generic'
make: Leaving directory `/usr/src/linux-headers-3.19.0-33-generic'
make: Entering directory `/usr/src/linux-headers-3.19.0-33-generic'
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsfs.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifssmb.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifs_debug.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/connect.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/dir.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/file.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/inode.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/link.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/misc.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/netmisc.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/smbencrypt.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/transport.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/asn1.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifs_unicode.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/nterr.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/xattr.o
  CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsencrypt.o
/tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsfs.c: In function ‘cifs_show_options’:
/tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsfs.c:397:2: error: implicit declaration of function ‘seq_show_option’ [-Werror=implicit-function-declaration]
  seq_show_option(s, "vers", tcon->ses->server->vals->version_string);
  ^
cc1: some warnings being treated as errors
make[1]: *** [/tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsfs.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [_module_/tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06] Error 2
make: Leaving directory `/usr/src/linux-headers-3.19.0-33-generic'
can't locate built module etercifs.ko
Comment 67 Konstantin Artyushkin 2015-12-07 16:15:58 MSK
Проверил:
Building etercifs 5.4.14 for 4.2.0-16-generic Linux kernel (headers in /lib/modules/4.2.0-16-generic/build)
...
sudo /etc/init.d/etercifs status
Package etercifs 5.4.14-eter1ubuntu
CIFS kernel module status:
    kernel module etercifs version 5.4.14 is built for current kernel
    kernel module etercifs version 5.4.14 is loaded

Работает
Comment 68 Konstantin Artyushkin 2015-12-07 16:21:50 MSK
(Ответ Andy Igoshin на комментарий66)
> в etercifs 5.4.14-alt1 сломали сборку для ubuntu kernel 3.19.0-33-generic
> 
> 
> # /etc/init.d/etercifs build
> 
> Building etercifs 5.4.14 for 3.19.0-33-generic Linux kernel (headers in
> /lib/modules/3.19.0-33-generic/build)
> /usr/bin/gcc
> Checking the kernel configuration...
> OK
> Setting etercifs version: OK
> make: Entering directory `/usr/src/linux-headers-3.19.0-33-generic'
> make: Leaving directory `/usr/src/linux-headers-3.19.0-33-generic'
> make: Entering directory `/usr/src/linux-headers-3.19.0-33-generic'
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsfs.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifssmb.o
>   CC [M] 
> /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifs_debug.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/connect.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/dir.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/file.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/inode.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/link.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/misc.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/netmisc.o
>   CC [M] 
> /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/smbencrypt.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/transport.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/asn1.o
>   CC [M] 
> /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifs_unicode.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/nterr.o
>   CC [M]  /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/xattr.o
>   CC [M] 
> /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsencrypt.o
> /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsfs.c: In
> function ‘cifs_show_options’:
> /tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsfs.c:397:2:
> error: implicit declaration of function ‘seq_show_option’
> [-Werror=implicit-function-declaration]
>   seq_show_option(s, "vers", tcon->ses->server->vals->version_string);
>   ^
> cc1: some warnings being treated as errors
> make[1]: ***
> [/tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06/cifsfs.o] Error 1
> make[1]: *** Waiting for unfinished jobs....
> make: *** [_module_/tmp/Etercifs.8TG6Tvv5/kernel-source-etercifs-3.19-2.06]
> Error 2
> make: Leaving directory `/usr/src/linux-headers-3.19.0-33-generic'
> can't locate built module etercifs.ko

Очень возможная ситуация. Не возможно поддерживать все ядра сразу. А в случае с Ubuntu появляется ещё и параллельная ветвь ядра - не первый раз сталкиваемся с проблемой провала сборки из-за особого набора патчей ядра в ubuntu. Для ядер, под которые etercifs уже не собирается, придётся искать подходящую версию тут ftp://download.etersoft.ru/pub/Etersoft/CIFS@Etersoft/
Comment 69 Vitaly Lipatov 2015-12-13 02:20:31 MSK
(Ответ Andy Igoshin на комментарий66)
> в etercifs 5.4.14-alt1 сломали сборку для ubuntu kernel 3.19.0-33-generic
> 
Подскажите, какая версия Ubuntu и какая самая последняя версия пакета с ядром под эту Ubuntu?
Comment 70 Andy Igoshin 2015-12-13 02:58:51 MSK
ubuntu 14.04.3, для неё можно поставить несколько разных LTS ядер.


для ядер линейки 3.19.0 успешно собирается etercifs 5.4.13
последняя версия ядра, под которую проверял сборку пакета etercifs -
linux-image-3.19.0-33-generic
сейчас доступна версия ядра linux-image-3.19.0-39-generic, под него сборку etercifs не проверял.


для ядер линейки 4.2.0  успешно собирается etercifs 5.4.14
последняя версия ядра linux-image-4.2.0-19-generic


etercifs 5.4.13 для ядер линейки 4.2.0 не собирается.
Comment 71 Andy Igoshin 2016-02-23 15:14:38 MSK
ubuntu 14.04.4
linux-image-4.2.0-30-generic (4.2.0-30.35~14.04.1)
etercifs 5.4.14-eter2ubuntu

warnings при компиляции

-----------------------------------------------------------------------
# /etc/init.d/etercifs build  

Building etercifs 5.4.14 for 4.2.0-30-generic Linux kernel (headers in /lib/modules/4.2.0-30-generic/build)
Building for 4.2
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: Entering directory `/usr/src/linux-headers-4.2.0-30-generic'
make: Leaving directory `/usr/src/linux-headers-4.2.0-30-generic'
make: Entering directory `/usr/src/linux-headers-4.2.0-30-generic'
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/cifsfs.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/cifssmb.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/cifs_debug.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/connect.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/dir.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/file.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/inode.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/link.o
/tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/inode.c: In function ‘cifs_revalidate_mapping’:
/tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/inode.c:1854:10: warning: passing argument 3 of ‘wait_on_bit_lock_action’ from incompatible pointer type [enabled by default]
          TASK_KILLABLE);
          ^
In file included from include/linux/fs.h:6:0,
                 from /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/inode.c:21:
include/linux/wait.h:1143:1: note: expected ‘int (*)(struct wait_bit_key *, int)’ but argument is of type ‘int (*)(struct wait_bit_key *)’
 wait_on_bit_lock_action(unsigned long *word, int bit, wait_bit_action_f *action,
 ^
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/misc.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/netmisc.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/smbencrypt.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/transport.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/asn1.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/cifs_unicode.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/nterr.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/xattr.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/cifsencrypt.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/readdir.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/ioctl.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/sess.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/export.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/smb1ops.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/winucase.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/cifsacl.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/cifs_spnego.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/dns_resolve.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/cifs_dfs_ref.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/fscache.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/cache.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/smb2ops.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/smb2maperror.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/smb2transport.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/smb2misc.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/smb2pdu.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/smb2inode.o
  CC [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/smb2file.o
  LD [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/etercifs.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/etercifs.mod.o
  LD [M]  /tmp/Etercifs.7QfMP7pr/kernel-source-etercifs-4.2-2.06/etercifs.ko
make: Leaving directory `/usr/src/linux-headers-4.2.0-30-generic'
Stripping module etercifs.ko ...
Copying built module to /lib/modules/4.2.0-30-generic/kernel/fs/cifs
Do depmod -Ae for 4.2.0-30-generic kernel
depmod: WARNING: -e needs -E or -F
Comment 72 Konstantin Artyushkin 2016-04-28 17:03:03 MSK
Нужна поддержка ядра 4.4.8 
Дистрибутив Slackware 14 - развёрнуто в нашем полигоне.

# /etc/init.d/etercifs build                               

Building etercifs 5.4.14 for 4.4.8-smp Linux kernel (headers in /lib/modules/4.4.8-smp/build)
which: no lsb_release in (/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib/qt/bin:/sbin:/usr/sbin)

Found RHEL-like distribution.
Warning! Your kernel in not 2.6.x
Building from legacy sources.
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: Entering directory '/usr/src/linux-4.4.8'
make: Leaving directory '/usr/src/linux-4.4.8'
make: Entering directory '/usr/src/linux-4.4.8'


Ошибки при сборке :

/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:134:10: error: implicit declaration of function 'iget' [-Werror=implicit-function-declaration]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:134:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:141:15: error: implicit declaration of function 'd_alloc_root' [-Werror=implicit-function-declaration]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:141:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsproto.h:55:109: error: 'struct task_struct' has no member named 'fsuid'
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifs_debug.h:46:113: note: in definition of macro 'cifsfyi'
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsproto.h:55:34: note: in expansion of macro 'cFYI'
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:225:8: note: in expansion of macro 'GetXid'
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:281:10: error: too many arguments to function 'generic_permission'
include/linux/fs.h:2449:12: note: declared here
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:541:2: error: unknown field 'read_inode' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:541:16: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:541:16: note: (near initialization for 'cifs_super_ops.alloc_inode')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:551:18: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:551:18: note: (near initialization for 'cifs_super_ops.show_options')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:552:20: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:552:20: note: (near initialization for 'cifs_super_ops.umount_begin')
include/linux/stddef.h:7:14: warning: passing argument 4 of 'sget' makes integer from pointer without a cast [-Wint-conversion]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:576:63: note: in expansion of macro 'NULL'
include/linux/fs.h:1982:21: note: expected 'int' but argument is of type 'void *'
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:576:27: error: too few arguments to function 'sget'
include/linux/fs.h:1982:21: note: declared here
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:601:9: error: implicit declaration of function 'simple_set_mnt' [-Werror=implicit-function-declaration]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:664:11: error: implicit declaration of function 'do_sync_read' [-Werror=implicit-function-declaration]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:682:12: error: implicit declaration of function 'generic_file_aio_write' [-Werror=implicit-function-declaration]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:730:9: error: implicit declaration of function 'remote_llseek' [-Werror=implicit-function-declaration]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:736:2: error: unknown field 'get_sb' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:736:12: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:736:12: note: (near initialization for 'cifs_fs_type.fs_flags')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:741:12: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:741:12: note: (near initialization for 'cifs_dir_inode_ops.create')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:742:12: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:742:12: note: (near initialization for 'cifs_dir_inode_ops.lookup')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:746:11: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:746:11: note: (near initialization for 'cifs_dir_inode_ops.mkdir')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:749:16: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:749:16: note: (near initialization for 'cifs_dir_inode_ops.permission')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:753:13: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:753:13: note: (near initialization for 'cifs_dir_inode_ops.mknod')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:767:16: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:767:16: note: (near initialization for 'cifs_file_inode_ops.permission')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:781:14: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:781:14: note: (near initialization for 'cifs_symlink_inode_ops.put_link')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:783:17: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:783:17: note: (near initialization for 'cifs_symlink_inode_ops.follow_link')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:784:16: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:784:16: note: (near initialization for 'cifs_symlink_inode_ops.permission')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:798:11: error: 'do_sync_write' undeclared here (not in a function)
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:803:2: error: unknown field 'aio_read' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:803:14: error: 'generic_file_aio_read' undeclared here (not in a function)
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:804:2: error: unknown field 'aio_write' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:804:15: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:804:15: note: (near initialization for 'cifs_file_ops.write_iter')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:808:11: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:808:11: note: (near initialization for 'cifs_file_ops.fsync')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:818:2: error: unknown field 'ioctl' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:818:11: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:818:11: note: (near initialization for 'cifs_file_ops.read')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:834:11: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:834:11: note: (near initialization for 'cifs_file_direct_ops.fsync')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:843:2: error: unknown field 'ioctl' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:843:12: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:843:12: note: (near initialization for 'cifs_file_direct_ops.setlease')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:851:10: error: 'do_sync_read' undeclared here (not in a function)
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:857:2: error: unknown field 'aio_read' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:858:2: error: unknown field 'aio_write' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:858:15: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:858:15: note: (near initialization for 'cifs_file_nobrl_ops.write_iter')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:861:11: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:861:11: note: (near initialization for 'cifs_file_nobrl_ops.fsync')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:871:2: error: unknown field 'ioctl' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:871:11: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:871:11: note: (near initialization for 'cifs_file_nobrl_ops.read')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:886:11: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:886:11: note: (near initialization for 'cifs_file_direct_nobrl_ops.fsync')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:895:2: error: unknown field 'ioctl' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:895:12: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:895:12: note: (near initialization for 'cifs_file_direct_nobrl_ops.setlease')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:904:2: error: unknown field 'readdir' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:904:13: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:904:13: note: (near initialization for 'cifs_dir_ops.owner')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:910:2: error: unknown field 'ioctl' specified in initializer
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:910:12: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:910:12: note: (near initialization for 'cifs_dir_ops.write')
/tmp/Etercifs.XXHwzXC1/kernel-source-etercifs-legacy-1.50c/cifsfs.c:934:12: warning: passing argument 5 of 'kmem_cache_create' from incompatible pointer type [-Wincompatible-pointer-types]
include/linux/slab.h:116:20: note: expected 'void (*)(void *)' but argument is of type 'void (*)(void *, struct kmem_cache *, long unsigned int)'
cc1: some warnings being treated as errors
Comment 73 Konstantin Artyushkin 2016-05-24 17:56:31 MSK
Ubuntu 16.04 ядро 4.4.2 собирается, но имеет один warning и один note.

/tmp/Etercifs.Yph14BnR/kernel-source-etercifs-4.4-2.08/inode.c: In function ‘cifs_revalidate_mapping’:
/tmp/Etercifs.Yph14BnR/kernel-source-etercifs-4.4-2.08/inode.c:1853:53: warning: passing argument 3 of ‘wait_on_bit_lock_action’ from incompatible pointer type [-Wincompatible-pointer-types]
  rc = wait_on_bit_lock_action(flags, CIFS_INO_LOCK, cifs_wait_bit_killable,
                                                     ^
In file included from include/linux/fs.h:5:0,
                 from /tmp/Etercifs.Yph14BnR/kernel-source-etercifs-4.4-2.08/inode.c:21:
include/linux/wait.h:1143:1: note: expected ‘int (*)(struct wait_bit_key *, int)’ but argument is of type ‘int (*)(struct wait_bit_key *)’
 wait_on_bit_lock_action(unsigned long *word, int bit, wait_bit_action_f *action,
Comment 74 Konstantin Artyushkin 2016-06-28 17:49:04 MSK
ядро 4.5.7-300.fc24 Fedora/24

make: вход в каталог «/usr/src/kernels/4.5.7-300.fc24.x86_64»
  LD      /var/lib/dkms/etercifs/5.4.14/build/built-in.o
  CC [M]  /var/lib/dkms/etercifs/5.4.14/build/cifsfs.o
  CC [M]  /var/lib/dkms/etercifs/5.4.14/build/cifssmb.o
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c: В функции «cifs_read_super»:
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:134:10: ошибка: неявная декларация функции «iget» [-Werror=implicit-function-declaration]
  inode = iget(sb, ROOT_I);
          ^~~~
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:134:8: предупреждение: в присваивании целое преобразуется в указатель без приведения типа [-Wint-conversion]
  inode = iget(sb, ROOT_I);
        ^
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:141:15: ошибка: неявная декларация функции «d_alloc_root» [-Werror=implicit-function-declaration]
  sb->s_root = d_alloc_root(inode);
               ^~~~~~~~~~~~
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:141:13: предупреждение: в присваивании целое преобразуется в указатель без приведения типа [-Wint-conversion]
  sb->s_root = d_alloc_root(inode);
             ^
In file included from /var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:42:0:
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c: В функции «cifs_statfs»:
/var/lib/dkms/etercifs/5.4.14/build/cifsproto.h:55:109: ошибка: «struct task_struct» не содержит элемента с именем «fsuid»
 #define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__FUNCTION__, xid,current->fsuid));
                                                                                                             ^
/var/lib/dkms/etercifs/5.4.14/build/cifs_debug.h:46:113: замечание: in definition of macro «cifsfyi»
 #define cifsfyi(format,arg...) if (cifsFYI & CIFS_INFO) printk(KERN_DEBUG " " __FILE__ ": " format "\n" "" , ## arg)
                                                                                                                 ^~~
/var/lib/dkms/etercifs/5.4.14/build/cifsproto.h:55:34: замечание: in expansion of macro «cFYI»
 #define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__FUNCTION__, xid,current->fsuid));
                                  ^~~~
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:225:8: замечание: in expansion of macro «GetXid»
  xid = GetXid();
        ^~~~~~
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:248:5: предупреждение: this «if» clause does not guard... [-Wmisleading-indentation]
     if (rc)
     ^~
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:255:2: замечание: ...this statement, but the latter is misleadingly indented as if it is guarded by the «if»
  if (rc)
  ^~
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c: В функции «cifs_permission»:
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:281:10: ошибка: слишком много аргументов в вызове функции «generic_permission»
   return generic_permission(inode, mask, NULL);
          ^~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:27:0:
include/linux/fs.h:2499:12: замечание: declared here
 extern int generic_permission(struct inode *, int);
            ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c: На верхнем уровне:
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:541:2: ошибка: неизвестное поле «read_inode» в инициализаторе
  .read_inode = cifs_read_inode,
  ^
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:541:16: предупреждение: несовместимый тип указателя в инициализации [-Wincompatible-pointer-types]
  .read_inode = cifs_read_inode,
                ^~~~~~~~~~~~~~~
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:541:16: замечание: (где-то рядом с инициализацией для «cifs_super_ops.alloc_inode»)
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:551:18: предупреждение: несовместимый тип указателя в инициализации [-Wincompatible-pointer-types]
  .show_options = cifs_show_options,
                  ^~~~~~~~~~~~~~~~~
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:551:18: замечание: (где-то рядом с инициализацией для «cifs_super_ops.show_options»)
/var/lib/dkms/etercifs/5.4.14/build/cifsfs.c:552:20: предупреждение: несовместимый тип указателя в инициализации [-Wincompatible-pointer-types]
Comment 75 Pavel Shilovsky 2016-07-03 15:01:19 MSK
Добавил поддержку ядер v4.5 (v4.5.7) и v4.6 (v4.6.3), обновил ядра из стабильных веток - версия 5.4.15-alt1.
Comment 76 Боренко Денис 2016-10-15 22:51:44 MSK
Убунта новая пришла. 
Поддержку 4.8 запилить бы, а то не компилится.
Спасибо.
Comment 77 Vitaly Lipatov 2017-04-08 13:03:09 MSK
Всё запилено вплоть до 4.10
Comment 78 Вадим Распопин 2017-11-17 14:56:42 MSK
Под ядро 4.13 (ubuntu 17.10) не компилится. Куча ошибок.

Поправьте, пожалуйста.
Comment 79 Vitaly Lipatov 2017-11-22 23:41:55 MSK
Итак, у нас есть скрипт для обновления согласно инструкции:
etercifs/develop/update_git.sh

[lav@builder64 develop]$ ./update_git.sh v4.11
Получил на выходе v4.11-etercifs, скопировал fs/cifs  в etercifs/sources/4.11 и закоммитил.

[lav@builder64 develop]$ ./update_git.sh v4.12
и так далее до 4.14 включительно.

Подготовил пакет. Публикация пока отложена из-за проблем с glusterfs.
Comment 80 Николаев Андрей 2017-12-15 17:04:30 MSK
Не могу собрать etercifs под SUSE 13.2 x64. Выдает ошибки.

/etc/init.d/etercifs build

Building etercifs 5.6.0 for 3.16.6-2-default Linux kernel (use headers in /lib/modules/3.16.6-2-default/build)
Detected SUSE/13.2 via distr_info from EEPM
Building for 3.16 kernel version
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: вход в каталог «/usr/src/linux-3.16.6-2-obj/x86_64/default»
make[1]: Entering directory `/usr/src/linux-3.16.6-2-obj/x86_64/default'
make: выход из каталога «/usr/src/linux-3.16.6-2-obj/x86_64/default»
make: вход в каталог «/usr/src/linux-3.16.6-2-obj/x86_64/default»
make[1]: Entering directory `/usr/src/linux-3.16.6-2-obj/x86_64/default'
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/cifsfs.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/cifssmb.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/cifs_debug.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/connect.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/dir.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/file.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/inode.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/link.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/misc.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/netmisc.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/smbencrypt.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/transport.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/asn1.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/cifs_unicode.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/nterr.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/xattr.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/cifsencrypt.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/readdir.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/ioctl.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/sess.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/winucase.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/cifsacl.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/export.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/smb1ops.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/cifs_spnego.o
  CC [M]  /tmp/Etercifs.lVIWc3SG/3.16/dns_resolve.o
/tmp/Etercifs.lVIWc3SG/3.16/cifsfs.c: In function ‘cifs_show_options’:
/tmp/Etercifs.lVIWc3SG/3.16/cifsfs.c:385:2: error: implicit declaration of function ‘seq_show_option’ [-Werror=implicit-function-declaration]
  seq_show_option(s, "vers", tcon->ses->server->vals->version_string);
  ^
In file included from /usr/src/linux-3.16.6-2/arch/x86/include/asm/percpu.h:44:0,
                 from /usr/src/linux-3.16.6-2/arch/x86/include/asm/preempt.h:5,
                 from /usr/src/linux-3.16.6-2/include/linux/preempt.h:18,
                 from /usr/src/linux-3.16.6-2/include/linux/spinlock.h:50,
                 from /usr/src/linux-3.16.6-2/include/linux/wait.h:8,
                 from /usr/src/linux-3.16.6-2/include/linux/fs.h:6,
                 from /tmp/Etercifs.lVIWc3SG/3.16/inode.c:21:
/tmp/Etercifs.lVIWc3SG/3.16/inode.c: In function ‘inode_has_hashed_dentries’:
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:52: error: ‘union <anonymous>’ has no member named ‘d_alias’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
                                                    ^
/usr/src/linux-3.16.6-2/include/linux/kernel.h:846:29: note: in definition of macro ‘container_of’
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                             ^
/usr/src/linux-3.16.6-2/include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
     ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
               ^
/usr/src/linux-3.16.6-2/include/linux/list.h:708:13: note: in expansion of macro ‘hlist_entry_safe’
  for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
             ^
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:2: note: in expansion of macro ‘hlist_for_each_entry’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
  ^
/usr/src/linux-3.16.6-2/include/linux/kernel.h:846:48: warning: initialization from incompatible pointer type [enabled by default]
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/usr/src/linux-3.16.6-2/include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
 #define hlist_entry(ptr, type, member) container_of(ptr,type,member)
                                        ^
/usr/src/linux-3.16.6-2/include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
     ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
               ^
/usr/src/linux-3.16.6-2/include/linux/list.h:708:13: note: in expansion of macro ‘hlist_entry_safe’
  for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
             ^
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:2: note: in expansion of macro ‘hlist_for_each_entry’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
  ^
In file included from /usr/src/linux-3.16.6-2/include/linux/compiler-gcc.h:106:0,
                 from /usr/src/linux-3.16.6-2/include/linux/compiler.h:54,
                 from /usr/src/linux-3.16.6-2/include/linux/linkage.h:4,
                 from /usr/src/linux-3.16.6-2/include/linux/fs.h:5,
                 from /tmp/Etercifs.lVIWc3SG/3.16/inode.c:21:
/usr/src/linux-3.16.6-2/include/linux/compiler-gcc4.h:14:34: error: ‘union <anonymous>’ has no member named ‘d_alias’
 #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
                                  ^
/usr/src/linux-3.16.6-2/include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
 #define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
                               ^
/usr/src/linux-3.16.6-2/include/linux/kernel.h:847:29: note: in expansion of macro ‘offsetof’
  (type *)( (char *)__mptr - offsetof(type,member) );})
                             ^
/usr/src/linux-3.16.6-2/include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
 #define hlist_entry(ptr, type, member) container_of(ptr,type,member)
                                        ^
/usr/src/linux-3.16.6-2/include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
     ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
               ^
/usr/src/linux-3.16.6-2/include/linux/list.h:708:13: note: in expansion of macro ‘hlist_entry_safe’
  for (pos = hlist_entry_safe((head)->first, typeof(*(pos)), member);\
             ^
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:2: note: in expansion of macro ‘hlist_for_each_entry’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
  ^
In file included from /usr/src/linux-3.16.6-2/include/linux/wait.h:6:0,
                 from /usr/src/linux-3.16.6-2/include/linux/fs.h:6,
                 from /tmp/Etercifs.lVIWc3SG/3.16/inode.c:21:
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:52: error: ‘union <anonymous>’ has no member named ‘d_alias’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
                                                    ^
/usr/src/linux-3.16.6-2/include/linux/list.h:697:12: note: in definition of macro ‘hlist_entry_safe’
  ({ typeof(ptr) ____ptr = (ptr); \
            ^
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:2: note: in expansion of macro ‘hlist_for_each_entry’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
  ^
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:52: error: ‘union <anonymous>’ has no member named ‘d_alias’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
                                                    ^
/usr/src/linux-3.16.6-2/include/linux/list.h:697:28: note: in definition of macro ‘hlist_entry_safe’
  ({ typeof(ptr) ____ptr = (ptr); \
                            ^
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:2: note: in expansion of macro ‘hlist_for_each_entry’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
  ^
In file included from /usr/src/linux-3.16.6-2/arch/x86/include/asm/percpu.h:44:0,
                 from /usr/src/linux-3.16.6-2/arch/x86/include/asm/preempt.h:5,
                 from /usr/src/linux-3.16.6-2/include/linux/preempt.h:18,
                 from /usr/src/linux-3.16.6-2/include/linux/spinlock.h:50,
                 from /usr/src/linux-3.16.6-2/include/linux/wait.h:8,
                 from /usr/src/linux-3.16.6-2/include/linux/fs.h:6,
                 from /tmp/Etercifs.lVIWc3SG/3.16/inode.c:21:
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:52: error: ‘union <anonymous>’ has no member named ‘d_alias’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
                                                    ^
/usr/src/linux-3.16.6-2/include/linux/kernel.h:846:29: note: in definition of macro ‘container_of’
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                             ^
/usr/src/linux-3.16.6-2/include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
     ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
               ^
/usr/src/linux-3.16.6-2/include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
       pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
             ^
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:2: note: in expansion of macro ‘hlist_for_each_entry’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
  ^
/usr/src/linux-3.16.6-2/include/linux/kernel.h:846:48: warning: initialization makes pointer from integer without a cast [enabled by default]
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/usr/src/linux-3.16.6-2/include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
 #define hlist_entry(ptr, type, member) container_of(ptr,type,member)
                                        ^
/usr/src/linux-3.16.6-2/include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
     ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
               ^
/usr/src/linux-3.16.6-2/include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
       pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
             ^
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:2: note: in expansion of macro ‘hlist_for_each_entry’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
  ^
In file included from /usr/src/linux-3.16.6-2/include/linux/compiler-gcc.h:106:0,
                 from /usr/src/linux-3.16.6-2/include/linux/compiler.h:54,
                 from /usr/src/linux-3.16.6-2/include/linux/linkage.h:4,
                 from /usr/src/linux-3.16.6-2/include/linux/fs.h:5,
                 from /tmp/Etercifs.lVIWc3SG/3.16/inode.c:21:
/usr/src/linux-3.16.6-2/include/linux/compiler-gcc4.h:14:34: error: ‘union <anonymous>’ has no member named ‘d_alias’
 #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
                                  ^
/usr/src/linux-3.16.6-2/include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
 #define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
                               ^
/usr/src/linux-3.16.6-2/include/linux/kernel.h:847:29: note: in expansion of macro ‘offsetof’
  (type *)( (char *)__mptr - offsetof(type,member) );})
                             ^
/usr/src/linux-3.16.6-2/include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
 #define hlist_entry(ptr, type, member) container_of(ptr,type,member)
                                        ^
/usr/src/linux-3.16.6-2/include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
     ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
               ^
/usr/src/linux-3.16.6-2/include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
       pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
             ^
/tmp/Etercifs.lVIWc3SG/3.16/inode.c:891:2: note: in expansion of macro ‘hlist_for_each_entry’
  hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
  ^
cc1: some warnings being treated as errors
/usr/src/linux-3.16.6-2/scripts/Makefile.build:273: ошибка выполнения рецепта для цели «/tmp/Etercifs.lVIWc3SG/3.16/cifsfs.o»
make[3]: *** [/tmp/Etercifs.lVIWc3SG/3.16/cifsfs.o] Ошибка 1
make[3]: *** Ожидание завершения заданий…
/usr/src/linux-3.16.6-2/scripts/Makefile.build:273: ошибка выполнения рецепта для цели «/tmp/Etercifs.lVIWc3SG/3.16/inode.o»
make[3]: *** [/tmp/Etercifs.lVIWc3SG/3.16/inode.o] Ошибка 1
/usr/src/linux-3.16.6-2/Makefile:1359: ошибка выполнения рецепта для цели «_module_/tmp/Etercifs.lVIWc3SG/3.16»
make[2]: *** [_module_/tmp/Etercifs.lVIWc3SG/3.16] Ошибка 2
Makefile:195: ошибка выполнения рецепта для цели «sub-make»
make[1]: *** [sub-make] Ошибка 2
Makefile:24: ошибка выполнения рецепта для цели «__sub-make»
make: *** [__sub-make] Ошибка 2
make: выход из каталога «/usr/src/linux-3.16.6-2-obj/x86_64/default»
Comment 81 Vitaly Lipatov 2017-12-15 17:36:58 MSK
(Ответ Николаев Андрей на комментарий #80)
> Не могу собрать etercifs под SUSE 13.2 x64. Выдает ошибки.
> 
> /etc/init.d/etercifs build
> 
> Building etercifs 5.6.0 for 3.16.6-2-default Linux kernel (use headers in
> /lib/modules/3.16.6-2-default/build)
> Detected SUSE/13.2 via distr_info from EEPM
> Building for 3.16 kernel version
Согласно
https://ru.wikipedia.org/wiki/OpenSUSE#Обновления
на данный момент
поддерживается только openSUSE Leap 42.2 и новее.

Срок жизни релиза — 2 года, 13.2 выпущена 2014-11-04.
Comment 82 Николаев Андрей 2017-12-15 17:40:22 MSK
Та же проблема и в 42.3
Comment 83 Николаев Андрей 2017-12-15 17:44:10 MSK

etercifs-build

Building etercifs 5.5.3 for 4.4.92-31-default Linux kernel (use headers
in /lib/modules/4.4.92-31-default/build)
Detected SUSE/42.3 via distr_info from EEPM
Building for 4.4 kernel version
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: вход в каталог «/usr/src/linux-4.4.92-31-obj/x86_64/default»
make: выход из каталога «/usr/src/linux-4.4.92-31-obj/x86_64/default»
make: вход в каталог «/usr/src/linux-4.4.92-31-obj/x86_64/default»
  CC [M]  /tmp/Etercifs.uf0gCqDI/4.4/cifsfs.o
  CC [M]  /tmp/Etercifs.uf0gCqDI/4.4/cifssmb.o
  CC [M]  /tmp/Etercifs.uf0gCqDI/4.4/cifs_debug.o
  CC [M]  /tmp/Etercifs.uf0gCqDI/4.4/connect.o
  CC [M]  /tmp/Etercifs.uf0gCqDI/4.4/dir.o
  CC [M]  /tmp/Etercifs.uf0gCqDI/4.4/file.o
/tmp/Etercifs.uf0gCqDI/4.4/file.c: In function ‘cifs_writev’:
/tmp/Etercifs.uf0gCqDI/4.4/file.c:2699:3: warning: passing argument 1 of
‘generic_write_sync’ from incompatible pointer type [enabled by default]
   ssize_t err = generic_write_sync(file, iocb->ki_pos - rc, rc);
   ^
In file included from /tmp/Etercifs.uf0gCqDI/4.4/file.c:24:0:
/usr/src/linux-4.4.92-31/include/linux/fs.h:2440:23: note: expected
‘struct kiocb *’ but argument is of type ‘struct file *’
 static inline ssize_t generic_write_sync(struct kiocb *iocb, ssize_t count)
                       ^
/tmp/Etercifs.uf0gCqDI/4.4/file.c:2699:3: error: too many arguments to
function ‘generic_write_sync’
   ssize_t err = generic_write_sync(file, iocb->ki_pos - rc, rc);
   ^
In file included from /tmp/Etercifs.uf0gCqDI/4.4/file.c:24:0:
/usr/src/linux-4.4.92-31/include/linux/fs.h:2440:23: note: declared here
 static inline ssize_t generic_write_sync(struct kiocb *iocb, ssize_t count)
                       ^
/tmp/Etercifs.uf0gCqDI/4.4/file.c: At top level:
/tmp/Etercifs.uf0gCqDI/4.4/file.c:3884:2: warning: initialization from
incompatible pointer type [enabled by default]
  .direct_IO = cifs_direct_io,
  ^
/tmp/Etercifs.uf0gCqDI/4.4/file.c:3884:2: warning: (near initialization
for ‘cifs_addr_ops.direct_IO’) [enabled by default]
/usr/src/linux-4.4.92-31/scripts/Makefile.build:259: ошибка выполнения
рецепта для цели «/tmp/Etercifs.uf0gCqDI/4.4/file.o»
make[3]: *** [/tmp/Etercifs.uf0gCqDI/4.4/file.o] Ошибка 1
make[3]: *** Ожидание завершения заданий…
/usr/src/linux-4.4.92-31/Makefile:1431: ошибка выполнения рецепта для
цели «_module_/tmp/Etercifs.uf0gCqDI/4.4»
make[2]: *** [_module_/tmp/Etercifs.uf0gCqDI/4.4] Ошибка 2
Makefile:150: ошибка выполнения рецепта для цели «sub-make»
make[1]: *** [sub-make] Ошибка 2
Makefile:24: ошибка выполнения рецепта для цели «__sub-make»
make: *** [__sub-make] Ошибка 2
make: выход из каталога «/usr/src/linux-4.4.92-31-obj/x86_64/default»
Comment 84 Вадим Распопин 2018-10-19 12:20:29 MSK
Не собирается под ядро 4.18.0-10 (Ubuntu 18.10). Прошу поправить.

Building etercifs 5.6.3 for 4.18.0-10-generic Linux kernel (use headers in /lib/modules/4.18.0-10-generic/build)
Detected Ubuntu/18.10 via distr_info from EEPM
Building for 4.15 kernel version
/usr/bin/gcc
Checking the kernel configuration...
OK
Setting etercifs version: OK
make: вход в каталог «/usr/src/linux-headers-4.18.0-10-generic»
make: выход из каталога «/usr/src/linux-headers-4.18.0-10-generic»
make: вход в каталог «/usr/src/linux-headers-4.18.0-10-generic»
  CC [M]  /tmp/Etercifs.Wh4QzFfY/4.15/cifsfs.o
  CC [M]  /tmp/Etercifs.Wh4QzFfY/4.15/cifssmb.o
  CC [M]  /tmp/Etercifs.Wh4QzFfY/4.15/cifs_debug.o
  CC [M]  /tmp/Etercifs.Wh4QzFfY/4.15/connect.o
  CC [M]  /tmp/Etercifs.Wh4QzFfY/4.15/dir.o
  CC [M]  /tmp/Etercifs.Wh4QzFfY/4.15/file.o
  CC [M]  /tmp/Etercifs.Wh4QzFfY/4.15/inode.o
  CC [M]  /tmp/Etercifs.Wh4QzFfY/4.15/link.o
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c: In function ‘cifs_revalidate_cache’:
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:116:21: error: passing argument 1 of ‘timespec_equal’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  if (timespec_equal(&inode->i_mtime, &fattr->cf_mtime) &&
                     ^~~~~~~~~~~~~~~
In file included from ./include/linux/time.h:73,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/fs.h:10,
                 from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:21:
./include/linux/time32.h:49:57: note: expected ‘const struct timespec *’ but argument is of type ‘struct timespec64 *’
 static inline int timespec_equal(const struct timespec *a,
                                  ~~~~~~~~~~~~~~~~~~~~~~~^
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c: In function ‘cifs_fattr_to_inode’:
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:165:17: error: incompatible types when assigning to type ‘struct timespec64’ from type ‘struct timespec’
  inode->i_atime = fattr->cf_atime;
                 ^
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:166:17: error: incompatible types when assigning to type ‘struct timespec64’ from type ‘struct timespec’
  inode->i_mtime = fattr->cf_mtime;
                 ^
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:167:17: error: incompatible types when assigning to type ‘struct timespec64’ from type ‘struct timespec’
  inode->i_ctime = fattr->cf_ctime;
                 ^
In file included from ./include/linux/byteorder/little_endian.h:5,
                 from ./arch/x86/include/uapi/asm/byteorder.h:5,
                 from ./include/asm-generic/bitops/le.h:6,
                 from ./arch/x86/include/asm/bitops.h:521,
                 from ./include/linux/bitops.h:38,
                 from ./include/linux/kernel.h:11,
                 from ./include/linux/list.h:9,
                 from ./include/linux/wait.h:7,
                 from ./include/linux/wait_bit.h:8,
                 from ./include/linux/fs.h:6,
                 from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:21:
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c: In function ‘cifs_set_file_info’:
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:1096:39: error: incompatible type for argument 1 of ‘cifs_UnixTimeToNT’
    cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_atime));
                                  ~~~~~^~~~~~~~~~
./include/uapi/linux/byteorder/little_endian.h:31:51: note: in definition of macro ‘__cpu_to_le64’
 #define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
                                                   ^
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:1096:4: note: in expansion of macro ‘cpu_to_le64’
    cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_atime));
    ^~~~~~~~~~~
In file included from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:33:
/tmp/Etercifs.Wh4QzFfY/4.15/cifsproto.h:140:30: note: expected ‘struct timespec’ but argument is of type ‘struct timespec64’
 extern u64 cifs_UnixTimeToNT(struct timespec);
                              ^~~~~~~~~~~~~~~
In file included from ./include/linux/byteorder/little_endian.h:5,
                 from ./arch/x86/include/uapi/asm/byteorder.h:5,
                 from ./include/asm-generic/bitops/le.h:6,
                 from ./arch/x86/include/asm/bitops.h:521,
                 from ./include/linux/bitops.h:38,
                 from ./include/linux/kernel.h:11,
                 from ./include/linux/list.h:9,
                 from ./include/linux/wait.h:7,
                 from ./include/linux/wait_bit.h:8,
                 from ./include/linux/fs.h:6,
                 from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:21:
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:1103:42: error: incompatible type for argument 1 of ‘cifs_UnixTimeToNT’
       cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_mtime));
                                     ~~~~~^~~~~~~~~~
./include/uapi/linux/byteorder/little_endian.h:31:51: note: in definition of macro ‘__cpu_to_le64’
 #define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
                                                   ^
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:1103:7: note: in expansion of macro ‘cpu_to_le64’
       cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_mtime));
       ^~~~~~~~~~~
In file included from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:33:
/tmp/Etercifs.Wh4QzFfY/4.15/cifsproto.h:140:30: note: expected ‘struct timespec’ but argument is of type ‘struct timespec64’
 extern u64 cifs_UnixTimeToNT(struct timespec);
                              ^~~~~~~~~~~~~~~
In file included from ./include/linux/byteorder/little_endian.h:5,
                 from ./arch/x86/include/uapi/asm/byteorder.h:5,
                 from ./include/asm-generic/bitops/le.h:6,
                 from ./arch/x86/include/asm/bitops.h:521,
                 from ./include/linux/bitops.h:38,
                 from ./include/linux/kernel.h:11,
                 from ./include/linux/list.h:9,
                 from ./include/linux/wait.h:7,
                 from ./include/linux/wait_bit.h:8,
                 from ./include/linux/fs.h:6,
                 from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:21:
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:1116:42: error: incompatible type for argument 1 of ‘cifs_UnixTimeToNT’
       cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_ctime));
                                     ~~~~~^~~~~~~~~~
./include/uapi/linux/byteorder/little_endian.h:31:51: note: in definition of macro ‘__cpu_to_le64’
 #define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
                                                   ^
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:1116:7: note: in expansion of macro ‘cpu_to_le64’
       cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_ctime));
       ^~~~~~~~~~~
In file included from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:33:
/tmp/Etercifs.Wh4QzFfY/4.15/cifsproto.h:140:30: note: expected ‘struct timespec’ but argument is of type ‘struct timespec64’
 extern u64 cifs_UnixTimeToNT(struct timespec);
                              ^~~~~~~~~~~~~~~
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c: In function ‘cifs_getattr’:
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:2037:15: error: incompatible types when assigning to type ‘struct timespec64’ from type ‘struct timespec’
   stat->btime =
               ^
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c: In function ‘cifs_setattr_unix’:
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:2240:40: error: incompatible type for argument 1 of ‘cifs_UnixTimeToNT’
   args->atime = cifs_UnixTimeToNT(attrs->ia_atime);
                                   ~~~~~^~~~~~~~~~
In file included from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:33:
/tmp/Etercifs.Wh4QzFfY/4.15/cifsproto.h:140:30: note: expected ‘struct timespec’ but argument is of type ‘struct timespec64’
 extern u64 cifs_UnixTimeToNT(struct timespec);
                              ^~~~~~~~~~~~~~~
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:2245:40: error: incompatible type for argument 1 of ‘cifs_UnixTimeToNT’
   args->mtime = cifs_UnixTimeToNT(attrs->ia_mtime);
                                   ~~~~~^~~~~~~~~~
In file included from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:33:
/tmp/Etercifs.Wh4QzFfY/4.15/cifsproto.h:140:30: note: expected ‘struct timespec’ but argument is of type ‘struct timespec64’
 extern u64 cifs_UnixTimeToNT(struct timespec);
                              ^~~~~~~~~~~~~~~
/tmp/Etercifs.Wh4QzFfY/4.15/inode.c:2250:40: error: incompatible type for argument 1 of ‘cifs_UnixTimeToNT’
   args->ctime = cifs_UnixTimeToNT(attrs->ia_ctime);
                                   ~~~~~^~~~~~~~~~
In file included from /tmp/Etercifs.Wh4QzFfY/4.15/inode.c:33:
/tmp/Etercifs.Wh4QzFfY/4.15/cifsproto.h:140:30: note: expected ‘struct timespec’ but argument is of type ‘struct timespec64’
 extern u64 cifs_UnixTimeToNT(struct timespec);
                              ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:325: /tmp/Etercifs.Wh4QzFfY/4.15/inode.o] Ошибка 1
make[1]: *** Ожидание завершения заданий…
In file included from ./include/linux/bitmap.h:9,
                 from ./include/linux/cpumask.h:12,
                 from ./arch/x86/include/asm/cpumask.h:5,
                 from ./arch/x86/include/asm/msr.h:11,
                 from ./arch/x86/include/asm/processor.h:21,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/spinlock.h:51,
                 from ./include/linux/wait.h:9,
                 from ./include/linux/wait_bit.h:8,
                 from ./include/linux/fs.h:6,
                 from /tmp/Etercifs.Wh4QzFfY/4.15/cifssmb.c:30:
In function ‘strncpy’,
    inlined from ‘CIFSSMBSetEA’ at /tmp/Etercifs.Wh4QzFfY/4.15/cifssmb.c:6357:3:
./include/linux/string.h:246:9: warning: ‘__builtin_strncpy’ offset [8, 65543] is out of the bounds [0, 4] [-Warray-bounds]
  return __builtin_strncpy(p, q, size);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:1546: _module_/tmp/Etercifs.Wh4QzFfY/4.15] Ошибка 2
make: выход из каталога «/usr/src/linux-headers-4.18.0-10-generic»