Your message dated Thu, 13 Sep 2018 12:35:30 +0000
with message-id <[email protected]>
and subject line Bug#908646: fixed in llvm-toolchain-6.0 1:6.0.1-8
has caused the Debian Bug report #908646,
regarding llvm-toolchain-7: Inverted logic for POLLY_ENABLE and OPENMP_ENABLE
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
908646: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908646
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: llvm-toolchain-7
Version: 1:7~+rc3-1
Severity: normal

Hello!

The logic used for toggling polly and openmp in the debian/rules
file is inverted. It's currently using the Makefile "filter-out"
function which I actually never noticed before:

ifeq (,$(filter-out $(DEB_HOST_ARCH), powerpc powerpcspe s390x))
  POLLY_ENABLE=no
endif

From the GNU Make documentation [1].

"$(filter-out pattern…,text)"

"Returns all whitespace-separated words in text that do not match any
 of the pattern words, removing the words that do match one or more.
 This is the exact opposite of the filter function."

This means, that in our case above, "filter-out" will just remove
any strings matching "DEB_HOST_ARCH" in "powerpc powerpcpe s390x"
and then compare the resulting string with an empty string. So,
for example, if "DEB_HOST_ARCH" is "powerpc", the right string
will be reduced to "powerpcspe s390x" and then compared with
an empty string which will fail.

Thus, the ifeq-clause will never be true and POLLY_ENABLE will
never be disabled for the affected architectures. The same
applies to what is used for OPENMP_ENABLE.

If I replace "ifeq" with "ifneq" and "filter-out" with "filter",
the code works as intended and llvm-toolchain-6.0 builds fine for
on powerpc except that the dh_install step fails because of missing
cmake files:

dh_install --fail-missing
dh_install: Please use dh_missing --list-missing/--fail-missing instead
dh_install: This feature will be removed in compat 12.
dh_install: Cannot find (any matches for) 
"usr/lib/llvm-6.0/lib/cmake/polly/*.cmake" (tried in ., debian/tmp)

