/etc/init.d/linux-cifs build Build for 2.6.25-gentoo-r1 Linux kernel (headers in /lib/modules/2.6.25-gentoo-r1/build) /usr/bin/gcc make: Entering directory `/usr/src/linux-2.6.25-gentoo-r1' CLEAN /usr/src/linux-cifs/.tmp_versions make: Leaving directory `/usr/src/linux-2.6.25-gentoo-r1' make: Entering directory `/usr/src/linux-2.6.25-gentoo-r1' CC [M] /usr/src/linux-cifs/cifssmb.o CC [M] /usr/src/linux-cifs/cifsfs.o /usr/src/linux-cifs/cifsfs.c: В функции ‘cifs_read_super’ /usr/src/linux-cifs/cifsfs.c:135: ошибка: implicit declaration of function ‘iget’ /usr/src/linux-cifs/cifsfs.c:135: предупреждение: assignment makes pointer from integer without a cast /usr/src/linux-cifs/cifsfs.c: На верхнем уровне: /usr/src/linux-cifs/cifsfs.c:531: ошибка: неизвестное поле ‘read_inode’ в инициализаторе /usr/src/linux-cifs/cifsfs.c:531: предупреждение: initialization from incompatible pointer type /usr/src/linux-cifs/cifsfs.c: В функции ‘cifs_init_inodecache’ /usr/src/linux-cifs/cifsfs.c:867: предупреждение: passing argument 5 of ‘kmem_cache_create’ from incompatible pointer type make[1]: *** [/usr/src/linux-cifs/cifsfs.o] Ошибка 1 make[1]: *** Ожидание завершения заданий... make: *** [_module_/usr/src/linux-cifs] Ошибка 2 make: Leaving directory `/usr/src/linux-2.6.25-gentoo-r1' can't locate built module cifs.ko, continue
в 1.53 проблем нет
Но для Fedora 8 не собирается версия 1.53
в смысле сам rmp-пакет не собирается
забыл открыть багу
Может быть есть более новый вариант 1.53?
Тут клиент интересуется (http://rt.etersoft.ru/Ticket/Display.html?id=7261) когда сборка для федоры появится..
(In reply to comment #5) > Может быть есть более новый вариант 1.53? > У меня в гите лежит обновление из kernel.org, но на собираемость оно вроде не влияет - там добавлен ряд проверок, которые могли приводить к ошибками... В каком виде его лучше выкладывать? Мне удобно в гит, но могу и SRPM'ку сделать на сизифе, если второе то куда класть, чтобы все знали? И последнее, как узнать последнюю сводку отчётов по собираемости на разных системах?
Можно в гит.
Не собирается для Fedora 9. Build for /usr/src/kernels/2.6.25.10-86.fc9.i686 (detected as 2.6.25.10-86.fc9.i686) ... /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c: In function 'cifs_getxattr': /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: warning: passing argument 7 of 'CIFSSMBOpen' makes integer from pointer without a cast /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: warning: passing argument 8 of 'CIFSSMBOpen' from incompatible pointer type /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: warning: passing argument 10 of 'CIFSSMBOpen' from incompatible pointer type /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: warning: passing argument 11 of 'CIFSSMBOpen' makes pointer from integer without a cast /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: error: too few arguments to function 'CIFSSMBOpen' make[1]: *** [/home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [_module_/home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport] Error 2 make: Leaving directory `/usr/src/kernels/2.6.25.10-86.fc9.i686' can't locate built module etercifs.ko, continue
Created attachment 627 [details] Патч, добавляющий отсутствующие параметры для функции CIFSSMBOpen Я встретил подобные проблемы при попытке собрать модуль под ядро от лакостиса - [kipruss@heaven ~]$ uname -a Linux heaven.saratov.etersoft.ru 2.6.26-wks-smp-alt1 #1 SMP PREEMPT Mon Jul 14 14:36:23 MSD 2008 i686 GNU/Linux собирал из пакета linux-cifs-1.53-alt1.bld1 Смысл в том, что появился новый параметр в функции CIFSSMBOpen, которая объявляется в cifsproto.h, раньше его не было и везде, где он появился, он равен константе FILE_SHARE_ALL. В трех местах его забыли добавить. В новых ядрах может быть включена опция ядра CONFIG_CIFS_EXPERIMENTAL. Так вот, если она включена, то мы натыкаемся на те куски кода, где и забыли эти параметры. У меня в итоге модуль собрался, посему прилагаю патч.
Да, кстати, это в сырцах баг, отсюда и проблемы в федоре и т.п. Надо пинать апстрим.
(In reply to comment #11) > Да, кстати, это в сырцах баг, отсюда и > проблемы в федоре и т.п. Надо пинать > апстрим. > > появился новый параметр в > функции CIFSSMBOpen, которая объявляется в > cifsproto.h, раньше его не было и везде, где он > появился, он равен константе FILE_SHARE_ALL. Мне казалось этот параметр добавляется нашим патчем?
(In reply to comment #12) > Мне казалось этот параметр добавляется > нашим патчем? > В патче linux-cifs-shared-1.53.patch добавляется этот параметр в некоторых местах, но не везде. Я искал там и сравнивал. Поскольку проблема проявляется только при включенной опции CONFIG_CIFS_EXPERIMENTAL, как сказано выше, то можно было и не заметить. И не факт, что я в полной мере исправил все отсутствующие параметры. Я исправил только то, что мне мешало. А что не помешало - помешает потом кому-то еще, если апстрим не исправит все эти огрехи.
Я не понимаю, при чём тут огрехи апстрима, если доп. параметр к функции CIFSSMBOpen дописывал я в нашем патче.
(In reply to comment #14) > Я не понимаю, при чём тут огрехи апстрима, > если доп. параметр к функции CIFSSMBOpen > дописывал я в нашем патче. > Я понял. Апстрим не при чем. Но в любом случае некоторые параметры не добавлены при вызове данной функции, что и видно в сообщениях, выводимых на консоли. Значит исправим, раз наша бага.
Просмотрел содержимое уже пропатченных исходников на предмет наличия функции CIFSSMBOpen на предмет отсутствия добавленного параметра. Кроме уже замеченных мною выше трёх случаев, больше не нашел.
я зачем мы собираем свой cifs? может в ядерном уже все и так работает?..
патч приложил. Положил новый src.rpm в current. На Федоре 9 собралось
(In reply to comment #17) > я зачем мы собираем свой cifs? может в ядерном > уже все и так работает?.. Потому что нам там нужны наши изменения, которые мы ещё не смогли и не пытались продвинуть в ядро.
Не собирается на ядре 2.6.22.
Created attachment 663 [details] Лог сборки linux-cifs
Новый linux-cifs должен теперь собираться нормально... Не знаю где бы проверить.
Думаю, можно эту багу закрывать...