grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Build error: "ENABLE_NLS" is not defined


From: Grégoire Sutre
Subject: Build error: "ENABLE_NLS" is not defined
Date: Tue, 12 Jan 2010 19:52:31 +0100
User-agent: Thunderbird 2.0.0.23 (X11/20091027)

Hi,

When NLS is disabled or not supported, the macro ENABLE_NLS is not defined, and this breaks compilation of GRUB modules as they are compiled with -Werror -Wundef by default. This is with bazaar trunk.

$ ./autogen.sh && ./configure && gmake
[...]
gcc -Ikern -I./kern -nostdinc -isystem /usr/include -I./include -I. -I./include -Wall -W -Os -DGRUB_MACHINE_PCBIOS=1 -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -m32 -fno-stack-protector -mno-stack-arg-probe -Werror -fno-builtin -mrtd -mregparm=3 -m32 -MD -c -o kernel_img-kern_err.o kern/err.c
In file included from kern/err.c:23:
./include/grub/i18n.h:29:5: error: "ENABLE_NLS" is not defined
gmake: *** [kernel_img-kern_err.o] Error 1

A possible fix consists in replacing the #if ENABLE_NLS by #if defined(ENABLE_NLS). There are not many instances, so they can be changed manually, but the following command did the trick for me (assuming sed is GNU sed):

find . -name '*.[ch]' -exec sed -i -e 's, ENABLE_NLS, defined(ENABLE_NLS),g' '{}' ';'

Best,

Grégoire




reply via email to

[Prev in Thread] Current Thread [Next in Thread]