Error while build grep when BR2_PACKAGE_LIBINTL is not set
Hi all,
I get some Errors when compiling grep with current svn buildroot version. My config is without LIBINTL, but configure think all is ok:
root at slax:/buildroot/build_i386/grep-2.5.1# head config.log This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.53. Invocation command line was
$ ./configure --target=i386-linux --host=i386-linux --build=i386-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/lib --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --disable-largefile --disable-perl-regexp --without-included-regex
## --------- ##
. . .
configure:4276: checking libintl.h presence
configure:4283:/mnt/hda1/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-cpp -Os -pipe -I/ mnt/hda1/buildroot/build_i386/staging_dir/usr/include -I/mnt/hda1/buildroot/build_i386/staging_dir/incl
ude --sysroot=/mnt/hda1/buildroot/build_i386/staging_dir/ -isysroot /mnt/hda1/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 conftest.c
configure:4289: $? = 0
configure:4307: result: yes
configure:4325: checking for libintl.h
configure:4332: result: yes
. . .
#define HAVE_LIBINTL_H 1
But this should not be defined!
My question now: Is this a problem of the uclibc header or a problem of the grep package?
When I #undef HAVE_LIBINTL_H in config.h, it works fine.
my toolchain:
root at slax:/buildroot/toolchain_build_i386# dir
autoconf-2.61/ ccache-2.4/ gdb-6.6/
linux-2.6.21.5/ uClibc-0.9.29/
automake-1.10/ file-4.21-host/ gmp/
module-init-tools-3.2.2/ uClibc_dev/
bin/ gcc-4.2.1/ gmp-4.2.2/ mpfr/ binutils-2.18/ gcc-4.2.1-final/ gmp-4.2.2-host/ mpfr-2.3.0/ binutils-2.18-build/ gcc-4.2.1-initial/ linux/ mpfr-2.3.0-host/
root at slax:/buildroot/toolchain_build_i386#
claus
/mnt/hda1/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc -Os -pipe -I/mnt/hda1/buildroot/build_i386/staging_dir/usr/include -I/mnt/hda1/buildroot/build_i386/staging_dir/include --sysroot=/mnt/hda1/buildroot/build_i386/staging_dir/ -isysroot /mnt/hda1/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I../lib
-DLOCALEDIR=\"/usr/share/locale\" -g -O2 -c `test -f grepmat.c ||
echo './'`grepmat.c /mnt/hda1/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc -Os -pipe -I/mnt/hda1/buildroot/build_i386/staging_dir/usr/include -I/mnt/hda1/buildroot/build_i386/staging_dir/include --sysroot=/mnt/hda1/buildroot/build_i386/staging_dir/ -isysroot /mnt/hda1/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -g
-O2 -o grep grep.o dfa.o kwset.o search.o grepmat.o ../lib/libgreputils.a
dfa.o: In function `xmalloc':/mnt/hda1/buildroot/build_i386/grep-2.5.1/src/dfa.c:147: undefined reference to `libintl_gettext'
dfa.o: In function `xrealloc':/mnt/hda1/buildroot/build_i386/grep-2.5.1/src/dfa.c:158: undefined reference to `libintl_gettext'
dfa.o: In function `xcalloc':/mnt/hda1/buildroot/build_i386/grep-2.5.1/src/dfa.c:136: undefined reference to `libintl_gettext'
dfa.o: In function `parse_bracket_exp_mb':/mnt/hda1/buildroot/build_i386/grep-2.5.1/src/dfa.c:489: undefined reference to libintl_gettext' /mnt/hda1/buildroot/build_i386/grep-2.5.1/src/dfa.c:604: undefined reference to libintl_gettext' dfa.o:/mnt/hda1/buildroot/build_i386/grep-2.5.1/src/dfa.c:545: more undefined references to `libintl_gettext' follow
collect2: ld returned 1 exit status
make[3]: *** [grep] Error 1
make[3]: Leaving directory `/mnt/hda1/buildroot/build_i386/grep-2.5.1/src' make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/mnt/hda1/buildroot/build_i386/grep-2.5.1' make[1]: *** [all] Error 2
make[1]: Leaving directory `/mnt/hda1/buildroot/build_i386/grep-2.5.1'
make: *** [/mnt/hda1/buildroot/build_i386/grep-2.5.1/src/grep] Error 2 root at slax:/buildroot#
Quoted 37 lines · Claus Klein
Hi all,
I get some Errors when compiling grep with current svn buildroot version. My config is without LIBINTL, but configure think all is ok:
root at slax:/buildroot/build_i386/grep-2.5.1# head config.log This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.53. Invocation command line was$ ./configure --target=i386-linux --host=i386-linux --build=i386-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/lib --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --disable-largefile --disable-perl-regexp --without-included-regex## --------- ##
. . .
configure:4276: checkinglibintl.hpresence
configure:4283:/mnt/hda1/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-cpp-Os -pipe -I/ mnt/hda1/buildroot/build_i386/staging_dir/usr/include -I/mnt/hda1/buildroot/build_i386/staging_dir/incl
ude --sysroot=/mnt/hda1/buildroot/build_i386/staging_dir/ -isysroot/mnt/hda1/buildroot/build_i386/staging_dir-mtune=i386 -march=i386conftest.c
configure:4289: $? = 0
configure:4307: result: yes
configure:4325: checking forlibintl.h
configure:4332: result: yes
. . .
#defineHAVE_LIBINTL_H1
Quoted 6 lines
But this should not be defined!
My question now: Is this a problem of the uclibc header or a problem of the grep package?
When I #undefHAVE_LIBINTL_Hinconfig.h, it works fine.
PS: As a quickfix, this solve my problem:
ck
svn diff package/grep/
grep/grep.mk (working copy) renamed from grep/grep.mk (revision 20696) +2 -0
@@ -48,6 +48,9 @@ --disable-perl-regexp \ --without-included-regex \ ) +ifeq ($(BR2_ENABLE_LOCALE),) + sed -i.bak 's/#define HAVE_LIBINTL_H 1/#undef HAVE_LIBINTL_H/'
$(GNUGREP_DIR)/config.h
+endif
touch $(GNUGREP_DIR)/.configured
$(GNUGREP_DIR)/$(GNUGREP_BINARY): $(GNUGREP_DIR)/.configured
root at slax:/buildroot#