AppOps: LD_LIBRARY_PATH hack for xmllint

Apparently the Android build system is doing some LD_LIBRARY_PATH
shenanigans that causes build issues on Linux hosts using incompatible
C/C++ standard library ABI versions, for example.  This causes xmllint
to refuse to run on an Ubuntu 15.04 host.  The exact error message in
this case is:

    xmllint: prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8/x86_64-linux/lib64/libstdc++.so.6: \
        version `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libicuuc.so.52)

Apply an LD_LIBRARY_PATH hack of our own to make sure the host standard
c++ library is used while running xmllint.

Change-Id: I13dc8918a27045eda64e0b5b2cfaa14171e5b6df
This commit is contained in:
Mitchel Humpherys 2016-07-11 14:04:55 -07:00 committed by David Ng
parent fc3a2aa506
commit 2f0effe6cc
1 changed files with 2 additions and 5 deletions

View File

@ -1,7 +1,3 @@
define validate-xml-file
@echo "validating xml: $2"
@xmllint --noout --schema $1 $2
endef
LOCAL_PATH:= $(call my-dir)
#######################################
@ -13,7 +9,8 @@ include $(BUILD_SYSTEM)/base_rules.mk
$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/appops_policy.xml $(APPOPS_POLICY_XSD_FILE) $(ACP)
@echo Validating $<
@xmllint --noout --schema $(APPOPS_POLICY_XSD_FILE) $<
@LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu xmllint \
--noout --schema $(APPOPS_POLICY_XSD_FILE) $<
$(copy-file-to-target)
#######################################