uml: Check for glibc static libraries
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 23 May 2017 02:35:00 +0000 (19:35 -0700)
committerFlorian Fainelli <f.fainelli@gmail.com>
Fri, 26 May 2017 22:43:22 +0000 (15:43 -0700)
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@gmail.com>
target/linux/uml/image/Makefile

index 8e83bfeecc3c19057c6234c5e7057194a9c59925..c8ed874d151d38a03e68b7d4a8b127649c64bf05 100644 (file)
@@ -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))