[cfe-dev] [3.5 Release] Release Candidate 1 Sources and Binaries Available

Ben Pope benpope81 at gmail.com
Tue Jul 29 07:16:15 PDT 2014


On Tuesday, July 29, 2014 09:32 PM, Larry Evans wrote:
> On 07/29/2014 08:09 AM, Larry Evans wrote:
>> On 07/23/2014 02:05 AM, Bill Wendling wrote:
>>> The binaries are coming in from our testers. There are also sources, so you can compile them yourselves. Please visit this webpage and try out the binaries! File PRs for any issues you found. (Please CC me on the PR and mark it as a release blocker.)
>>>
>>> 	http://llvm.org/pre-releases/3.5/
>>>
>>> -bw
>>>
>>>
>> Hi Bill,
>>
>> I downloaded:
>>
>>
>> http://llvm.org/pre-releases/3.5/rc1/cfe.src-3.5rc1.src.tar.gz
>> http://llvm.org/pre-releases/3.5/rc1/llvm.src-3.5rc1.src.tar.gz
>> http://llvm.org/pre-releases/3.5/rc1/compiler-rt.src-3.5rc1.src.tar.gz
>>
>> as well as the .sig files.  The signatures all checked.
>>
>> I then unzipped and untarred all.  Then, noting there were symlinks:
>>
>> ~/dwnlds/llvm/3.5rc1 $ ls -ld llvm.src/tools/clang
>> lrwxrwxrwx   1 evansl         evansl         13 2014-07-22 21:19
>> llvm.src/tools/clang -> ../../cfe.src
>> ~/dwnlds/llvm/3.5rc1 $ ls -ld llvm.src/projects/compiler-rt
>> lrwxrwxrwx   1 evansl         evansl         21 2014-07-22 21:19
>> llvm.src/projects/compiler-rt -> ../../compiler-rt.src
>> ~/dwnlds/llvm/3.5rc1 $
>>
>> I figured all I needed to do was the:
>>
>>    Building Clang and Working with the Code
>>    On Unix-like Systems
>>    6. Build LLVM and Clang:
>>
>> step as documented here:
>>
>>    http://clang.llvm.org/get_started.html
>>
>> However, when make was run, I got:
>>
>> make[1]: Entering directory `/home/evansl/dwnlds/llvm/3.5rc1/build/lib/IR'
>> llvm[1]: Building Intrinsics.gen.tmp from Intrinsics.td
>> /home/evansl/dwnlds/llvm/3.5rc1/build/Release+Asserts/bin/llvm-tblgen:
>> /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not
>> found (required by
>> /home/evansl/dwnlds/llvm/3.5rc1/build/Release+Asserts/bin/llvm-tblgen)
>> make[1]: ***
>> [/home/evansl/dwnlds/llvm/3.5rc1/build/lib/IR/Release+Asserts/Intrinsics.gen.tmp]
>> Error 1
>> make[1]: Leaving directory `/home/evansl/dwnlds/llvm/3.5rc1/build/lib/IR'
>> make: *** [all] Error 1
>> Tue Jul 29 07:45:47 2014
>>
>> I've got the missing GLIBCXX; however, instead of being in /usr/lib,
>> it's in /usr/local/lib*:
>>
>> /usr/local/lib64 $ strings libstdc++.so.6.0.20|grep GLIBCXX
>> GLIBCXX_3.4
>> GLIBCXX_3.4.1
>> GLIBCXX_3.4.2
>> GLIBCXX_3.4.3
>> GLIBCXX_3.4.4
>> GLIBCXX_3.4.5
>> GLIBCXX_3.4.6
>> GLIBCXX_3.4.7
>> GLIBCXX_3.4.8
>> GLIBCXX_3.4.9
>> GLIBCXX_3.4.10
>> GLIBCXX_3.4.11
>> GLIBCXX_3.4.12
>> GLIBCXX_3.4.13
>> GLIBCXX_3.4.14
>> GLIBCXX_3.4.15
>> GLIBCXX_3.4.16
>> GLIBCXX_3.4.17
>> GLIBCXX_3.4.18
>> GLIBCXX_3.4.19
>> GLIBCXX_3.4.20
>> GLIBCXX_DEBUG_MESSAGE_LENGTH
>> /usr/local/lib64 $
>>
>> Is there something I should pass to the configure call to make the build
>> step look in the right place for GLIBCXX_3.4.20?
>>
>> My operating system is ubuntu 14.04LTS:
>>
>> uname -a
>> Linux lje-OptiPlex-9020 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15
>> 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>>
>>
>> TIA.
>>
>> -regards,
>> Larry
>>
> Setting LD_LIBRARY_PATH environment variable got me past that problem:
>
> -*- mode: compilation; default-directory: "~/dwnlds/llvm/3.5rc1/" -*-
> Compilation started at Tue Jul 29 08:27:20
>
> make -f my.mk
> LD_LIBRARY_PATH=/usr/local/lib64 make --directory=./build
> make[1]: Entering directory `/home/evansl/dwnlds/llvm/3.5rc1/build'
> make[2]: Entering directory
> `/home/evansl/dwnlds/llvm/3.5rc1/build/lib/Support'
> make[2]: Nothing to be done for `all'.
> ..
> ..
> ..
> make[2]: Entering directory `/home/evansl/dwnlds/llvm/3.5rc1/build/lib/IR'
> llvm[2]: Building Intrinsics.gen.tmp from Intrinsics.td
> llvm[2]: Updated Intrinsics.gen because Intrinsics.gen.tmp changed
> significantly.
> llvm[2]: Compiling AsmWriter.cpp for Release+Asserts build
> llvm[2]: Compiling Attributes.cpp for Release+Asserts build
> ..
> ..
> ..
>
>
> Still, it would be nice to know what to pass to configure
> so that one wouldn't have to set LD_LIBRARY_PATH.

My guess is you're building with g++-4.9, so:

CC=gcc-4.8 CXX=g++-4.8 ./configure <stuff>

Ben




More information about the cfe-dev mailing list