Some LLVM 3.5 headers are in wrong paths and different from llvm-3.5 installed from sources.

Bug #1372062 reported by Mikael Lepistö
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
llvm-toolchain-3.5 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

1) parallels@parallel:~/projects/llvm-git$ lsb_release -rd
Description: Ubuntu 14.04.1 LTS
Release: 14.04

2) parallels@parallel:~/projects/llvm-git$ apt-cache policy llvm-3.5-dev
llvm-3.5-dev:
  Installed: 1:3.5~svn201651-1ubuntu1
  Candidate: 1:3.5~svn201651-1ubuntu1
  Version table:
 *** 1:3.5~svn201651-1ubuntu1 0
        500 http://ubuntu.trumpetti.atm.tut.fi/ubuntu/ trusty/universe amd64 Packages
        500 http://fi.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status

3) Expected having llvm-3.5 final release

4) Having different headers that official 3.5 release compiled from sources has. Apparently Ubuntu has svn201651 revision, instead of final.

I came across the problem, when I tried to compile our code on ubuntu with llvm-3.5-dev.

When you compile llvm by hand and run install headers installed to prefix/include/llvm are a lot different. e.g. Linker.h is found from different path and is different.

parallels@parallel:~/projects/install-llvm-git/include$ diff /usr/include/llvm-3.5/llvm/Linker.h llvm/Linker/Linker.h
1c1
< //===- llvm/Linker.h - Module Linker Interface ------------------*- C++ -*-===//
---
> //===- Linker.h - Module Linker Interface -----------------------*- C++ -*-===//
10,11c10,11
< #ifndef LLVM_LINKER_H
< #define LLVM_LINKER_H
---
> #ifndef LLVM_LINKER_LINKER_H
> #define LLVM_LINKER_LINKER_H
17a18,19
> class Comdat;
> class GlobalValue;
33c35
< Linker(Module *M);
---
> Linker(Module *M, bool SuppressWarnings=false);
54a57,58
>
> bool SuppressWarnings;

My llvm from sources is release_35 tag from git mirror.
parallels@parallel:~/projects/install-llvm-git/include$ ../bin/llvm-config --version
3.5.0

parallels@parallel:~/projects/llvm-git$ git branch -a
  master
* release_35
  remotes/origin/HEAD -> origin/master

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in llvm-toolchain-3.5 (Ubuntu):
status: New → Confirmed
Revision history for this message
Maxiwell (maxiwell) wrote :

The headers content of LLVM-3.5 in Ubuntu repository is different of the LLVM 3.5 official package.

Repeat the bug:

1. Download the llvm 3.5.0 from official site and untar

wget http://llvm.org/releases/3.5.0/clang+llvm-3.5.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
tar -xvf clang+llvm-3.5.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz

2. Install llvm-3.5 with apt-get

sudo apt-get install llvm-3.5

3. The same header appears different

diff /usr/include/llvm-3.5/llvm/Support/MemoryBuffer.h Downloads/clang+llvm-3.5.0-x86_64-linux-gnu/include/llvm/Support/MemoryBuffer.h

Revision history for this message
Paweł Bylica (chfast) wrote :

It's because this package in trusty is not official 3.5.0 but some snapshot of some previous SVN revision.

You can install correct package from http://llvm.org/apt/

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.