mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-24 05:53:30 +08:00
5be059c5ae
The acl and attr packages are using autoconf and libtool, but not automake, which causes all sort of troubles. Some of them are already worked around in acl.mk and attr.mk, but there is another one: the libdir variable in the .la file remains empty, which causes libtool to sometimes be confused about where the acl and attr libraries are installed. This was causing build issues with libarchive, but interestingly only in situations where we had zlib *and* libxml2 also part of the build, which maybe affects how libtool in libarchive behaves since libarchive can use zlib and libxml2 as optional dependencies. So what this patch does is to mungle the libattr.la and libacl.la files to make sure they contain the right libdir values. Yocto is doing exactly the same thing. Upstream attr and acl have been converted fully to automake, so hopefully the upcoming upstream release will allow us to get rid of those hacks, but in the mean time, it seems to be the most appropriate solution. Here is a minimal defconfig that exhibits the problem, and which allows to show that this patch fixes it: BR2_bfin=y BR2_BINFMT_FLAT=y BR2_COMPILER_PARANOID_UNSAFE_PATH=y BR2_INIT_NONE=y BR2_PACKAGE_LIBARCHIVE=y BR2_PACKAGE_LIBARCHIVE_BSDCPIO=y BR2_PACKAGE_ZLIB=y BR2_PACKAGE_LIBXML2=y BR2_PACKAGE_ACL=y Fixes: http://autobuild.buildroot.org/results/e96/e96c8bec1039d9fe8c6c51fd48b6be0dc8be51d7/ (and many, many similar build failures) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
.defconfig | ||
.gitignore | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on Freenode IRC.