openvz-sources-2.6.24* ошибка при компиляции
приветствую уважаемое сообщество.
Есть проблема:
при компиляции ядра openvz-sources версии 2.6.24* обрывется при компиляции traps_32.c с вот-такой ошибкой
CC arch/x86/kernel/traps_32.o arch/x86/kernel/traps_32.c:771: error: syntax error before "nmi_ipi_callback" arch/x86/kernel/traps_32.c:771: warning: type defaults to `int' in declaration of `nmi_ipi_callback' arch/x86/kernel/traps_32.c:771: warning: initialization makes integer from pointer without a cast arch/x86/kernel/traps_32.c:771: warning: data definition has no type or storage class arch/x86/kernel/traps_32.c: In function `default_do_nmi': arch/x86/kernel/traps_32.c:797: warning: comparison between pointer and integer arch/x86/kernel/traps_32.c: In function `do_nmi': arch/x86/kernel/traps_32.c:830: error: called object is not a function arch/x86/kernel/traps_32.c: At top level: arch/x86/kernel/traps_32.c:836: error: syntax error before "callback" arch/x86/kernel/traps_32.c:837: warning: function declaration isn't a prototype arch/x86/kernel/traps_32.c: In function `set_nmi_ipi_callback': arch/x86/kernel/traps_32.c:838: error: `callback' undeclared (first use in this function) arch/x86/kernel/traps_32.c:838: error: (Each undeclared identifier is reported only once arch/x86/kernel/traps_32.c:838: error: for each function it appears in.) arch/x86/kernel/traps_32.c: In function `unset_nmi_ipi_callback': arch/x86/kernel/traps_32.c:843: warning: assignment makes integer from pointer without a cast make[1]: *** [arch/x86/kernel/traps_32.o] Ошибка 1 make: *** [arch/x86/kernel] Ошибка 2
в принципе решение этой траблы для себя нашел уже давно, еще в версии openvz-sources-2.6.24.004
причина в том что из файла include/asm/nmi_32.h
по всем правилам тайпдеф nmi_callback_t должен корректно инклудиться, но это почемуто не происходит
typedef int (*nmi_callback_t)(struct pt_regs * regs, int cpu);
соответственно приделал костыль в виде небольшого патча.
смущает тот факт что уже сколько версий пакета смеенилось а этого никто не фиксит.
таквот, суть вопроса:
встречался ли ктонить с такой ошибкой, и если да - то как лечил.
думается что причина в gcc, хотя пробовал на разных версиях от 4.2(классический профиль) до 3.4.6 (сейчас hardened)
если в gcc, то может кто подскажет в каком конфиге и что править. сам с конфигами сильно не извращался
- Для комментирования войдите или зарегистрируйтесь
PS если кому
PS если кому интересно вылечил таким патчем
думаю расписывать нет смысла, остается вопрос - почему без этого костыля не работает
а на форуме openvz
а на форуме openvz ничего нет по этому поводу?
нет на форуме
нет на форуме не видел и не спрашивал. но до того как сам в сорцы залесть, гуглил сильно.
помоему, тут не в патче от openvz дело (не только в нем). ведь патчат ванильное ядро этим патчем и работает все наура.
был бы благодарен еслиб кто поставил этот пакект и сдеал
# make menuconfig all
да и отписал об результатах (выбивает при компиляции или нет)
а то не ясно где у меня проблема.. в gcc, в патче или радиусе кривизны рук.
если окажется что не только у меня в этом месте выбивает - отпишу в багзиллу
народ, ну
народ, ну ёксель-моксель, неужто ни у кого не найдется 10 мин. забацать чтото вроде
и отписать - скомпилит/нет и если скомпилится есть ли arch/x86/kernel/traps_32.o а то я когдато когда разбирался както сумел его "выкинуть" из списка компиляции
не для себя ведь стараюсь. сам то этим патчиком пользуюсь давно.
просто если проблема растет не из моих кривых рук, а реально существует - отпишу в багзиллу - всем пользабудет.
а попусту и писать както не хочется, "стесняюсь" чтоли )))
пни меня завтра
пни меня завтра вечером в irc на фриноде.
> mavriq, собрал
> integer`: mavriq, собрал без проблем
2 integer` ок. спс что попробовал. странно но у меня таки не комилит. ну ладно оставлю как есть. работает - вот и пусть работает )))
ну и поскольку все работает, все собирается у других, а сам я решение тоже имею - думаю тему можно закрывать
спасибо кто пытался помочь