[Buildroot] [PATCH 1/2] target/ubifs: fix compilation
Peter Korsgaard
jacmet at uclibc.org
Sun Jul 19 14:06:58 UTC 2009
>>>>> "Daniel" == Daniel Mack <daniel at caiaq.de> writes:
Hi,
Sorry for the slow response..
Daniel> The ubifs rootfs target does not currently build because the
Daniel> repository listed in ubifsroot.mk does not exist
Daniel> anymore. Consequently, the used tag is also wrong.
Daniel> As the code base for mtd utils seem to have been merged in
Daniel> the past, there are dependencies between ubi-utils,
Daniel> mkfs.ubifs and the mtd core now, so we have no other option
Daniel> than building the whole thing.
Daniel> WITHOUT_XATTR was added to the make parameters because it did
Daniel> not build on my system without that. Maybe that should become
Daniel> a auto* variable dependency in the future.
Daniel> BUILDDIR is needed by the mtd-utils Makefile, otherwise built
Daniel> object files are put to $(PWD) which is the toplevel br2
Daniel> path.
Daniel> MKFS_UBIFS_BINARY was added to ease the path chaos a bit.
Daniel> Signed-off-by: Daniel Mack <daniel at caiaq.de>
Daniel> ---
Daniel> target/ubifs/ubifsroot.mk | 21 +++++++++++----------
We'll also need to remove the 'depends on BROKEN' from Config.in
Daniel> 1 files changed, 11 insertions(+), 10 deletions(-)
Daniel> diff --git a/target/ubifs/ubifsroot.mk b/target/ubifs/ubifsroot.mk
Daniel> index 1707e46..d14bde1 100644
Daniel> --- a/target/ubifs/ubifsroot.mk
Daniel> +++ b/target/ubifs/ubifsroot.mk
Daniel> @@ -5,12 +5,13 @@
Daniel> #############################################################
Daniel> #MKFS_UBIFS_VERSION=2582f128dad78591bc3adcc87c343c690bb82e61
Daniel> #MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=$(MKFS_UBIFS_VERSION);sf=tgz
Daniel> -MKFS_UBIFS_VERSION=v0.4
Daniel> -MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=refs/tags/mkfs.ubifs-$(MKFS_UBIFS_VERSION);sf=tgz
Daniel> -MKFS_UBIFS_SOURCE:=mkfs.ubifs-$(MKFS_UBIFS_VERSION).tar.gz
Daniel> -MKFS_UBIFS_DIR:= $(BUILD_DIR)/mkfs-ubifs-$(MKFS_UBIFS_VERSION)
Daniel> -MKFS_UBIFS_CAT:=$(ZCAT)
Daniel> -MKFS_UBIFS_NAME:=mkfs.ubifs
Daniel> +MKFS_UBIFS_VERSION=HEAD
Daniel> +MKFS_UBIFS_URL=http://git.infradead.org/mtd-utils.git?a=snapshot\;h=$(MKFS_UBIFS_VERSION)\;sf=tgz
Why the backslashes? Wget here adds them to the URL:
--2009-07-19 15:54:50--
http://git.infradead.org/mtd-utils.git?a=snapshot%5C;h=HEAD%5C;sf=tgz
Which obviously fails.
Daniel> +MKFS_UBIFS_SOURCE=mtd-utils-$(MKFS_UBIFS_VERSION).tar.gz
Daniel> +MKFS_UBIFS_DIR=$(BUILD_DIR)/mkfs-utils-ubifs
Daniel> +MKFS_UBIFS_CAT=$(ZCAT)
Daniel> +MKFS_UBIFS_NAME=mtd-utils
Daniel> +MKFS_UBIFS_BINARY=$(MKFS_UBIFS_DIR)/mkfs.ubifs/mkfs.ubifs
Daniel> $(DL_DIR)/$(MKFS_UBIFS_SOURCE):
Daniel> $(WGET) -O $(DL_DIR)/$(MKFS_UBIFS_SOURCE) "$(MKFS_UBIFS_URL)"
Daniel> @@ -21,14 +22,14 @@ $(MKFS_UBIFS_DIR)/.unpacked: $(DL_DIR)/$(MKFS_UBIFS_SOURCE)
Daniel> toolchain/patch-kernel.sh $(MKFS_UBIFS_DIR) target/ubifs/ mkfs-ubifs-\*.patch
Daniel> touch $@
Daniel> -$(MKFS_UBIFS_DIR)/mkfs.ubifs: $(MKFS_UBIFS_DIR)/.unpacked
Daniel> - $(MAKE) -C $(MKFS_UBIFS_DIR)
Daniel> +$(MKFS_UBIFS_BINARY): $(MKFS_UBIFS_DIR)/.unpacked
Daniel> + $(MAKE) -j1 -C $(MKFS_UBIFS_DIR) BUILDDIR=$(MKFS_UBIFS_DIR) WITHOUT_XATTR=1
We have MAKE1 for this.
The build breaks if you don't have liblzo development headers on the
build host:
gcc -I./include -DWITHOUT_XATTR -D_FILE_OFFSET_BITS=64 -O2 -g -Wall -Wextra -Wwrite-strings -Wno-sign-compare -c -o /tmp/br/i686/build_i686/mkfs-utils-ubifs/compr_lzo.o compr_lzo.c -g -Wp,-MD,/tmp/br/i686/build_i686/mkfs-utils-ubifs/.compr_lzo.c.dep
compr_lzo.c:29:23: error: lzo/lzo1x.h: No such file or directory
compr_lzo.c: In function ‘jffs2_lzo_cmpr’:
compr_lzo.c:51: error: ‘lzo_uint’ undeclared (first use in this function)
compr_lzo.c:51: error: (Each undeclared identifier is reported only once
compr_lzo.c:51: error: for each function it appears in.)
I really think the proper solution is to build the ubifs tools for the
host in the mtd-utils package like we do for mkfs.jffs2. Now, if the
mtd guys would put out a 1.3 release with all the new stuff it would
be even better.
Care to fix this and resend?
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list