[Buildroot] [PATCH] elfutils: disable for static builds
Vicente Olivert Riera
Vincent.Riera at imgtec.com
Wed Nov 5 10:42:46 UTC 2014
Even when doing static builds, a shared library is built. This causes a
build failure under some circumstances, for instance when building for
MIPS + uClibc + static.
After asking upstream if it would be possible to add a configure option
to not build the shared library, the answer was that doing a static
build is not a good idea. Here is a small snippet of the conversation:
"Note that fully static builds are problematic. elfutils uses dlopen to
open the EBL backends (the CPU-specific support snippets), so even if
you link statically, the final binaries are still considerably dynamic."
Related:
https://lists.fedorahosted.org/pipermail/elfutils-devel/2014-November/004223.html
Fixes:
http://autobuild.buildroot.net/results/691/6913f5af6519463fbed39ef37b6a40ecf6a67b54/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera at imgtec.com>
---
package/avrdude/Config.in | 5 +++--
package/elfutils/Config.in | 5 +++--
package/kexec-lite/Config.in | 2 +-
package/ltrace/Config.in | 5 +++--
4 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/package/avrdude/Config.in b/package/avrdude/Config.in
index 7d9f5eb..84bd091 100644
--- a/package/avrdude/Config.in
+++ b/package/avrdude/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_AVRDUDE
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_LARGEFILE # elfutils
depends on BR2_USE_WCHAR # elfutils
+ depends on !BR2_PREFER_STATIC_LIB # elfutils
depends on !BR2_avr32 # elfutils
depends on !BR2_bfin # elfutils
help
@@ -15,7 +16,7 @@ config BR2_PACKAGE_AVRDUDE
https://github.com/kcuzner/avrdude
-comment "avrdude needs a toolchain w/ threads, largefile, wchar"
- depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE || !BR2_USE_WCHAR
+comment "avrdude needs a toolchain w/ threads, largefile, wchar, dynamic library"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
depends on !BR2_avr32
depends on !BR2_bfin
diff --git a/package/elfutils/Config.in b/package/elfutils/Config.in
index 20a1aaa..5d6e659 100644
--- a/package/elfutils/Config.in
+++ b/package/elfutils/Config.in
@@ -1,7 +1,7 @@
-comment "elfutils needs a toolchain w/ largefile, wchar"
+comment "elfutils needs a toolchain w/ largefile, wchar, dynamic library"
depends on !BR2_avr32
depends on !BR2_bfin
- depends on !BR2_LARGEFILE || !BR2_USE_WCHAR
+ depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
config BR2_PACKAGE_ELFUTILS
bool "elfutils"
@@ -9,6 +9,7 @@ config BR2_PACKAGE_ELFUTILS
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
+ depends on !BR2_PREFER_STATIC_LIB
# canonicalize_file_name() not available on uClibc 0.9.31, used
# only for AVR32
depends on !BR2_avr32
diff --git a/package/kexec-lite/Config.in b/package/kexec-lite/Config.in
index e98ad3a..8db6058 100644
--- a/package/kexec-lite/Config.in
+++ b/package/kexec-lite/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_KEXEC_LITE
bool "kexec-lite"
depends on BR2_powerpc || BR2_powerpc64
- depends on !BR2_PREFER_STATIC_LIB # dtc
+ depends on !BR2_PREFER_STATIC_LIB # dtc, elfutils
depends on BR2_LARGEFILE # elfutils
depends on BR2_USE_WCHAR # elfutils
select BR2_PACKAGE_ELFUTILS
diff --git a/package/ltrace/Config.in b/package/ltrace/Config.in
index dc759d8..08edd45 100644
--- a/package/ltrace/Config.in
+++ b/package/ltrace/Config.in
@@ -9,6 +9,7 @@ config BR2_PACKAGE_LTRACE
select BR2_PACKAGE_ELFUTILS
depends on BR2_LARGEFILE # elfutils
depends on BR2_USE_WCHAR # elfutils
+ depends on !BR2_PREFER_STATIC_LIB # elfutils
help
Debugging program which runs a specified command until it exits.
While the command is executing, ltrace intercepts and records
@@ -17,5 +18,5 @@ config BR2_PACKAGE_LTRACE
http://ltrace.org
-comment "ltrace needs toolchain w/ largefile, wchar"
- depends on !BR2_LARGEFILE || !BR2_USE_WCHAR
+comment "ltrace needs toolchain w/ largefile, wchar, dynamic library"
+ depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_PREFER_STATIC_LIB
--
1.7.1
More information about the buildroot
mailing list