On 07/09/2014 12:23 AM, Ben Pope wrote:
On Wednesday, July 09, 2014 02:48 AM, Larry Evans wrote:
The instructions on:
   http://libcxx.llvm.org/
say:
    We can now run CMake:

     CC=clang CXX=clang++ cmake -G "Unix Makefiles"
-DLIBCXX_CXX_ABI=libstdc++
-DLIBCXX_LIBSUPCXX_INCLUDE_PATHS="/usr/include/c++/4.7/;/usr/include/c++/4.7/x86_64-linux-gnu/"

-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
<libc++-source-dir>

however, it does not say what to put for <libc++-source-dir>
or in which directory this command is to be run.  One might
guess this command is to be run inb the directory where the buildit
script is located, because that's what the earlier instructions
(for Mac OS) were run from; however, that's not at all clear.

CMake encourages out of source build.

You run CMake in your build directory and you point it to your source
diectory (the one with CMakeLists.txt).

E.g.:

/libcxx_build
/libcxx
    /include
    CMakeLists.txt

cd /libcxx/build
CMake ../libcxx

Or:
/libcxx
    /build
    /include
    CMakeLists.txt

cd /libcxx/build
CMake ..

Ben
Thanks Ben.

I tried the 2nd directory hierarchy:

  /home/evansl/dwnlds/llvm/svn/libcxx:
  total used in directory 144 available 242951424
  drwxrwxr-x 10 evansl evansl  4096 Jul 10 11:07 .
  drwxrwxr-x  4 evansl evansl  4096 Jul  8 13:14 ..
  -rw-rw-r--  1 evansl evansl    76 Jul  8 13:14 .arcconfig
  drwxrwxr-x  8 evansl evansl  4096 Jul 10 11:13 build
  drwxrwxr-x  3 evansl evansl  4096 Jul  8 13:14 cmake
  -rw-rw-r--  1 evansl evansl 10316 Jul  8 13:14 CMakeLists.txt
  -rw-rw-r--  1 evansl evansl   363 Jul  8 13:34 cmake.sh
  -rw-rw-r--  1 evansl evansl   245 Jul  8 13:22 cmake.sh~
  -rw-rw-r--  1 evansl evansl  2643 Jul  8 13:14 CREDITS.TXT
  drwxrwxr-x  5 evansl evansl 16384 Jul  8 13:14 include
  drwxrwxr-x  2 evansl evansl  4096 Jul  8 13:14 lib
  -rw-rw-r--  1 evansl evansl  3493 Jul  8 13:14 LICENSE.TXT
  -rw-rw-r--  1 evansl evansl  1425 Jul  8 13:14 Makefile
  drwxrwxr-x  3 evansl evansl  4096 Jul  8 13:14 src
  drwxrwxr-x  4 evansl evansl  4096 Jul  8 13:14 .svn
  drwxrwxr-x 19 evansl evansl  4096 Jul  8 13:14 test
  drwxrwxr-x  2 evansl evansl  4096 Jul  8 13:14 www

Then tried the Cmake command; however, it failed because some
function body was unavailable for inlining, as shown by:

Welcome to the Emacs shell

