Building without multibute is pain
Hi all,
I use snapshot buildroot-20080117.tar.bz2. I've made only two changes to default configuration:
- check "Target options / Generic development system"
- set "Kernel type" to (none).
1. Then I run make, and it stopped with folowing messages:
===
make[3]: Entering directory `/uc3/26v2/buildroot/build_i386/coreutils-6.9/lib'
/uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc -Os -pipe -I/uc3/26v2/buildroot/build_i386/staging_dir/usr/include -I/uc3/26v2/buildroot/build_i386/staging_dir/include --sysroot=/uc3/26v2/buildroot/build_i386/staging_dir/ -isysroot /uc3/26v2/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -I.
-g -O2 -c mbchar.c
In file included from mbchar.h:157,
from mbchar.c:22:
./wchar.h:41:12: error: empty filename in #include
In file included from mbchar.c:22:
mbchar.h:242: error: expected ')' before 'wc'
make[3]: *** [mbchar.o] Error 1
make[3]: Leaving directory `/uc3/26v2/buildroot/build_i386/coreutils-6.9/lib'
===
Really, lines 40-41 in file build_i386/coreutils-6.9/lib/wchar.h are:
/* Include the original <wchar.h>. */
#include ""
The same error apears in findutils-4.2.31.
2. After removing line 41, next error appears:
===
In file included from mbchar.c:23:
mbchar.h:242: error: expected ')' before 'wc'
===
Workaround: file build_i386/coreutils-6.9/lib/mbchar.h line 242 -mb_width_aux (wint_t wc)
+mb_width_aux (int wc)
The same error apears in findutils-4.2.31 and tar-1.18.
3. Next error:
===
In file included from regex.c:62:regcomp.c: In function 'init_dfa':
regcomp.c:867: error: 'MB_CUR_MAX' undeclared (first use in this function) regcomp.c:867: error: (Each undeclared identifier is reported only once regcomp.c:867: error: for each function it appears in.) make[3]: *** [regex.o] Error 1
===
Workaround: file build_i386/coreutils-6.9/lib/regcomp.c line 867 -dfa->mb_cur_max = MB_CUR_MAX;
+dfa->mb_cur_max = 1;
The same error apears in tar-1.18.
4. Next:
===
if /uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc -DDEFPATH="\".:/usr/share/awk\"" -DHAVE_CON FIG_H -DGAWK
-DLOCALEDIR="\"/usr/share/locale\"" -I. -I. -I. -g -O2 -MT regex.o
-MD -MP -MF ".deps/regex.Tpo" -c -o
regex.o regex.c; \
then mv -f ".deps/regex.Tpo" ".deps/regex.Po"; else rm -f
".deps/regex.Tpo"; exit 1; fi
In file included from regex.c:67:
regex_internal.h:744: error: expected specifier-qualifier-list before 'wchar_t'
===
Workaround: file build_i386/gawk-3.1.5/regex_internal.h line 744 -wchar_t wch;
+unsigned int wch;
5. Next:
===
/uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc -Os -pipe -I/uc3/26v2/buildroot/build_i386/staging_dir/usr/include -I/uc3/26v2/buildroot/build_i386/staging_dir/include --sysroot=/uc3/26v2/buildroot/build_i386/staging_dir/ -isysroot /uc3/26v2/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':
/uc3/26v2/buildroot/build_i386/grep-2.5.1/src/dfa.c:147: undefined reference to `libintl_gettext'
===
Workaround: file build_i386/grep-2.5.1/config.h line 116:
-#define HAVE_LIBINTL_H 1
6. Next:
===
/uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc -Os -pipe -I/uc3/26v2/buildroot/build_i386/staging_dir/usr/include -I/uc3/26v2/buildroot/build_i386/staging_dir/include --sysroot=/uc3/26v2/buildroot/build_i386/staging_dir/ -isysroot /uc3/26v2/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -c -D_GNU_SOURCE -I proc -fno-common -ffast-math -W -Wall -Wshadow -Wcast-align -Wredundant-decls -Wbad-function-cast -Wcast-qual -Wwrite-strings -Waggregate-return -Wstrict-prototypes
-Wmissing-prototypes -Wdeclaration-after-statement -Wpadded
-Wstrict-aliasing -fweb -frename-registers -fomit-frame-pointer -fno-inline-functions -DSHARED=1 -fpic proc/escape.c -o proc/escape.o
proc/escape.c:19:20: error: wchar.h: No such file or directory
proc/escape.c:20:21: error: wctype.h: No such file or directory
proc/escape.c: In function 'escape_str_utf8':
proc/escape.c:30: error: 'mbstate_t' undeclared (first use in this function)
...more errors...
===
Workaround: file build_i386/procps-3.2.5/proc/escape.c line 18 +#undef __GNU_LIBRARY__
+#define __GNU_LIBRARY__ 1
7. Next:
===
if /uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../intl -I.. -I../lib -I../intl -g -O2 -MT regex.o -MD -MP -MF ".deps/regex.Tpo" -c -o regex.o regex.c; \
then mv -f ".deps/regex.Tpo" ".deps/regex.Po"; else rm -f
".deps/regex.Tpo"; exit 1; fi
In file included from regex.c:62:
regex_internal.h:677: error: expected specifier-qualifier-list before 'wchar_t'
In file included from regex.c:65:
regcomp.c: In function 'init_dfa':
regcomp.c:836: error: 'MB_CUR_MAX' undeclared (first use in this function)
===
Workaround1: file build_i386/sed-4.1.5/lib/regex_internal.h line 677 -wchar_t wch;
+unsigned int wch;
Workaround2: file build_i386/sed-4.1.5/lib/regcomp.c line 836 -dfa->mb_cur_max = MB_CUR_MAX;
+dfa->mb_cur_max = 1;
YEAH! Finished. Then I try to enter into buildroot and to build uclibc again (it's just simple test to see the problem):
cp dl/uClibc-0.9.29.tar.bz2 project_build_i386/uclibc/root/tmp chroot project_build_i386/uclibc/root /bin/su -
cd /tmp
tar -xjf uClibc-0.9.29.tar.bz2 (this tar is running inside buildroot) cd uClibc-0.9.29
make clean
And I receive:
===
[root at compiler uClibc-0.9.29]# make clean
grep: memory exhausted
grep: memory exhausted
rm -f lib*/*.a ldso/*/*.a libpthread/*/*.a
rm -f include/fpu_control.h include/dl-osinfo.h include/hp-timing.h
make -C extra/locale locale_clean
grep: memory exhausted
grep: memory exhausted
rm -f ../../extra/locale/gen_collate ../../extra/locale/gen_wc8bit ../../extra/locale/gen_wctype ../../extra/locale/loc ale_data.c ../../extra/locale/{*.{o,os,txt},gen_locale,gen_ldc}
rm -f ../../extra/locale/{uClibc_locale_data,lt_defines,c8tables,wctables,locale_tables,locale_collate}.h
rm -f ../../extra/locale/{lmmtolso,gen_mmap,locale.mmap}
make[1]: *** [locale_clean] Segmentation fault
make: *** [clean] Error 2
===
Please, help me.
Signature · 1 line
Andrey
Hi Andrey,
The similar problem was discussed here http://busybox.net/bugs/view.php?id=1546
Regards,
Ivan
Quoted 231 lines · Andrey Kovalev
Hi all,
I use snapshot buildroot-20080117.tar.bz2. I've made only two changes to default configuration:
- check "Target options / Generic development system"
- set "Kernel type" to (none).1. Then I run make, and it stopped with folowing messages:
===
make[3]: Entering directory `/uc3/26v2/buildroot/build_i386/coreutils-6.9/lib'/uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc
(quoted diff) +0
-3-Os -pipe -I/uc3/26v2/buildroot/build_i386/staging_dir/usr/include -I/uc3/26v2/buildroot/build_i386/staging_dir/include --sysroot=/uc3/26v2/buildroot/build_i386/staging_dir/ -isysroot/uc3/26v2/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -I.
-g -O2 -c mbchar.cIn file included from mbchar.h:157,
from mbchar.c:22:./wchar.h:41:12: error: empty filename in #include
In file included from mbchar.c:22:
mbchar.h:242: error: expected ')' before 'wc'
make[3]: *** [mbchar.o] Error 1
make[3]: Leaving directory `/uc3/26v2/buildroot/build_i386/coreutils-6.9/lib'
===
Really, lines 40-41 in file
build_i386/coreutils-6.9/lib/wchar.hare:
/* Include the original <wchar.h>. */
#include ""
The same error apears in findutils-4.2.31.2. After removing line 41, next error appears:
===
In file included from mbchar.c:23:
mbchar.h:242: error: expected ')' before 'wc'
===Workaround: file
build_i386/coreutils-6.9/lib/mbchar.hline 242(quoted diff) +1
-1-mb_width_aux (wint_t wc) +mb_width_aux (int wc)The same error apears in findutils-4.2.31 and tar-1.18.
3. Next error:
===
In file included from regex.c:62:regcomp.c: In function 'init_dfa':
regcomp.c:867: error: 'MB_CUR_MAX' undeclared (first use in this function) regcomp.c:867: error: (Each undeclared identifier is reported only once regcomp.c:867: error: for each function it appears in.) make[3]: *** [regex.o] Error 1
===Workaround: file
build_i386/coreutils-6.9/lib/regcomp.cline 867(quoted diff) +1
-1-dfa->mb_cur_max = MB_CUR_MAX; +dfa->mb_cur_max = 1;The same error apears in tar-1.18.
4. Next:
===
if /uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc(quoted diff) +0
-3-DDEFPATH="\".:/usr/share/awk\"" -DHAVE_CON FIG_H -DGAWK -DLOCALEDIR="\"/usr/share/locale\"" -I. -I. -I. -g -O2 -MT regex.o -MD -MP -MF ".deps/regex.Tpo" -c -o regex.o regex.c; \ then mv -f ".deps/regex.Tpo" ".deps/regex.Po"; else rm -f".deps/regex.Tpo"; exit 1; fi
In file included from regex.c:67:regex_internal.h:744: error: expected specifier-qualifier-list before '
wchar_t'
===Workaround: file
build_i386/gawk-3.1.5/regex_internal.hline 744(quoted diff) +1
-1-wchar_t wch; +unsigned int wch;5. Next:
===
/uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc(quoted diff) +0
-3-Os -pipe -I/uc3/26v2/buildroot/build_i386/staging_dir/usr/include -I/uc3/26v2/buildroot/build_i386/staging_dir/include --sysroot=/uc3/26v2/buildroot/build_i386/staging_dir/ -isysroot/uc3/26v2/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.adfa.o: In function `xmalloc':
/uc3/26v2/buildroot/build_i386/grep-2.5.1/src/dfa.c:147: undefined reference to `libintl_gettext'
===Workaround: file
build_i386/grep-2.5.1/config.hline 116:
-#defineHAVE_LIBINTL_H16. Next:
===
/uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc(quoted diff) +0
-3-Os -pipe -I/uc3/26v2/buildroot/build_i386/staging_dir/usr/include -I/uc3/26v2/buildroot/build_i386/staging_dir/include --sysroot=/uc3/26v2/buildroot/build_i386/staging_dir/ -isysroot/uc3/26v2/buildroot/build_i386/staging_dir -mtune=i386 -march=i386 -c
(quoted diff) +0
-6-D_GNU_SOURCE -I proc -fno-common -ffast-math -W -Wall -Wshadow -Wcast-align -Wredundant-decls -Wbad-function-cast -Wcast-qual -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement -Wpadded -Wstrict-aliasing -fweb -frename-registers -fomit-frame-pointer -fno-inline-functions -DSHARED=1 -fpic proc/escape.c -o proc/escape.o
proc/escape.c:19:20: error:wchar.h: No such file or directory
proc/escape.c:20:21: error:wctype.h: No such file or directory
proc/escape.c: In function 'escape_str_utf8':
proc/escape.c:30: error: 'mbstate_t' undeclared (first use in this function)
...more errors...
===Workaround: file
build_i386/procps-3.2.5/proc/escape.cline 18(quoted diff) +2
-0+#undef __GNU_LIBRARY__ +#define __GNU_LIBRARY__ 17. Next:
===
if /uc3/26v2/buildroot/build_i386/staging_dir/usr/bin/i386-linux-uclibc-gcc(quoted diff) +0
-2-DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../intl -I.. -I../lib -I../intl -g -O2 -MT regex.o -MD -MP -MF ".deps/regex.Tpo" -c -o regex.o regex.c;\
then mv -f ".deps/regex.Tpo" ".deps/regex.Po"; else rm -f
".deps/regex.Tpo"; exit 1; fi
In file included from regex.c:62:regex_internal.h:677: error: expected specifier-qualifier-list before '
wchar_t'
In file included from regex.c:65:
regcomp.c: In function 'init_dfa':regcomp.c:836: error: '
MB_CUR_MAX' undeclared (first use in this function)
===Workaround1: file
build_i386/sed-4.1.5/lib/regex_internal.hline 677(quoted diff) +1
-1-wchar_t wch; +unsigned int wch;Workaround2: file
build_i386/sed-4.1.5/lib/regcomp.cline 836(quoted diff) +1
-1-dfa->mb_cur_max = MB_CUR_MAX; +dfa->mb_cur_max = 1;YEAH! Finished. Then I try to enter into buildroot and to build uclibc again (it's just simple test to see the problem):
cp dl/uClibc-0.9.29.tar.bz2 project_build_i386/uclibc/root/tmp chroot project_build_i386/uclibc/root
/bin/su-
cd /tmp
tar -xjf uClibc-0.9.29.tar.bz2 (this tar is running inside buildroot) cd uClibc-0.9.29
make cleanAnd I receive:
===
[root at compiler uClibc-0.9.29]# make clean
grep: memory exhaustedgrep: memory exhausted
rm -f lib*/*.a ldso/*/*.a libpthread/*/*.a
rm -f
include/fpu_control.hinclude/dl-osinfo.hinclude/hp-timing.hmake -C extra/locale
locale_cleangrep: memory exhausted
grep: memory exhausted
rm -f ../../extra/locale/gen_collate ../../extra/locale/gen_wc8bit ../../extra/locale/gen_wctype ../../extra/locale/loc
ale_data.c../../extra/locale/{*.{o,os,txt},gen_locale,gen_ldc}rm -f
../../extra/locale/{uClibc_locale_data,lt_defines,c8tables,wctables,locale_tables,locale_collate}.hrm -f ../../extra/locale/{lmmtolso,gen_mmap,locale.mmap}
make[1]: *** [
locale_clean] Segmentation faultmake: *** [clean] Error 2
===Please, help me.