[Buildroot] [buildroot 0001415]: SVN buildroot does not build configuration package
From: bugs at busybox.net <hidden>
Date: 2007-07-09 18:19:10
A NOTE has been added to this issue. ====================================================================== http://busybox.net/bugs/view.php?id=1415 ====================================================================== Reported By: bjdooks Assigned To: buildroot ====================================================================== Project: buildroot Issue ID: 1415 Category: Other Reproducibility: always Severity: block Priority: normal Status: assigned ====================================================================== Date Submitted: 07-02-2007 04:56 PDT Last Modified: 07-09-2007 11:19 PDT ====================================================================== Summary: SVN buildroot does not build configuration package Description: The new import of the package/config no longer builds even for the default by using 'make' The following fails building mconf.c. /usr/bin/gcc -g -O2 -c -o mconf.o mconf.c In file included from mconf.c:27: lxdialog/dialog.h:32:10: error: #include expects "FILENAME" or <FILENAME> In file included from mconf.c:27: lxdialog/dialog.h:97: error: expected specifier-qualifier-list before 'chtype' This seems to require the $(HOST_EXTRACFLAGS) to build. I tried adding: %.o: %.c $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) -c $< -o $@ but this just then fails to link the project. I do not have enough make expertise to try and fix this, as it is a complicated piece of make. ====================================================================== ---------------------------------------------------------------------- bjdooks - 07-02-07 04:58 ---------------------------------------------------------------------- URL: svn://uclibc.org/trunk/buildroot Repository Root: svn://uclibc.org Repository UUID: 69ca8d6d-28ef-0310-b511-8ec308f3f277 Revision: 18991 Node Kind: directory Schedule: normal Last Changed Author: aldot Last Changed Rev: 18991 Last Changed Date: 2007-07-02 10:54:18 +0100 (Mon, 02 Jul 2007) ---------------------------------------------------------------------- bjdooks - 07-02-07 18:05 ---------------------------------------------------------------------- Partially corrected by the fix to write .config.cmd, but menuconfig still returns an error even if it correctly writes a config. Updated package/config patch to follow ---------------------------------------------------------------------- bjdooks - 07-02-07 18:07 ---------------------------------------------------------------------- http://bugs.uclibc.org/file_download.php?file_id=1069&type=bug fixes menuconfig error return by ensuring we do not try things like writing the split configuration headers and moving the autogenerated configuration files .tmpconfig and .tmpconfig.h to a directory which isn't used. ---------------------------------------------------------------------- chickenandporn - 07-03-07 12:11 ---------------------------------------------------------------------- The attached patch is a list of instructions, not a patch... it's not usable without knowing perhaps a kernel version it comes from and such. looks like the change in 18991 helped. (looking at: svn diff -r 18991 package/config/confdata.c) I have a patch that will resolve; will try to attach tonight after I clean it a bit -- basically copies the mkdir stuff from confdata.c at 614 to a separate function and re-uses before the rename() calls. ---------------------------------------------------------------------- chickenandporn - 07-05-07 07:03 ---------------------------------------------------------------------- http://bugs.uclibc.org/file_download.php?file_id=1071&type=bug tested on clean r19002 checkout from SVN. Tested on Linux (CentOS-4.4) and (intel) MacOSX-10.4.10. bjdooks, can you check the patch, and see if you can alter it to cover what you did as well, in case I missed something from your fix? ---------------------------------------------------------------------- bernhardf - 07-07-07 17:29 ---------------------------------------------------------------------- r19026 is supposed to work, please report back. TIA, ---------------------------------------------------------------------- chickenandporn - 07-09-07 09:20 ---------------------------------------------------------------------- per email, the changes to buildroot/Makefile override HOSTCFLAGS on the sub-make for conf and mconf; this breaks -DKBUILD_NO_NLS setting derived in $(CONFIG)/Makefile.kconfig Moving that Makefile.kconfig change to HOST_EXTRACFLAGS is a one-line workaround, tested OK on MacOSX, but not sure if it's the right path. My fix to r19026 is http://busybox.net/bugs/file_download.php?file_id=1075&type=bug, buildroot-confdata-fixes-r19026.patch ---------------------------------------------------------------------- bernhardf - 07-09-07 09:55 ---------------------------------------------------------------------- Can you do make -C package/config distclean and mail me the output of a subsequent 'make menuconfig', please? TIA, ---------------------------------------------------------------------- chickenandporn - 07-09-07 10:28 ---------------------------------------------------------------------- Yeah, will do. I'm currently carrying 6 patches, it'll take a bit of time. I want to reiterate: 1) my first fix solved it for me; not sure you looked at that 2) my second fix solved it for me; not sure you looked@that Note: second fix is a one-liner, and DOES RESOLVE. Not sure you looked at that. ---------------------------------------------------------------------- chickenandporn - 07-09-07 10:31 ---------------------------------------------------------------------- See also package/config/Makefile.kconfig: (this is the part this breaks) # Needed for systems without gettext KBUILD_HAVE_NLS := $(shell \ if echo "\#include <libintl.h>" | $(HOSTCC) $(HOSTCFLAGS) -E - > /dev/null 2>&1 ; \ then echo yes ; \ else echo no ; fi) ifeq ($(KBUILD_HAVE_NLS),no) HOSTCFLAGS += -DKBUILD_NO_NLS endif (heres my patch that fixes it, attached already as a file) Index: package/config/Makefile.kconfig ===================================================================
--- package/config/Makefile.kconfig (revision 19054)
+++ package/config/Makefile.kconfig (working copy)@@ -147,7 +147,7 @@ then echo yes ; \ else echo no ; fi) ifeq ($(KBUILD_HAVE_NLS),no) -HOSTCFLAGS += -DKBUILD_NO_NLS +HOST_EXTRACFLAGS += -DKBUILD_NO_NLS endif # generated files seem to need this to find local include files ---------------------------------------------------------------------- chickenandporn - 07-09-07 11:19 ----------------------------------------------------------------------
(over checkout of r19054)
patching file target/device/Soekris/net4521/linux.mk
patching file target/device/Via/epia-mii/linux.mk
patching file target/device/Sharp/LNode80/linux.mk
patching file package/openssl/openssl.mk
patching file Makefile
patching file package/config/foo.h
patching file toolchain/gcc/4.2.0/500-bsd-no-map_anonymous.patch
patching file toolchain/dependencies/dependencies.sh
patching file toolchain/dependencies/dependencies.mk
patching file package/make/make.mk
patching file toolchain/dependencies/check-host-make.sh
patching file toolchain/uClibc/uClibc-0.9.28-no-cp-d.patch
:~/src/buildroot Allan$ chmod +x
toolchain/dependencies/check-host-make.sh
:~/src/buildroot Allan$ make menuconfig
make CC="/usr/bin/gcc" HOSTCFLAGS="-g -O2" MAKECMDGOALS="menuconfig" \
-C package/config conf mconf
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE -g -O2 -MM *.c > .depend
2>/dev/null || :
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE -g -O2 -c conf.c -o
conf.o
In file included from conf.c:15:
lkc.h:12:22: error: libintl.h: No such file or directory
conf.c: In function 'check_stdin':
conf.c:60: warning: incompatible implicit declaration of built-in function
'gettext'
conf.c: In function 'check_conf':
conf.c:483: warning: incompatible implicit declaration of built-in
function 'gettext'
conf.c: In function 'main':
conf.c:515: warning: incompatible implicit declaration of built-in
function 'gettext'
conf.c:541: warning: incompatible implicit declaration of built-in
function 'gettext'
conf.c:559: warning: incompatible implicit declaration of built-in
function 'gettext'
conf.c:606: warning: incompatible implicit declaration of built-in
function 'gettext'
conf.c:617: warning: incompatible implicit declaration of built-in
function 'gettext'
conf.c:622: warning: incompatible implicit declaration of built-in
function 'gettext'
make[1]: *** [conf.o] Error 1
make: *** [package/config/mconf] Error 2
Issue History
Date Modified Username Field Change
======================================================================
07-02-07 04:56 bjdooks New Issue
07-02-07 04:56 bjdooks Status new => assigned
07-02-07 04:56 bjdooks Assigned To => buildroot
07-02-07 04:58 bjdooks Note Added: 0002542
07-02-07 18:05 bjdooks Note Added: 0002545
07-02-07 18:05 bjdooks File Added: buildroot-fix-menuconfig.patch
07-02-07 18:07 bjdooks Note Added: 0002546
07-03-07 12:11 chickenandporn Note Added: 0002553
07-05-07 06:57 chickenandporn File Added: buildroot-confdata-mkdirhier.patch
07-05-07 07:02 chickenandporn Note Added: 0002556
07-05-07 07:03 chickenandporn Note Edited: 0002556
07-05-07 07:41 chickenandporn Issue Monitored: chickenandporn
07-07-07 17:29 bernhardf Note Added: 0002563
07-09-07 09:17 chickenandporn Note Added: 0002582
07-09-07 09:19 chickenandporn File Added: buildroot-confdata-fixes-r19026.patch
07-09-07 09:20 chickenandporn Note Edited: 0002582
07-09-07 09:55 bernhardf Note Added: 0002583
07-09-07 10:28 chickenandporn Note Added: 0002584
07-09-07 10:29 chickenandporn Note Added: 0002585
07-09-07 10:31 chickenandporn Note Edited: 0002585
07-09-07 11:19 chickenandporn Note Added: 0002586
======================================================================