~/dwnlds/llvm/svn/libcxx/build $ which CMake
which: no CMake in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games)
~/dwnlds/llvm/svn/libcxx/build $ which cmake
/usr/bin/cmake
~/dwnlds/llvm/svn/libcxx/build $ cmake ..
-- The CXX compiler identification is GNU 4.9.0
-- The C compiler identification is GNU 4.9.0
-- Check for working CXX compiler: /usr/local/bin/c++
-- Check for working CXX compiler: /usr/local/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working C compiler: /usr/local/bin/gcc
-- Check for working C compiler: /usr/local/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Host triple: x86_64-pc-linux
-- Target triple: x86_64-pc-linux
-- Performing Test LIBCXX_HAS_STDCXX0X_FLAG
-- Performing Test LIBCXX_HAS_STDCXX0X_FLAG - Success
-- Performing Test LIBCXX_HAS_FPIC_FLAG
-- Performing Test LIBCXX_HAS_FPIC_FLAG - Success
-- Performing Test LIBCXX_HAS_NODEFAULTLIBS_FLAG
-- Performing Test LIBCXX_HAS_NODEFAULTLIBS_FLAG - Success
-- Performing Test LIBCXX_HAS_NOSTDINCXX_FLAG
-- Performing Test LIBCXX_HAS_NOSTDINCXX_FLAG - Success
-- Performing Test LIBCXX_HAS_WALL_FLAG
-- Performing Test LIBCXX_HAS_WALL_FLAG - Success
-- Performing Test LIBCXX_HAS_W_FLAG
-- Performing Test LIBCXX_HAS_W_FLAG - Success
-- Performing Test LIBCXX_HAS_WNO_UNUSED_PARAMETER_FLAG
-- Performing Test LIBCXX_HAS_WNO_UNUSED_PARAMETER_FLAG - Success
-- Performing Test LIBCXX_HAS_WWRITE_STRINGS_FLAG
-- Performing Test LIBCXX_HAS_WWRITE_STRINGS_FLAG - Success
-- Performing Test LIBCXX_HAS_WNO_LONG_LONG_FLAG
-- Performing Test LIBCXX_HAS_WNO_LONG_LONG_FLAG - Success
-- Performing Test LIBCXX_HAS_PEDANTIC_FLAG
-- Performing Test LIBCXX_HAS_PEDANTIC_FLAG - Success
-- Performing Test LIBCXX_HAS_WERROR_FLAG
-- Performing Test LIBCXX_HAS_WERROR_FLAG - Success
-- Performing Test LIBCXX_HAS_WNO_ERROR_FLAG
-- Performing Test LIBCXX_HAS_WNO_ERROR_FLAG - Success
-- Performing Test LIBCXX_HAS_FNO_EXCEPTIONS_FLAG
-- Performing Test LIBCXX_HAS_FNO_EXCEPTIONS_FLAG - Success
-- Performing Test LIBCXX_HAS_FNO_RTTI_FLAG
-- Performing Test LIBCXX_HAS_FNO_RTTI_FLAG - Success
-- Performing Test LIBCXX_HAS_WX_FLAG
-- Performing Test LIBCXX_HAS_WX_FLAG - Failed
-- Performing Test LIBCXX_HAS_NO_WX_FLAG
-- Performing Test LIBCXX_HAS_NO_WX_FLAG - Failed
-- Performing Test LIBCXX_HAS_EHSC_FLAG
-- Performing Test LIBCXX_HAS_EHSC_FLAG - Failed
-- Performing Test LIBCXX_HAS_NO_EHS_FLAG
-- Performing Test LIBCXX_HAS_NO_EHS_FLAG - Failed
-- Performing Test LIBCXX_HAS_NO_EHA_FLAG
-- Performing Test LIBCXX_HAS_NO_EHA_FLAG - Failed
-- Performing Test LIBCXX_HAS_NO_GR_FLAG
-- Performing Test LIBCXX_HAS_NO_GR_FLAG - Failed
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for printf in c
-- Looking for printf in c - found
-- Looking for ccos in m
-- Looking for ccos in m - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for __gcc_personality_v0 in gcc_s
-- Looking for __gcc_personality_v0 in gcc_s - found
-- Found PythonInterp: /usr/bin/python (found version "2.7.6")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/evansl/dwnlds/llvm/svn/libcxx/build
~/dwnlds/llvm/svn/libcxx/build $ make -j 4
Scanning dependencies of target cxx
[ 3%] [ 7%] [ 11%] [ 15%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/stdexcept.cpp.o
Building CXX object lib/CMakeFiles/cxx.dir/__/src/strstream.cpp.o
Building CXX object lib/CMakeFiles/cxx.dir/__/src/mutex.cpp.o
Building CXX object lib/CMakeFiles/cxx.dir/__/src/thread.cpp.o
[ 19%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/debug.cpp.o
[ 23%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/regex.cpp.o
[ 26%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/utility.cpp.o
[ 30%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/exception.cpp.o
[ 34%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/locale.cpp.o
/home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:118:9: warning: #warning is a GCC extension
 #       warning uncaught_exception not yet implemented
         ^
/home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:118:9: warning: #warning uncaught_exception not yet implemented [-Wcpp] /home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:191:9: warning: #warning is a GCC extension
 #       warning exception_ptr not yet implemented
         ^
/home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:191:9: warning: #warning exception_ptr not yet implemented [-Wcpp] /home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:210:9: warning: #warning is a GCC extension
 #       warning exception_ptr not yet implemented
         ^
/home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:210:9: warning: #warning exception_ptr not yet implemented [-Wcpp] /home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:235:9: warning: #warning is a GCC extension
 #       warning exception_ptr not yet implemented
         ^
/home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:235:9: warning: #warning exception_ptr not yet implemented [-Wcpp] /home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:279:9: warning: #warning is a GCC extension
 #       warning exception_ptr not yet implemented
         ^
/home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:279:9: warning: #warning exception_ptr not yet implemented [-Wcpp] /home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:301:9: warning: #warning is a GCC extension
 #       warning exception_ptr not yet implemented
         ^
/home/evansl/dwnlds/llvm/svn/libcxx/src/exception.cpp:301:9: warning: #warning exception_ptr not yet implemented [-Wcpp]
[ 38%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/memory.cpp.o
[ 42%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/typeinfo.cpp.o
[ 46%] [ 50%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/condition_variable.cpp.o
Building CXX object lib/CMakeFiles/cxx.dir/__/src/new.cpp.o
[ 53%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/random.cpp.o
[ 57%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/future.cpp.o
[ 61%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/iostream.cpp.o
[ 65%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/shared_mutex.cpp.o
[ 69%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/valarray.cpp.o
In file included from /home/evansl/dwnlds/llvm/svn/libcxx/src/locale.cpp:18:0: /home/evansl/dwnlds/llvm/svn/libcxx/include/string: In constructor ‘std::__1::numpunct<char>::numpunct(size_t)’: /home/evansl/dwnlds/llvm/svn/libcxx/include/string:1978:1: error: inlining failed in call to always_inline ‘std::__1::basic_string<_CharT, _Traits, _Allocator>::basic_string() [with _CharT = char; _Traits = std::__1::char_traits<char>; _Allocator = std::__1::allocator<char>]’: function body not available
 basic_string<_CharT, _Traits, _Allocator>::basic_string()
 ^
/home/evansl/dwnlds/llvm/svn/libcxx/src/locale.cpp:4173:27: error: called from here
       __thousands_sep_(',')
                           ^
[ 73%] Building CXX object lib/CMakeFiles/cxx.dir/__/src/hash.cpp.o
make[2]: *** [lib/CMakeFiles/cxx.dir/__/src/locale.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [lib/CMakeFiles/cxx.dir/all] Error 2
make: *** [all] Error 2
~/dwnlds/llvm/svn/libcxx/build $


Any ideas how to resolve this issue?

TIA.

-regards,
Larry



_______________________________________________
cfe-users mailing list
cfe-users@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users

Reply via email to