Здесь предлагаю сообщать о сборках пакета etercifs под новые ядра и обсуждать все предложения по этой теме.
На данный момент надо собрать пакет в порядке очереди под 34, 35 и 36 ядро.
Так же, думаю, надо создать и обновлять сорцы для текущей ветки cifs из апстрим - сейчас она основана на 2.6.37-rc1.
Смержил ветки с нашими изменениями с 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
Выложил сборку 4.5.6-alt1 с новыми исходниками для 2.6.34 ядра на наш ftp.
Смержил ветки etersoft-* с v2.6.35 и собрал ветку v2.6.35-etercifs. Залил на git.eter.
Собрал ветки под 2.6.36.
Собрал 4.5.7-alt1 на наш ftp
В 4.5.7-alt1 вошли исходники для 35 и 36 ядер.
Собрал ветки etersoft-* для 37-rc4 и так же v2.6.37-etercifs.
С выходом v2.6.37 надо обновить ветку с нашими патчами под 37 ядро и добавить поддержку в etercifs.
В etercifs-4.6.0 появилась поддержка 37 ядра.
Собрал dkms-etercifs-4.8.1.
Собрал etercifs-4.8.2-alt1 и dkms-etercifs-4.8.2-alt1 с поддержкой ядра 2.6.39 и исправления из стабильных веток для 2.6.32, 2.6.33 и 2.6.38 ядер.
(В ответ на 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 соответсвенно.
Прокинул ядро v3.0 в рабочие ветки с нашими патчами: etersoft-common etersoft-share-flags etersoft-wine Так же собрал ветку v3.0-etercifs.
(В ответ на 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 #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 #17) > http://article.gmane.org/gmane.linux.kernel.cifs/4100 > http://article.gmane.org/gmane.linux.kernel.cifs/4102 Патчи в апстрим.
Ядро v3.0 в etercifs-5.0.0.
Собрал dkms-etercifs-5.0.0-alt1.
Обновил ветки с нашими патчами, собрал новое ядро v3.2 в etercifs-5.4.0. Так же включил в релиз stable исправления для ядра v3.1 (v3.1.10).
Добавлена поддержка ядер v3.4 и v3.5 (v3.3 добавлено ранее).
Работал над поддержкой v3.6 и v3.7 ядер. Применил обновления из stable.
Собрал 5.4.4-alt с поддержкой v3.6 и v3.7.
Обновил машины. В связи с появлением в Sisyphus ядра v3.7 - протестировал с помощью RECT последнюю сборку etercifs по протоколам CIFS и SMB2.02 с Samba сервером - для работы протокола SMB2.02 пришлось наложить дополнительный патч, который войдёт в следующую сборку etercifs.
(В ответ на comment #25) > Обновил машины. В связи с появлением в Sisyphus ядра v3.7 - протестировал с > помощью RECT последнюю сборку etercifs по протоколам CIFS и SMB2.02 с Samba > сервером - для работы протокола SMB2.02 пришлось наложить дополнительный патч, > который войдёт в следующую сборку etercifs. Продолжил тестирование уже с Windows сервером по протоколам CIFS и SMB2.1. Выяснил некоторые проблемы с использованием SMB2.1 протокола - добавил патчи. Одна проблема осталась нерешённой: Windows сервер в случае SMB2.1 протокола разрешает наличие блокировки на чтение клиенту, который выполнил блокировку файла.
(В ответ на 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
Добавил поддержку ядра v3.8. Обновил текущие ядра. Версия 5.4.6-alt1.
(В ответ на comment #28) > Добавил поддержку ядра v3.8. Обновил текущие ядра. Версия 5.4.6-alt1. Собрал etercifs-5.4.6-alt1.
Нужна поддержка ядер 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 #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 #31) ... > Добавил поддержку ядер 3.9 и 3.10 в etercifs-5.4.7-alt1. В этих версиях появились скрипты для systemd, которые кладутся в каталог %unitdir. Старые системы ещё не знали такого макроса, некоторые новые не используют systemd. Исправлена сборка под Ubuntu, ArchLinux, Slackware. Под новые системы всё собралось, под старые — нет. Думаю, как правильно туда бэкпортить макрос.
Нужна поддержка 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: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена] ...
*** Bug 9624 has been marked as a duplicate of this bug. ***
Добавил поддержку ядер v3.11 и v3.12 в etercifs-5.4.8-alt1.
*** Bug 9631 has been marked as a duplicate of this bug. ***
(В ответ на comment #35) > Добавил поддержку ядер v3.11 и v3.12 в etercifs-5.4.8-alt1. Также в этом выпуске исправлены выбор исходников в случае отсутствия поддержки текущего ядра, утечка памяти в ядре 3.8 (при работе с SMB2) и трасляция ошибки STATUS_SHARING_VIOLATION.
Нужна поддержка 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 #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 #38) > Нужна поддержка 3.13.5 Категорически поддерживаю! Убунта ЛТС 14.04 уже в бете, а мы ни сном ни духом!
(В ответ на 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 раза обновиться..." Динамо получается.
Нужна нужна поддержка ядер 3.14
Created attachment 3051 [details] Исходники 3.12 пропаченные под 3.13
Поддержка ядер v3.13, v3.14 и v3.15 добавлена в etercifs-5.4.9-alt1.
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
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
Прошу прощения спец. темы не заметил. :(
Ядра v3.16 и v3.10 (из CentOS 7.0) в etercifs-5.4.10-alt1.
для 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 #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 #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
> В чём уже у нас бардак? 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 #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 ;)
В общем случае правильно собранные пакеты гарантируются только при отгрузке вместе с продуктом. Свободная сборка доступна не под все версии систем (не поддерживается в случае проблем).
Обновил ветки из стабильных релизов. Собрал ветку для ядра v3.17, протестировал с помощью RECT.
Добавил ядра 3.18 и 3.19 (rc1) в версию 5.4.11-alt1.
Добавил поддержку ядра v4.0 (v4.0-rc1) - версия 5.4.12-alt1.
Добавил поддержку ядра v4.1 (v4.1-rc8) - версия 5.4.13-alt1.
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
Добавил поддержку ядер v4.2 (v4.2.6), v4.3 (v4.3), v4.4 (v4.4-rc3), обновил ядра из стабильных веток - версия 5.4.14-alt1.
в 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
Проверил: 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 Работает
(Ответ 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/
(Ответ Andy Igoshin на комментарий66) > в etercifs 5.4.14-alt1 сломали сборку для ubuntu kernel 3.19.0-33-generic > Подскажите, какая версия Ubuntu и какая самая последняя версия пакета с ядром под эту Ubuntu?
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 не собирается.
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
Нужна поддержка ядра 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
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,
ядро 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]
Добавил поддержку ядер v4.5 (v4.5.7) и v4.6 (v4.6.3), обновил ядра из стабильных веток - версия 5.4.15-alt1.
Убунта новая пришла. Поддержку 4.8 запилить бы, а то не компилится. Спасибо.
Всё запилено вплоть до 4.10
Под ядро 4.13 (ubuntu 17.10) не компилится. Куча ошибок. Поправьте, пожалуйста.
Итак, у нас есть скрипт для обновления согласно инструкции: 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.
Не могу собрать 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»
(Ответ Николаев Андрей на комментарий #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.
Та же проблема и в 42.3
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»
Не собирается под ядро 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»