Package: libclang-common-3.8-dev Version: 1:3.8.1-2 Hello,
this is a continuation of Bug Report 771380 (since I dont think it will be fixed back there). https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771380 The issue is that you can only install 1 architecture version of the libraries, producing an i386 executable with sanitizer or rt library would need the i386 version installed - this is not possible, atleast nor as long the amd64 version is installed. The solution is to split up the architecture-dependend files into a own package and set the multiarch flags correctly. I did a patch to demonstrate this, I am sure you might find better names. Thus, installing clang with the i386 libraries could be done simpy by: apt-get install clang-3.8 libclang-common-3.8-dev:i386 Kind Regards, Norbert
diff -burN oldfiles/control newfiles/control --- oldfiles/control 2016-06-30 14:52:42.000000000 +0200 +++ newfiles/control 2016-07-02 23:47:15.050271000 +0200 @@ -141,9 +141,10 @@ Package: libclang-common-3.8-dev Architecture: any +Multi-Arch: same Section: libdevel -Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.8 (= ${binary:Version}) -Description: clang library - Common development package +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.8 (= ${binary:Version}), libclang-headers-3.8-dev (= ${binary:Version}) +Description: clang library - Common development libraries Clang project is a C, C++, Objective C and Objective C++ front-end for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler Collection (GCC). @@ -152,9 +153,24 @@ well as the upcoming C++14 standard, and some parts of the fledgling C++1z standard, and is considered a production-quality C++ compiler. . - This package contains the clang generic headers and some libraries + This package contains the static clang target libraries (profiling, etc). +Package: libclang-headers-3.8-dev +Architecture: all +Multi-Arch: foreign +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm3.8 (= ${binary:Version}) +Description: clang library - Common development headers + Clang project is a C, C++, Objective C and Objective C++ front-end + for the LLVM compiler. Its goal is to offer a replacement to the GNU Compiler + Collection (GCC). + . + Clang fully implements all published ISO C++ standards including C++11, as + well as the upcoming C++14 standard, and some parts of the fledgling C++1z + standard, and is considered a production-quality C++ compiler. + . + This package contains the clang generic headers Package: python-clang-3.8 Section: python diff -burN oldfiles/libclang-common-X.Y-dev.install.in newfiles/libclang-common-X.Y-dev.install.in --- oldfiles/libclang-common-X.Y-dev.install.in 2016-03-04 17:55:18.000000000 +0100 +++ newfiles/libclang-common-X.Y-dev.install.in 2016-07-02 23:23:33.000000000 +0200 @@ -1,7 +1,7 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include +#usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/*.txt +#usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/*.txt #usr/lib/clang/@LLVM_VERSION_FULL@/lib /usr/lib/clang/@LLVM_VERSION@/ #usr/lib/clang/@LLVM_VERSION_FULL@/include/ /usr/include/clang/@LLVM_VERSION@/ diff -burN oldfiles/libclang-common-X.Y-dev.links.in newfiles/libclang-common-X.Y-dev.links.in --- oldfiles/libclang-common-X.Y-dev.links.in 2016-03-04 17:55:18.000000000 +0100 +++ newfiles/libclang-common-X.Y-dev.links.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION@/include -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION@/include -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION@/lib -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION_FULL@/include -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION_FULL@/include -usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION_FULL@/lib - diff -burN oldfiles/libclang-headers-X.Y-dev.install.in newfiles/libclang-headers-X.Y-dev.install.in --- oldfiles/libclang-headers-X.Y-dev.install.in 1970-01-01 01:00:00.000000000 +0100 +++ newfiles/libclang-headers-X.Y-dev.install.in 2016-07-03 01:26:04.901696000 +0200 @@ -0,0 +1,7 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include + +#usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/*.txt + +#usr/lib/clang/@LLVM_VERSION_FULL@/lib /usr/lib/clang/@LLVM_VERSION@/ +#usr/lib/clang/@LLVM_VERSION_FULL@/include/ /usr/include/clang/@LLVM_VERSION@/ diff -burN oldfiles/libclang-headers-X.Y-dev.links.in newfiles/libclang-headers-X.Y-dev.links.in --- oldfiles/libclang-headers-X.Y-dev.links.in 1970-01-01 01:00:00.000000000 +0100 +++ newfiles/libclang-headers-X.Y-dev.links.in 2016-03-04 17:55:18.000000000 +0100 @@ -0,0 +1,7 @@ +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION@/include +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION@/include +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION@/lib +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/include/clang/@LLVM_VERSION_FULL@/include +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include usr/lib/clang/@LLVM_VERSION_FULL@/include +usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/lib usr/lib/clang/@LLVM_VERSION_FULL@/lib + diff -burN oldfiles/rules newfiles/rules --- oldfiles/rules 2016-06-26 08:33:04.000000000 +0200 +++ newfiles/rules 2016-07-03 10:36:33.325230000 +0200 @@ -420,12 +420,12 @@ # Manage the polly files. Sometimes, we build them. Sometimes not. if test "$(POLLY_ENABLE)" = yes; then \ - mkdir -p $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/ $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly/; \ + mkdir -p $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/ $(CURDIR)/debian/libclang-headers-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly/; \ mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libpolly* \ $(CURDIR)/debian/libclang-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/; \ - rm -rf $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly; \ + rm -rf $(CURDIR)/debian/libclang-headers-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/polly; \ mv -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/include/polly/ \ - $(CURDIR)/debian/libclang-common-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/; \ + $(CURDIR)/debian/libclang-headers-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/; \ fi # Delete the target build directory to save some space on the build systems