[source] uml: Check for glibc static libraries

LEDE Commits lede-commits at lists.infradead.org
Fri May 26 15:44:06 PDT 2017


florian pushed a commit to source.git, branch master:
https://git.lede-project.org/e8c3b9897363641614bcb461b6ca704b95422da6

commit e8c3b9897363641614bcb461b6ca704b95422da6
Author: Florian Fainelli <f.fainelli at gmail.com>
AuthorDate: Mon May 22 19:35:00 2017 -0700

    uml: Check for glibc static libraries
    
    UML statically links against libutil, librt and libpthread. Some hosts do not
    necessarily have these libraries installed and we should find out sooner than
    later (during the final vmlinux linking stage) about that.
    
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
---
 target/linux/uml/image/Makefile | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/target/linux/uml/image/Makefile b/target/linux/uml/image/Makefile
index 8e83bfe..c8ed874 100644
--- a/target/linux/uml/image/Makefile
+++ b/target/linux/uml/image/Makefile
@@ -22,3 +22,14 @@ define Image/Build
 endef
 
 $(eval $(call BuildImage))
+
+# UML requires linking against several glibc static libraries: libutil, librt
+# and libpthread, check that here. We do not check against libpthread
+# specifically because getting something to build that references a libpthread
+# symbol is pretty involved and Linux distributions package these 3 libraries
+# in the same package.
+
+$(eval $(call TestHostCommand,glibc-static, \
+	Please install a static glibc package. (Missing libutil.a, librt.a or libpthread.a), \
+	echo 'int main(int argc, char **argv) { login(0); timer_gettime(0, 0); return 0; }' | \
+		gcc -include utmp.h -x c -o $(TMP_DIR)/a.out - -static -lutil -lrt))



More information about the lede-commits mailing list