[LLVMdev] [cfe-dev] [3.5 Release] Release Candidate 3 Now Available

Richard Smith richard at metafoo.co.uk
Mon Aug 25 18:51:33 PDT 2014


On Mon, Aug 25, 2014 at 5:30 PM, Larry Evans <cppljevans at suddenlink.net>
wrote:

> On 08/21/2014 12:55 PM, Bill Wendling wrote:
> > The third 3.5 release candidate is now available. Please pick up sources
> and binaries here:
> >
> >       https://llvm.org/pre-release/3.5
> >
> > Run it through its phases and report any bugs you find!
> >
> > Share and enjoy!
> > -bw
> >
> Hi Bill,
>
> I downloaded:
>
> http://llvm.org/pre-releases/3.5/
>
> then did sig check on all:
>
> ~/dwnlds/llvm/3.5/rc3 $ gpg --verify cfe-3.5.0rc3.src.tar.xz.sig
> cfe-3.5.0rc3.src.tar.xz
> gpg: Signature made Wed 20 Aug 2014 01:05:37 PM CDT using RSA key ID
> BB5A0569
> gpg: Good signature from "Bill Wendling <void at llvm.org>"
> gpg: WARNING: This key is not certified with a trusted signature!
> gpg:          There is no indication that the signature belongs to the
> owner.
> Primary key fingerprint: 54E3 BDE3 3185 D9F6 9664  D224 55F5 CD70 BB5A 0569
> ~/dwnlds/llvm/3.5/rc3 $ gpg --verify compiler-rt-3.5.0rc3.src.tar.xz.sig
> compiler-rt-3.5.0rc3.src.tar.xz
> gpg: Signature made Wed 20 Aug 2014 01:05:48 PM CDT using RSA key ID
> BB5A0569
> gpg: Good signature from "Bill Wendling <void at llvm.org>"
> gpg: WARNING: This key is not certified with a trusted signature!
> gpg:          There is no indication that the signature belongs to the
> owner.
> Primary key fingerprint: 54E3 BDE3 3185 D9F6 9664  D224 55F5 CD70 BB5A 0569
> ~/dwnlds/llvm/3.5/rc3 $ gpg --verify libcxxabi-3.5.0rc3.src.tar.xz.sig
> libcxxabi-3.5.0rc3.src.tar.xz
> gpg: Signature made Wed 20 Aug 2014 01:06:04 PM CDT using RSA key ID
> BB5A0569
> gpg: Good signature from "Bill Wendling <void at llvm.org>"
> gpg: WARNING: This key is not certified with a trusted signature!
> gpg:          There is no indication that the signature belongs to the
> owner.
> Primary key fingerprint: 54E3 BDE3 3185 D9F6 9664  D224 55F5 CD70 BB5A 0569
> ~/dwnlds/llvm/3.5/rc3 $ gpg --verify libcxx-3.5.0rc3.src.tar.xz.sig
> libcxx-3.5.0rc3.src.tar.xz
> gpg: Signature made Wed 20 Aug 2014 01:05:59 PM CDT using RSA key ID
> BB5A0569
> gpg: Good signature from "Bill Wendling <void at llvm.org>"
> gpg: WARNING: This key is not certified with a trusted signature!
> gpg:          There is no indication that the signature belongs to the
> owner.
> Primary key fingerprint: 54E3 BDE3 3185 D9F6 9664  D224 55F5 CD70 BB5A 0569
> ~/dwnlds/llvm/3.5/rc3 $ gpg --verify llvm-3.5.0rc3.src.tar.xz.sig
> llvm-3.5.0rc3.src.tar.xz
> gpg: Signature made Wed 20 Aug 2014 01:06:19 PM CDT using RSA key ID
> BB5A0569
> gpg: Good signature from "Bill Wendling <void at llvm.org>"
> gpg: WARNING: This key is not certified with a trusted signature!
> gpg:          There is no indication that the signature belongs to the
> owner.
> Primary key fingerprint: 54E3 BDE3 3185 D9F6 9664  D224 55F5 CD70 BB5A 0569
> ~/dwnlds/llvm/3.5/rc3 $
>
> then unzipped and added the appropriate symlinks:
>
> ~/dwnlds/llvm/3.5/rc3 $ find llvm-3.5.0rc3.src -type l -ls
> 9590094    0 lrwxrwxrwx   1 evansl   evansl         57 Aug 24 21:30
> llvm-3.5.0rc3.src/projects/compiler-rt ->
> /home/evansl/dwnlds/llvm/3.5/rc3/compiler-rt-3.5.0rc3.src
> 9590095    0 lrwxrwxrwx   1 evansl   evansl         49 Aug 24 21:31
> llvm-3.5.0rc3.src/tools/clang ->
> /home/evansl/dwnlds/llvm/3.5/rc3/cfe-3.5.0rc3.src
> ~/dwnlds/llvm/3.5/rc3 $
>
> Then, followed instructions on:
>
> http://llvm.org/docs/GettingStarted.html#requirements
>
> for using cmake as follows:
> -*- mode: compilation; default-directory:
> "~/dwnlds/llvm/3.5/rc3/build-variants/" -*-
> Compilation started at Mon Aug 25 17:30:37
>
> make cmake.build
> install -d release/cmake.build
> cd release/cmake.build ; \
>           CC="/usr/local/bin/gcc" ; \
>           CXX="/usr/local/bin/g++" ; \
>           cmake /home/evansl/dwnlds/llvm/3.5/rc3/llvm-3.5.0rc3.src
> -DCMAKE_CXX_LINK_FLAGS="-L/usr/local/lib64 -Wl,-rpath -Wl,/usr/local/lib64"
> -- The C compiler identification is GNU 4.8.2
> -- The CXX compiler identification is GNU 4.8.2
> -- Check for working C compiler: /usr/bin/cc
> -- Check for working C compiler: /usr/bin/cc -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working CXX compiler: /usr/bin/c++
> -- Check for working CXX compiler: /usr/bin/c++ -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Looking for C++ include cxxabi.h
> -- Looking for C++ include cxxabi.h - found
> .
> .
> .
> -- Looking for pthread_create in pthread
> -- Looking for pthread_create in pthread - found
> -- Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
> -- Clang version: 3.5.0
> -- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
> -- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Failed
> -- Configuring done
> -- Generating done
> -- Build files have been written to:
> /home/evansl/dwnlds/llvm/3.5/rc3/build-variants/release/cmake.build
> touch release/dones/cmake.build.done
>
> Compilation finished at Mon Aug 25 17:30:48
>
> Then built it:
>
> ~/dwnlds/llvm/3.5/rc3/build-variants/release/cmake.build $ make
> Scanning dependencies of target LLVMSupport
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/APFloat.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/APInt.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/APSInt.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttrs.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/ARMWinEH.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/Allocator.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/BlockFrequency.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/BranchProbability.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/circular_raw_ostream.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/CommandLine.cpp.o
> [  1%] Building CXX object
> lib/Support/CMakeFiles/LLVMSupport.dir/Compression.cpp.o
> .
> .
> .
> Scanning dependencies of target clang-check
> [100%] Building CXX object
> tools/clang/tools/clang-check/CMakeFiles/clang-check.dir/ClangCheck.cpp.o
> Linking CXX executable ../../../../bin/clang-check
> [100%] Built target clang-check
> ~/dwnlds/llvm/3.5/rc3/build-variants/release/cmake.build $
>
> However, when compiling a hello_world.cpp:
>
> -*- mode: compilation; default-directory:
> "~/dwnlds/llvm/3.5/rc3/build-variants/" -*-
> Compilation started at Mon Aug 25 18:55:57
>
> make cmake.run
> ./release/cmake.build/bin/clang++ -std=c++1y hello_world.cpp -o
> hello_world.exe
> In file included from hello_world.cpp:1:
> In file included from
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/iostream:39:
> In file included from
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ostream:38:
> In file included from
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ios:42:
> In file included from
>
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/ios_base.h:41:
> In file included from
>
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/locale_classes.h:40:
> In file included from
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/string:52:
> In file included from
>
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/basic_string.h:2815:
> In file included from
>
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/string_conversions.h:43:
>
> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/cstdio:120:11:
> error: no member named 'gets' in the
>       global namespace
>   using ::gets;
>         ~~^
> 1 error generated.
> make: *** [cmake.run] Error 1
>
> Compilation exited abnormally with code 2 at Mon Aug 25 18:55:59
>
> where hello_world.cpp is just:
>
> #include <iostream>
> int main()
> {
>     std::cout<<"Hello World!\n";
>     return 0;
> }
>
>
> What needs to change to get this hello_world.cpp to compiler?
>

This is nothing to do with Clang; the problem is that glibc speculatively
removed 'gets' in their C++14 mode (long before it was removed from the C++
standard), and libstdc++4.8 still expects it to exist in *their* C++14 mode.

Switch to a standard library that supports C++14 and you should be OK. If
you built and installed libc++, this should be as simple as adding
'-stdlib=libc++' to your clang command line.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140825/2aab1887/attachment.html>


More information about the llvm-dev mailing list