Status of the official LLVM APT repositories

To get Lit on Travis, we do
install:
  - pip install --user lit
  - python -c "import lit; lit.main();" --version | head -n 1

Did the tools package contain "not" and "FileCheck"? (We currently have
to carry copies of them in our own source tree.)

I hope it doesn't contain 'not', that executable name is a little too
generic to install into /usr/bin.

Maybe :slight_smile:

We could probably distribute FileCheck, though. I doubt we'll see name
collisions, and other projects seem to find it useful.

That would be nice for LDC. The "not" source code is compatible with LLVM
3.5-3.9 at least, so we only need one not.cpp file. For FileCheck we need a
version for each LLVM version we support (3.5-3.9).

Hello, I'm having authentication problems when I try to install
clang-3.9 and similar. clang-3.8 doesn't have the issue. Does it
require a second key? Using Ubuntu 15.10 amd64.

Edward-san

Some update on this.

Some update on this.

Yes, it is Debian-owned. When I made the changes to use CMake, I sent patches directly to Sylvestre Ledru (CCd), who maintains the LLVM/Clang/etc. packages for Debian.

FWIW, I second Reid’s sentiment about having things like “not” in the standard $PATH. They are there in the older versions of LLVM, albeit with version suffixes (e.g. /usr/bin/not-3.7). If it’s possible, it would be nice to hide them away in /usr/lib/llvm-/bin, or perhaps a utils-specific directory. I think it would then just be a matter of adding that to $PATH before running lit tests.

I would offer to help write patches, but you would be at the mercy of my near non-existent availability.

Cheers,
Andrew

Slightly off topic.

I recently implemented an option in CMake named LLVM_DISTRIBUTION_COMPONENTS. This is specifically geared to package maintainers. It allows you to specify which components of LLVM you want to install, and it constructs minimal wrapper targets to build and install just the distributed components.

For Apple this resulted in about a 40% reduction in build time for the “Apple Clang” package, and it provided a very easy way to narrow down which specific pieces of LLVM & Clang should be installed. I strongly recommend using it.

The cmake/caches/Apple-stage2.cmake file in the Clang repository is an example of how we use it for “Apple Clang” distributions.

-Chris

So, it turns out that the secret sauce to clone that thing is $ svn co svn://anonscm.debian.org/pkg-llvm/

llvm-3.8-dev is broken:

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

/usr/share/llvm/cmake/LLVMExports.cmake

llvm-3.7-dev is ok.

Why is it so error prone for so many years?

llvm-3.8-dev is broken:

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

    /usr/share/llvm/cmake/LLVMExports.cmake

Brad King helped me and it should be fixed in the next few days/weeks.

llvm-3.7-dev is ok.

Why is it so error prone for so many years?

Because the migration from autotool to cmake wasn't trivial, because it wasn't part of my priorities.
Thanks to Andrew's work, we moved to cmake, it is normal that we are experiencing difficulties.
Anyway, help is welcome: I am no cmake expert.

Sylvestre

llvm-3.8-dev is broken:

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

/usr/share/llvm/cmake/LLVMExports.cmake
Brad King helped me and it should be fixed in the next few days/weeks.

Will the fix be included in the next build?

llvm-3.7-dev is ok.

Why is it so error prone for so many years?
Because the migration from autotool to cmake wasn’t trivial, because it
wasn’t part of my priorities.
Thanks to Andrew’s work, we moved to cmake, it is normal that we are
experiencing difficulties.
Anyway, help is welcome: I am no cmake expert.

I’m happy to help. But I’m not Debian packaging expert. Can you provide some information how to build and test the packages locally (preferably add that information to http://llvm.org/apt/)?

  • Paweł

I have no idea how to test it, but I have a patch to resurrect the llvm-tools package. I don’t know how to go forward, so I’m looking for help here.

llvm-tools.patch (3.49 KB)

It should be included now. Pablo wrote some great documentation on how to build the packages: Cheers, Sylvestre

llvm-3.8-dev is broken:

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

/usr/share/llvm/cmake/LLVMExports.cmake
Brad King helped me and it should be fixed in the next few days/weeks.

Will the fix be included in the next build?

It should be included now.

Sorry to inform about that but the packages are in worse condition than before:

  1. Firstly, the cmake shared files have been moved from /usr/share/llvm/cmake to /usr/lib/llvm-3.8/share/llvm/cmake. The previous location was searched by cmake by default so cmake was able to find LLVM package without any additional help.
  2. The cmake shared files refers at least one non-existing/not-installed libraries:

CMake Error at /usr/lib/llvm-3.8/share/llvm/cmake/LLVMExports.cmake:1034 (message):
The imported target “PollyISL” references the file

“/usr/lib/llvm-3.8/lib/libPollyISL.a”

but this file does not exist. Possible reasons include:

  • The file was deleted, renamed, or moved to another location.

  • An install or uninstall procedure did not complete successfully.

  • The installation package was faulty and contained

“/usr/lib/llvm-3.8/share/llvm/cmake/LLVMExports.cmake”

but not all the files it references.

Call Stack (most recent call first):
/usr/lib/llvm-3.8/share/llvm/cmake/LLVMConfig.cmake:173 (include)
CMakeLists.txt:30 (find_package)

Hi Sylvestre,

As far as I can see, the APT mirror has been switched off; in the mean time, is there any alternative source from where the latest packages can be downloaded manually?

I understand that there was talk about opening up the new Jenkins, but, apparently, this has never happened?

Is it appropriate to shed some light on the current situation on the public mailing list? If it's simply a bandwidth problem, then maybe the mirror can be put behind CloudFlare or some such? Do you need any help? Is there any ETAs on when then mirror will be back so far?

Many thanks!

Le 03/06/2016 à 11:44, Yury V. Zaytsev a écrit :

Hi Sylvestre,

As far as I can see, the APT mirror has been switched off; in the mean
time, is there any alternative source from where the latest packages
can be downloaded manually?

Not yet, if it causes too many issues, I can set up something temporary

I understand that there was talk about opening up the new Jenkins,
but, apparently, this has never happened?

http://llvm-jenkins.debian.net/ is back (I did it a few weeks back).

Is it appropriate to shed some light on the current situation on the
public mailing list? If it's simply a bandwidth problem, then maybe
the mirror can be put behind CloudFlare or some such? Do you need any
help? Is there any ETAs on when then mirror will be back so far?

Tanya and myself are working a solution. Hopefully, next week!

Sylvestre