[cfe-dev] Best low (no?) prerequisite user-directory install method for Clang/libc++?

mats petersson via cfe-dev cfe-dev at lists.llvm.org
Thu Sep 24 10:36:04 PDT 2015


It does look like the prebuilt binary (at least for Fedora 22) has a libc++
as part of the binary.

--
Mats

On 24 September 2015 at 18:26, mats petersson <mats at planetcatfish.com>
wrote:

> Assuming you use cmake, you can/should use the
> -DCMAKE_INSTALL_PREFIX=someplace-you-want-to-install. I use this for my
> debug builds of clang + llvm, and it works just as you'd expect (I happened
> to pick a /usr/local/llvm-debug directory, so I still need `sudo make
> install` to install it, but it will work similarly using "../blah", from
> the build directory). I'm reasonably sure you need to build your own
> version of clang to install in "non-standard location".
>
> Of course, if you have an older version of gcc than 4.7 (or clang
> 3.5-ish), you'll need to do something about that FIRST. You can specify
> what compiler to build llvm and clang with using the `CC=...` and `CXX=...`
> enviornment variables before running cmake. Unfortunately, I don't think
> you can avoid installing a more moden gcc or clang version before compiling
> the current clang sources, and perhaps also install new C++ library
> components - whether that means building your own or simply installing it
> from some arbitrary "ready to use" place depends largely on your choice of
> OS distribution and what that distribution has available in form of "later
> versions". Since version 3.5(ish), Clang requires a compiler that is C++11
> capable (we had exactly this problem where I work some time back).
>
> It may be a decent idea to install on a single user's account, and just
> let everyone else use `~jsmith/llvm/bin` in their path, rather than
> distributing the compiler into lots of people's home directories.
>
> Sorry, I don't have a "simple recipe".
>
> --
> Mats
>
> On 24 September 2015 at 18:02, Rocco Moretti via cfe-dev <
> cfe-dev at lists.llvm.org> wrote:
>
>> Hello,
>>
>> What is the best method for installing Clang (and the corresponding
>> libc++) to a user's home directory on a *nix-like OS, with the minimal
>> assumptions about the state of the rest of the operating system and what's
>> already installed?
>>
>> I ask because we want to incorporate C++11 features into our codebase,
>> but our users often don't have administrative control over the systems they
>> use. These systems may be computational clusters which were built several
>> years ago and haven't had major updates since, so the default compilers on
>> these systems are often old (e.g. gcc 4.4 or even 4.1). Getting the
>> administrators to install an updated compiler may or may not be feasible.
>> So as a backup, I'm looking into the possibility of having our users (who
>> may have very limited *nix experience) install an updated compiler in their
>> home directory. (Again, on a machine where they don't have administrator
>> access.)
>>
>> Is there an easy way to install Clang in a user directory when the system
>> version of the compiler tool-chain may be very out of date? I noticed the
>> pre-built binaries on http://llvm.org/releases/download.html, but
>> there's not much instruction on how to use these, and I'm a little unclear
>> how "self-contained" these are and if they include the libc++ library.
>> (Updating the compiler to support C++11 is only minimally helpful if the
>> standard library used has no C++11 support.)
>>
>> If possible, I'd like to avoid complex installation procedures, like a
>> recent experience I had installing Clang 3.7 on Ubuntu 12.04, where in
>> order to compile Clang from source, it turned out I needed to download and
>> compile a recent gcc from source first.
>>
>> At this point we're just looking for C++11 compiler and standard library
>> support, so the ability to install even a slightly older version of
>> clang/libc++ (anything since 3.3, as I read things) should help.
>>
>> Thanks,
>> -Rocco
>>
>> P.S. I apologize if this is the wrong mailing list for this -
>> http://clang.llvm.org/get_involved.html indicated this is the list for
>> general Clang-related questions.
>>
>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150924/addf8530/attachment.html>


More information about the cfe-dev mailing list