dtc: broken for static builds
PATCH 1/1 dtc: broken for static builds
dtc package has hardcoded shared lib link options in the Makefile, so it will fail if you try to build it on a static lib environment.
--- package/dtc/Config.in | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
package/dtc/Config.in +4 -0
@@ -1,5 +1,6 @@ config BR2_PACKAGE_DTC bool "dtc (libfdt)" + depends on !BR2_PREFER_STATIC_LIB help The Device Tree Compiler, dtc, takes as input a device-tree in a given format and outputs a device-tree in another format.
@@ -9,6 +10,9 @@ config BR2_PACKAGE_DTC http://git.jdl.com/gitweb/?p=dtc.git (no home page) +comment "dtc needs a toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIB + if BR2_PACKAGE_DTC config BR2_PACKAGE_DTC_PROGRAMS
Signature · 1 line
1.7.1
PATCH 1/1 dtc: broken for static builds
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Vicente" == Vicente Olivert Riera <[email protected]> writes:
dtc package has hardcoded shared lib link options in the
Makefile, so it will fail if you try to build it on a static lib environment.
Really? I just did a quick test build and it seems to work here:
file output/target/usr/bin/dtc
output/target/usr/bin/dtc: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 dtc: broken for static builds
Quoted 11 lines · Peter Korsgaard
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Vicente" == Vicente Olivert Riera <[email protected]> writes:
dtc package has hardcoded shared lib link options in the
Makefile, so it will fail if you try to build it on a static lib environment.Really? I just did a quick test build and it seems to work here:
file output/target/usr/bin/dtc
output/target/usr/bin/dtc: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
I have tried right now with a simple buildroot configuration for x86_64 and it fails. Please, try to reproduce it following these steps:
-make clean
-make distclean
-make menuconfig
(choose x86_64 target)
(choose prefer static libs)
(choose dtc package)
-save changes
-make
Signature · 1 line
Vincent
PATCH 1/1 dtc: broken for static builds
Quoted 24 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Vicente" == Vicente Olivert Riera <[email protected]> writes:
Quoted 10 lines · Peter Korsgaard
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Vicente" == Vicente Olivert Riera <[email protected]> writes:
dtc package has hardcoded shared lib link options in the
Makefile, so it will fail if you try to build it on a static lib environment.Really? I just did a quick test build and it seems to work here:
file output/target/usr/bin/dtc
output/target/usr/bin/dtc: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, strippedI have tried right now with a simple buildroot configuration for
x86_64and it fails. Please, try to reproduce it following these steps:(quoted diff) +0
-3-make clean -make distclean -make menuconfig(choose
x86_64target)
(choose prefer static libs)
(choose dtc package)
Review
Quoted 2 lines
(quoted diff) +0
-2-save changes -make
Ahh yes, I do see it on x86-64. Thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 dtc: broken for static builds
Dear Peter Korsgaard,
Quoted 4 lines · Peter Korsgaard
Quoted 3 lines
I have tried right now with a simple buildroot configuration for
x86_64and it fails. Please, try to reproduce it following these steps:
Quoted 10 lines
Review
Quoted 8 lines
(quoted diff) +0
-3-make clean -make distclean -make menuconfig(choose
x86_64target)
(choose prefer static libs)
(choose dtc package)(quoted diff) +0
-2-save changes -makeAhh yes, I do see it on x86-64. Thanks.
What did you see on x86-64 exactly? Wasn't it related to libstdc++.a not being generated by the internal toolchain backend?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 dtc: broken for static builds
Quoted 17 lines · Thomas Petazzoni
Dear Peter Korsgaard,
Quoted 13 lines · Peter Korsgaard
Quoted 12 lines
I have tried right now with a simple buildroot configuration for
x86_64and it fails. Please, try to reproduce it following these steps:(quoted diff) +0
-3-make clean -make distclean -make menuconfig(choose
x86_64target)
(choose prefer static libs)
(choose dtc package)(quoted diff) +0
-2-save changes -make
Quoted 4 lines
Quoted 1 line
Ahh yes, I do see it on x86-64. Thanks.
What did you see on x86-64 exactly? Wasn't it related to libstdc++.a not being generated by the internal toolchain backend?
Hello Thomas,
here you have the log: http://www.pastebin.ca/2601975
Best wishes,
--
Vincent
PATCH 1/1 dtc: broken for static builds
In reply to Thomas PetazzoniQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Hi,
Quoted 4 lines
Quoted 1 line
Ahh yes, I do see it on x86-64. Thanks.
What did you see on x86-64 exactly? Wasn't it related to libstdc++.a not being generated by the internal toolchain backend?
Sorry, I don't recall the details, but I think the issue was with it trying to create a shared library and not building the object files with fPIC.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 dtc: broken for static builds
Hi Peter,
Quoted 8 lines · Peter Korsgaard
Quoted 5 lines
Quoted 2 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Ahh yes, I do see it on x86-64. Thanks.
What did you see on x86-64 exactly? Wasn't it related to libstdc++.a not being generated by the internal toolchain backend?
Sorry, I don't recall the details, but I think the issue was with it trying to create a shared library and not building the object files with fPIC.
I guess Thomas refers to 7d6c79ed887e (Compile static versions of gcc libraries). Before that libstdc++.a was not provided by the internal toolchain.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH 1/1 dtc: broken for static builds
In reply to Vicente Olivert RieraQuoted 22 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Vicente" == Vicente Olivert Riera <[email protected]> writes:
dtc package has hardcoded shared lib link options in the
Makefile, so it will fail if you try to build it on a static lib environment.Signed-off-by Vicente Olivert Riera <[email protected]>--- package/dtc/Config.in | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)package/dtc/Config.in +1
-0@@ -1,5 +1,6 @@ config BR2_PACKAGE_DTC bool "dtc (libfdt)" + depends on !BR2_PREFER_STATIC_LIB help The Device Tree Compiler, dtc, takes as input a device-tree in a given format and outputs a device-tree in another format.
package/dtc/Config.in config BR2_PACKAGE_DTC · line 15
Quoted 6 lines
package/dtc/Config.in +3
-0@@ -9,6 +10,9 @@ config BR2_PACKAGE_DTC http://git.jdl.com/gitweb/?p=dtc.git (no home page) +comment "dtc needs a toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIB +
Committed with the comment moved below the DTC_PROGRAMS suboption so that one get indented correctly in menuconfig, thanks.
Quoted 11 lines
package/dtc/Config.in +0
-0if BR2_PACKAGE_DTC config BR2_PACKAGE_DTC_PROGRAMSSignature · 7 lines
1.7.1 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 1 line
Bye, Peter Korsgaard