Package: llvm-3.6-dev
Version: 1:3.6-2
Severity: normal

Dear Maintainer,

The issue reported in bug #735592 is not fully resolved (as reported
in some follow-up posts in that issue).  While that problem has been
resolved in upstream LLVM 3.6, another problem is caused by Debian
packaging.

When a CMake-based project does

 find_package(LLVM)

on Debian one gets:

 CMake Error at /usr/share/llvm-3.6/cmake/LLVMConfig.cmake:52 (include):
   include could not find load file:

     /usr/lib/llvm-3.6/share/llvm/cmake/LLVMExports.cmake

The problem does not occur with upstream LLVM 3.6.  It is caused by
the adjustment of the installed file layout done by Debian packaging.

First 'debian/rules' configures with

  --prefix=/usr/lib/llvm-$(LLVM_VERSION)

The build generates content in

  debian/tmp/usr/lib/llvm-@LLVM_VERSION@/share/llvm/cmake/LLVMConfig.cmake

that references the directory

  /usr/lib/llvm-@LLVM_VERSION@/share/llvm/cmake

because that is where files are installed by upstream for the given prefix.

Then 'debian/llvm-X.Y-dev.install.in' has:

  debian/tmp/usr/lib/llvm-@LLVM_VERSION@/share/llvm/cmake/*.cmake 
usr/share/llvm-@LLVM_VERSION@/cmake/

This moves these files to a different location during packaging,
but the content of 'LLVMConfig.cmake' expects the original location.
I'm able to work around the issue locally by running

 $ sudo ln -s /usr/share/llvm-3.6 /usr/lib/llvm-3.6/share/llvm

to restore the existence of the original path to the files.  The
Debian package should be updated to add this symlink.  Or, it can
install the files to the original location and add a symlink in
the other direction (to satisfy default find_package search paths).

Thanks,
-Brad


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to