Create zlib installation directory in the staging dir
PATCH 1/1 Create zlib installation directory in the staging dir
Create zlib installation directory in the staging dir
A simple .config with just Busybox and zlib, using an external binary toolchain, leads to the following build failure:
touch -c /home/thomas/local/buildroot2/build_arm/zlib-1.2.3/libz.so
cp -dpf /home/thomas/local/buildroot2/build_arm/zlib-1.2.3/libz.a /home/thomas/local/buildroot2/build_arm/staging_dir/usr/lib/
cp: cannot create regular file `/home/thomas/local/buildroot2/build_arm/staging_dir/usr/lib/': Is a directory
make: *** [/home/thomas/local/buildroot2/build_arm/staging_dir/usr/lib/libz.so] Error 1
This is because no one creates $(STAGING_DIR)/usr/lib, and the installation of zlib is done manually. Fix that by creating $(STAGING_DIR)/usr/lib and $(STAGING_DIR)/usr/include in zlib installation target.
--- package/zlib/zlib.mk | 2 ++ 1 file changed, 2 insertions(+)
package/zlib/zlib.mk +2 -0
@@ -37,6 +37,8 @@ touch -c $@ $(STAGING_DIR)/usr/lib/libz.so: $(ZLIB_DIR)/libz.so + mkdir -p $(STAGING_DIR)/usr/lib/ + mkdir -p $(STAGING_DIR)/usr/include/ cp -dpf $(ZLIB_DIR)/libz.a $(STAGING_DIR)/usr/lib/ cp -dpf $(ZLIB_DIR)/zlib.h $(STAGING_DIR)/usr/include/ cp -dpf $(ZLIB_DIR)/zconf.h $(STAGING_DIR)/usr/include/
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/1 Create zlib installation directory in the staging dir
Quoted 30 lines · Thomas Petazzoni
Create zlib installation directory in the staging dir
A simple .config with just Busybox and zlib, using an external binary toolchain, leads to the following build failure:
touch -c
/home/thomas/local/buildroot2/build_arm/zlib-1.2.3/libz.so
cp -dpf/home/thomas/local/buildroot2/build_arm/zlib-1.2.3/libz.a/home/thomas/local/buildroot2/build_arm/staging_dir/usr/lib/
cp: cannot create regular file `/home/thomas/local/buildroot2/build_arm/staging_dir/usr/lib/': Is a directory
make: *** [/home/thomas/local/buildroot2/build_arm/staging_dir/usr/lib/libz.so] Error 1This is because no one creates $(STAGING_DIR)/usr/lib, and the installation of zlib is done manually. Fix that by creating $(STAGING_DIR)/usr/lib and $(STAGING_DIR)/usr/include in zlib installation target.
Signed-off-by Thomas Petazzoni <[email protected]>---
package/zlib/zlib.mk| 2 ++1 file changed, 2 insertions(+)Index:
buildroot2/package/zlib/zlib.mk
===================================================================package/zlib/zlib.mk +0
-0@@ -37,6 +37,8 @@ touch -c $@$(STAGING_DIR)/usr/lib/libz.so: $(ZLIB_DIR)/libz.so
package/zlib/zlib.mk +2
-0+ mkdir -p $(STAGING_DIR)/usr/lib/ + mkdir -p $(STAGING_DIR)/usr/include/
Quoted 3 lines
cp -dpf $(ZLIB_DIR)/libz.a $(STAGING_DIR)/usr/lib/ cp -dpf $(ZLIB_DIR)/zlib.h $(STAGING_DIR)/usr/include/ cp -dpf $(ZLIB_DIR)/zconf.h $(STAGING_DIR)/usr/include/
$(INSTALL) -D $(ZLIB_DIR)/libz.a $(STAGING_DIR)/usr/lib/libz.a $(INSTALL) -D $(ZLIB_DIR)/zlib.h $(STAGING_DIR)/usr/include/zlib.h $(INSTALL) $(ZLIB_DIR)/zconf.h $(STAGING_DIR)/usr/include/zconf.h
fixed.
Thiago A. Corrêa
AppliedPATCH 1/1 Create zlib installation directory in the staging dir
Applied in r23879.
Thanks.
PATCH 1/1 Create zlib installation directory in the staging dir
Quoted 1 line · Thiago A. Corr?a
Applied in r23879.
You applied something different, fwiw. But it doesn't matter much, you're building zlib incorrectly anyway *shrug* i've fixed this now..
PATCH 1/1 Create zlib installation directory in the staging dir
Quoted 6 lines · Bernhard Reutner-Fischer
Quoted 1 line · Thiago A. Corr?a
Applied in r23879.
You applied something different, fwiw. But it doesn't matter much, you're building zlib incorrectly anyway *shrug* i've fixed this now..
Diff between svn and git gives me:
-$(TARGET_DIR)/usr/lib/libz.a: $(STAGING_DIR)/usr/lib/libz.so
- $(INSTALL) -D $(STAGING_DIR)/usr/include/zlib.h
$(TARGET_DIR)/usr/include/
- $(INSTALL) $(STAGING_DIR)/usr/include/zconf.h $(TARGET_DIR)/usr/include/
- $(INSTALL) -D $(STAGING_DIR)/usr/lib/libz.a $(TARGET_DIR)/usr/lib/
+$(TARGET_DIR)/usr/lib/libz.a: $(STAGING_DIR)/usr/lib/libz.so.$(ZLIB_VERSION)
+ mkdir -p $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/lib
+ cp -dpf $(STAGING_DIR)/usr/include/zlib.h $(TARGET_DIR)/usr/include/
+ cp -dpf $(STAGING_DIR)/usr/include/zconf.h $(TARGET_DIR)/usr/include/
+ cp -dpf $(STAGING_DIR)/usr/lib/libz.a $(TARGET_DIR)/usr/lib/
+ rm -f $(TARGET_DIR)/lib/libz.so $(TARGET_DIR)/usr/lib/libz.so
+ ln -sf libz.so.$(ZLIB_VERSION) $(TARGET_DIR)/usr/lib/libz.so
touch -c $@Why not use $(INSTALL) here? That's what I did in addition to that point where you and Thomas pointed out.
PATCH 1/1 Create zlib installation directory in the staging dir
Quoted 25 lines · Thiago A. Corr?a
Quoted 6 lines · Bernhard Reutner-Fischer
Quoted 1 line · Thiago A. Corr?a
Applied in r23879.
You applied something different, fwiw. But it doesn't matter much, you're building zlib incorrectly anyway *shrug* i've fixed this now..
Diff between svn and git gives me:
-$(TARGET_DIR)/usr/lib/libz.a: $(STAGING_DIR)/usr/lib/libz.so
- $(INSTALL) -D $(STAGING_DIR)/usr/include/zlib.h
$(TARGET_DIR)/usr/include/(quoted diff) +7
-2- $(INSTALL) $(STAGING_DIR)/usr/include/zconf.h $(TARGET_DIR)/usr/include/ - $(INSTALL) -D $(STAGING_DIR)/usr/lib/libz.a $(TARGET_DIR)/usr/lib/ +$(TARGET_DIR)/usr/lib/libz.a: $(STAGING_DIR)/usr/lib/libz.so.$(ZLIB_VERSION) + mkdir -p $(TARGET_DIR)/usr/include $(TARGET_DIR)/usr/lib + cp -dpf $(STAGING_DIR)/usr/include/zlib.h $(TARGET_DIR)/usr/include/ + cp -dpf $(STAGING_DIR)/usr/include/zconf.h $(TARGET_DIR)/usr/include/ + cp -dpf $(STAGING_DIR)/usr/lib/libz.a $(TARGET_DIR)/usr/lib/ + rm -f $(TARGET_DIR)/lib/libz.so $(TARGET_DIR)/usr/lib/libz.so + ln -sf libz.so.$(ZLIB_VERSION) $(TARGET_DIR)/usr/lib/libz.so touch -c $@
Quoted 2 lines
Why not use $(INSTALL) here? That's what I did in addition to that point where you and Thomas pointed out.
I overlooked that you creaded the dirs before installing the files, so this is ok, sorry.