Summary: | sys-kernel/openvz-sources-2.6.32.53.5 - In function 'setup_boot_APIC_clock': arch/x86/kernel/apic/apic.c:819: erreur: 'nmi_watchdog' undeclared (first use in this function) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Christophe PEREZ <chris> |
Component: | [OLD] Core system | Assignee: | Gentoo VPS Team (OBSOLETE) <vserver-devs+disabled> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | andreis.vinogradovs, bug, chain, kir, null9, proxy-maint, vserver-devs+disabled |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | diff between my config made with make oldconfig from my actual running openvz-sources-2.6.32.11.1, and my new config |
Description
Christophe PEREZ
2012-10-24 15:36:23 UTC
after reading http://bugzilla.openvz.org/show_bug.cgi?id=2273 I tried with HARDLOCKUP_DETECTOR = y. But now, I have another error : fs/nfs/dns_resolve.c:12:32: erreur: linux/dns_resolver.h : Aucun fichier ou dossier de ce type fs/nfs/dns_resolve.c: In function 'nfs_dns_resolve_name': fs/nfs/dns_resolve.c:21: erreur: implicit declaration of function 'dns_query' I tried to activate each option by hand like my actuel openvz-sources-2.6.32.11.1 (instead of use make oldconfig), adding HARDLOCKUP_DETECTOR = y, but I have another error now : In file included from arch/x86/mm/fault.c:14: include/linux/hugetlb.h: In function 'hstate_inode': include/linux/hugetlb.h:255: erreur: implicit declaration of function 'HUGETLBFS_SB' include/linux/hugetlb.h:255: attention : assignment makes pointer from integer without a cast include/linux/hugetlb.h:256: erreur: déréférencement d'un pointeur de type incomplet I don't know what to do to upgrade my openvz kernel at all. My last config try http://pastebin.com/NLTD6x8h I can confirm this issue. I have a identical setup. Which version of the compiler used to build the kernel? gcc:4.4 have the exact same error ? (In reply to comment #4) > Which version of the compiler used to build the kernel? > gcc:4.4 have the exact same error ? It was indicated in my emerge --info : sys-devel/gcc: 4.4.4-r2, 4.5.4 Actually : sys-devel/gcc: 4.4.7, 4.6.3 and same error with them. Created attachment 340448 [details]
diff between my config made with make oldconfig from my actual running openvz-sources-2.6.32.11.1, and my new config
I finaly compiled a new openvz kernel (sys-kernel/openvz-sources-2.6.32.53.5) For that, I took the original .config from openvz site, and I added options one by one to mine. Each option, I tried to compile. I haven't boot on it yet. I don't know if that will help, but I join the diff between my config made with make oldconfig from my actual running openvz-sources-2.6.32.11.1, and my new config. It only compiles with gcc 4.4.7, not gcc 4.6.3. (In reply to comment #0) > As I always reported for another version, actual openvz-sources-2.6.32.53.5 > doesn't compile. > I first tried to compile after a make oldconfig, but as I had errors, I > tried with a fresh install, just make menuconfig to create .config, and make > : > arch/x86/kernel/apic/apic.c: In function 'setup_boot_APIC_clock': > arch/x86/kernel/apic/apic.c:819: erreur: 'nmi_watchdog' undeclared (first > use in this function) > arch/x86/kernel/apic/apic.c:819: erreur: (Each undeclared identifier is > reported only once > arch/x86/kernel/apic/apic.c:819: erreur: for each function it appears in.) > arch/x86/kernel/apic/apic.c:819: erreur: 'NMI_IO_APIC' undeclared (first use > in this function) > arch/x86/kernel/apic/apic.c: In function 'end_local_APIC_setup': > arch/x86/kernel/apic/apic.c:1407: erreur: implicit declaration of function > 'nmi_watchdog_default' > arch/x86/kernel/apic/apic.c:1408: erreur: implicit declaration of function > 'setup_apic_nmi_watchdog' > arch/x86/kernel/apic/apic.c: In function 'APIC_init_uniprocessor': > arch/x86/kernel/apic/apic.c:1784: erreur: implicit declaration of function > 'localise_nmi_watchdog' > arch/x86/kernel/apic/apic.c:1792: erreur: implicit declaration of function > 'check_nmi_watchdog' > make[3]: *** [arch/x86/kernel/apic/apic.o] Erreur 1 I had exactly the same error with openvz-sources-2.6.32.49.6 openvz-sources-2.6.32.53.5 and openvz-sources-2.6.32.68.8 (unstable) with and without kernel configs from <http://wiki.openvz.org/Download/kernel/>. After two days of googeling and trying, especially the mentioned ways in this thread (and related), I got it. I havent touched Kernel Hacking->Detect Hard Lockups (deactivated by default) as Christophe Perez mentioned, because that leads to other strange error (also described by Christophe Perez). I just deactivated the Processor type and features->ACPI NUMA detection in my kernel config. I downgraded gcc before (while trying some other ways of fixing this), so I used now x86_64-pc-linux-gnu-4.4.7 (the 4.4. tree, which is known as the best one for openvz-sources, according to many opinions in bug threads) and I use the =sys-kernel/openvz-sources-2.6.32.49.6 version. This now works fine for me. Just posting this for others who have the same problem. So there baiscally is no "easy" method of baking a kernel for OpenVZ? That's... hard. (In reply to comment #9) > So there baiscally is no "easy" method of baking a kernel for OpenVZ? > That's... hard. I completely fail upon 053.5 using gcc 4.4.7 and the config from OpenVZ. ( http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab053.5/configs/config-2.6.32-042stab053.5.i686 ) kernel/sched.c:664: Warnung: »struct cfs_bandwidth« innerhalb Parameterliste deklariert kernel/sched.c:664: Warnung: sein Gültigkeitsbereich umfasst nur diese Definition bzw. Deklaration, was Sie wahrscheinlich nicht wollten kernel/sched.c:665: Warnung: »struct cfs_bandwidth« innerhalb Parameterliste deklariert In file included from kernel/sched.c:2063: kernel/sched_fair.c: In Funktion »stop_cfs_idle_time_accounting«: kernel/sched_fair.c:986: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:986: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:986: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched_fair.c:986: Warnung: »int« ist Standardtyp in Deklaration von »__mptr« kernel/sched_fair.c:986: Fehler: »task_groups« nicht deklariert (erste Benutzung in dieser Funktion) kernel/sched_fair.c:986: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt kernel/sched_fair.c:986: Fehler: für jede Funktion in der er auftritt.) kernel/sched_fair.c:986: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:986: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:986: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:986: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched_fair.c:986: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:986: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:986: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:986: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:986: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched_fair.c:986: Warnung: »int« ist Standardtyp in Deklaration von »__mptr« kernel/sched_fair.c:986: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:986: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:986: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:986: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:986: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched_fair.c:986: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:987: Fehler: »root_task_group« nicht deklariert (erste Benutzung in dieser Funktion) kernel/sched_fair.c:988: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:989: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c: In Funktion »start_cfs_idle_time_accounting«: kernel/sched_fair.c:1000: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:1000: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:1000: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched_fair.c:1000: Warnung: »int« ist Standardtyp in Deklaration von »__mptr« kernel/sched_fair.c:1000: Fehler: »task_groups« nicht deklariert (erste Benutzung in dieser Funktion) kernel/sched_fair.c:1000: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:1000: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:1000: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:1000: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched_fair.c:1000: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:1000: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:1000: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:1000: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:1000: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched_fair.c:1000: Warnung: »int« ist Standardtyp in Deklaration von »__mptr« kernel/sched_fair.c:1000: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:1000: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:1000: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:1000: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:1000: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched_fair.c:1000: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched_fair.c:1001: Fehler: »root_task_group« nicht deklariert (erste Benutzung in dieser Funktion) kernel/sched_fair.c:1002: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched_fair.c:1003: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c: In Funktion »nr_running_ve«: kernel/sched.c:3287: Warnung: Variable »tg« wird nicht verwendet kernel/sched.c: In Funktion »get_avenrun_ve«: kernel/sched.c:3329: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3330: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3331: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c: In Funktion »calc_load_ve«: kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched.c:3352: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »__mptr« kernel/sched.c:3352: Fehler: »task_groups« nicht deklariert (erste Benutzung in dieser Funktion) kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »_________p1« kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched.c:3352: Warnung: Initialisierung erzeugt Zeiger von Ganzzahl ohne Typkonvertierung kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched.c:3352: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched.c:3352: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »__mptr« kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »_________p1« kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched.c:3352: Warnung: Initialisierung erzeugt Zeiger von Ganzzahl ohne Typkonvertierung kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched.c:3352: Fehler: Anfrage nach Element »list« in etwas, was keine Struktur oder Variante ist kernel/sched.c:3352: Warnung: »int« ist Standardtyp in Deklaration von »type name« kernel/sched.c:3365: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3365: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3366: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3366: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3367: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c:3367: Fehler: Dereferenzierung eines Zeigers auf unvollständigen Typen kernel/sched.c: In Funktion »sched_init«: kernel/sched.c:10352: Fehler: »root_task_group« nicht deklariert (erste Benutzung in dieser Funktion) kernel/sched.c: In Funktion »cpuacct_stats_show«: kernel/sched.c:12354: Fehler: »cpuacct_stat_desc« nicht deklariert (erste Benutzung in dieser Funktion) make[1]: *** [kernel/sched.o] Fehler 1 make: *** [kernel] Fehler 2 what basically makes my server unusable now. I cannot upgrade udev, I cannot upgrade udev in my containers, I am simply stuck at feoktistov, for which there aren't even sources anymore *sighs* (In reply to comment #10) > (In reply to comment #9) > > So there baiscally is no "easy" method of baking a kernel for OpenVZ? > > That's... hard. > > I completely fail upon 053.5 using gcc 4.4.7 and the config from OpenVZ. > ( > http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab053.5/configs/ > config-2.6.32-042stab053.5.i686 ) > ... > > what basically makes my server unusable now. I cannot upgrade udev, I cannot > upgrade udev in my containers, I am simply stuck at feoktistov, for which > there aren't even sources anymore *sighs* In contrast to that what I've said, i finally used the 2.6.32-openvz-feoktistov.1 kernel which is not covered in the portage tree anymore. This is the only kernel which works for me. (Tested on several machines amd and intel whith several gcc versions) If you need DEVTMPFS - as the current udev needs - then you can edit the file drivers/base/Kconfig, since that kernel doesn't show options regarding DEVTMPFS in the `make menuconfig`. Search for the line with DEVTMPFS and make it look like this config DEVTMPFS bool "Create a kernel maintained /dev tmpfs (EXPERIMENTAL)" depends on HOTPLUG && SHMEM && TMPFS Now you can select to use DEVTMPFS in your `make menuconfig` and compile it. I was able to create the 049.6 kernel using 4.4.7. However, you have to take GREAT care - everything is build as modules with the config from RHEL, and if you don't happen to use an initrd/initramfs (like me) prepare to take off to your data center because of a nice kernel panic. I had at least to set sd, mpt and ext3 to yes. Right now compiling it. As of feoktistov, I would really like to have the ebuild for it and would even host it in my overlay - it is already gone from portage unfortunately. No reports, please, if you compile with the unsupported compiler or unsupported config. You can enable additional drivers or classes of devices, but do not turn off that any of the recommended config. This is not a requirement openvz - it's RHEL crap. P.S nmi_watchdog() is reqired to RHEL patchset IMHO, this bug WONTFIX or INVALID phantom linux-2.6.32-openvz-053.5 # wget http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab053.5/configs/config-2.6.32-042stab053.5.x86_64 -O .config phantom linux-2.6.32-openvz-053.5 # LANG=C gcc -v 2>&1 | tail -1 gcc version 4.4.7 (Gentoo 4.4.7 p1.1, pie-0.4.5) make -j8 && echo success (snip) success Can not reproduce in stable system. So, closed as WONTFIX. Please use recommended compiler version and config, as suggested by upstream. |