dh_install: libclang-common-6.0-dev missing files: 
usr/lib/llvm-6.0/lib/cmake/polly/*.cmake
dh_install: missing files, aborting
make[1]: *** [debian/rules:520: override_dh_install] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:180: binary-arch] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary-arch subprocess returned 
exit status 2

However, we would just have to adjust the corresponding install.in file
here to fix this issue. The behavior is the same with s390x.

I suggest the following patch for llvm-toolchain-7:

--- debian/rules.orig   2018-09-07 14:37:18.000000000 +0200
+++ debian/rules        2018-09-11 11:30:33.166678712 +0200
@@ -107,13 +107,13 @@
 
 # Enable polly (or not)
 POLLY_ENABLE=yes
-ifeq (,$(filter-out $(DEB_HOST_ARCH), powerpc powerpcspe s390x))
+ifneq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe s390x))
   POLLY_ENABLE=no
 endif
 
 # Enable openmp (or not)
 OPENMP_ENABLE=yes
-ifeq (,$(filter-out $(DEB_HOST_ARCH), powerpc powerpcspe riscv64 sparc64 
s390x))
+ifneq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe riscv64 sparc64 s390x))
   OPENMP_ENABLE=no
 endif

And the same patch for llvm-toolchain-6.0 with the openmp
hunk removed.

Plus, something figured out for install.in. Probably some sed
magic in debian/rules.

Adrian

> [1] https://www.gnu.org/software/make/manual/html_node/Text-Functions.html

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - [email protected]
`. `'   Freie Universitaet Berlin - [email protected]
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

--- End Message ---
--- Begin Message ---
Source: llvm-toolchain-6.0
Source-Version: 1:6.0.1-8

We believe that the bug you reported is fixed in the latest version of
llvm-toolchain-6.0, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
John Paul Adrian Glaubitz <[email protected]> (supplier of updated 
llvm-toolchain-6.0 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 12 Sep 2018 10:48:35 +0200
Source: llvm-toolchain-6.0
Binary: clang-6.0 clang-tools-6.0 clang-format-6.0 clang-tidy-6.0 clang-6.0-doc 
libclang1-6.0 libclang-6.0-dev libclang-common-6.0-dev libfuzzer-6.0-dev 
python-clang-6.0 clang-6.0-examples libllvm6.0 llvm-6.0 llvm-6.0-runtime 
llvm-6.0-dev llvm-6.0-tools llvm-6.0-doc llvm-6.0-examples lld-6.0 liblld-6.0 
liblld-6.0-dev lldb-6.0 liblldb-6.0 python-lldb-6.0 liblldb-6.0-dev
Architecture: source
Version: 1:6.0.1-8
Distribution: unstable
Urgency: medium
Maintainer: LLVM Packaging Team <[email protected]>
Changed-By: John Paul Adrian Glaubitz <[email protected]>
Description:
 clang-6.0  - C, C++ and Objective-C compiler
 clang-6.0-doc - C, C++ and Objective-C compiler - Documentation
 clang-6.0-examples - Clang examples
 clang-format-6.0 - Tool to format C/C++/Obj-C code
 clang-tidy-6.0 - clang-based C++ linter tool
 clang-tools-6.0 - clang-based tools for C/C++ developments
 libclang-6.0-dev - clang library - Development package
 libclang-common-6.0-dev - clang library - Common development package
 libclang1-6.0 - C interface to the clang library
 libfuzzer-6.0-dev - Library for coverage-guided fuzz testing
 liblld-6.0 - LLVM-based linker, library
 liblld-6.0-dev - LLVM-based linker, header files
 liblldb-6.0 - Next generation, high-performance debugger, library
 liblldb-6.0-dev - Next generation, high-performance debugger, header files
 libllvm6.0 - Modular compiler and toolchain technologies, runtime library
 lld-6.0    - LLVM-based linker
 lldb-6.0   - Next generation, high-performance debugger
 llvm-6.0   - Modular compiler and toolchain technologies
 llvm-6.0-dev - Modular compiler and toolchain technologies, libraries and 
header
 llvm-6.0-doc - Modular compiler and toolchain technologies, documentation
 llvm-6.0-examples - Modular compiler and toolchain technologies, examples
 llvm-6.0-runtime - Modular compiler and toolchain technologies, IR interpreter
 llvm-6.0-tools - Modular compiler and toolchain technologies, tools
 python-clang-6.0 - Clang Python Bindings
 python-lldb-6.0 - Next generation, high-performance debugger, python lib
Closes: 908646
Changes:
 llvm-toolchain-6.0 (1:6.0.1-8) unstable; urgency=medium
 .
   [ John Paul Adrian Glaubitz ]
   * Fix inverted logic in ifeq statement for POLLY_ENABLE (Closes: #908646)
 .
   [ Gianfranco Costamagna ]
   * Fixup the polly installation failure where polly is not built
   * Add s390x to polly architectures
   * Fix typo in rules file
Checksums-Sha1:
 bc07f96919559ec97538755b555fe7d2cc642fca 6628 llvm-toolchain-6.0_6.0.1-8.dsc
 f19cbef63e3af79821579cdcc8d479d3722d3b56 101756 
llvm-toolchain-6.0_6.0.1-8.debian.tar.xz
 fe9ecfbc0cc3dfd9741aaf6bf208d6b86babf10a 20452 
llvm-toolchain-6.0_6.0.1-8_amd64.buildinfo
Checksums-Sha256:
 dd8386393973271ad3f5c937b57d0635ff37d3a45c7f2a3eaca4a8aa9468733e 6628 
llvm-toolchain-6.0_6.0.1-8.dsc
 982f88fc3e279d81ed4c5beae3d4d04044a543a1278656c2e5d1814d9bd7b4e0 101756 
llvm-toolchain-6.0_6.0.1-8.debian.tar.xz
 d9e9016848e12eb9426875dcb212b34b40786183076f3548e7233c472433d152 20452 
llvm-toolchain-6.0_6.0.1-8_amd64.buildinfo
Files:
 4169bc51a97349ca059f4b1f468a4a37 6628 devel optional 
llvm-toolchain-6.0_6.0.1-8.dsc
 fe1067c51447b2ec1c3dda72667d66eb 101756 devel optional 
llvm-toolchain-6.0_6.0.1-8.debian.tar.xz
 21cac530e8a6f4c615cb65ee2b388f91 20452 devel optional 
llvm-toolchain-6.0_6.0.1-8_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEtg21mU05vsTRqVzPfmUo2nUvG+EFAluaVRkACgkQfmUo2nUv
G+Hqgg/9E5CR/+TW5p4eI5e4jNkNwuP753yZvfWM6I15V8FVPQ7fXyL2+Hh15DqQ
LPlJrWeiPZaxxt9Lvy5zVaoQypT8nSLZLtzWtPWPigb7SsD+n4M+PIeGYvbyvgET
UgXyKuEEQxtRsvi5hfZLHffzRxzRgWuPsoKiUIUkdXeyj4wSnnC7ZF082/e8XTSg
pRdduLRke46EdNDymRtCMByd54pDvn08+GjAHLbx20O+ahuHrDJ1TwiE0mlFptJs
UwJ490OOFT5yHbnl+NuzjuMkFIvoLE75TRw7/zNif3wiS5EekoGfdvcJ4UM0UMDC
nvNySdszzdwDyvQdMnD2/ZrqJTyotru62RKSd6el9ISnfLgE9w1wGkjV4FW00rJd
57AHRHlCwxyD27rlVANQEu20NswH0a3ChBHz0CyOf/ZUJd3aM4qWBgqA/MplubDb
xqaT2bBGwDug4cJDpzRsVObzXg5Vs0LiCceHGnwmMHTnl8Vr249mxsVay+uvcun8
/z7PYxyW2XhpKS0AX5rVm1DxkVkucRGLGtKhI/al8dxueS3sBR+xjL15YKNUjB09
Wwz6vGZ9HyXXi7GOi9VnyhUD/o2DSKuYlUQgjnnh1V4QB5C1/ECjWBc6hhaL/J8w
6bzz2tXZws309XcNnDefGq+Plh+7EtoyjXBdGRXFqN0rEMRCYnU=
=II7m
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to