57938


libc++をビルドしようとしているのですがうまくできません。  
libc++をビルドするためのlibc++abiのビルドは下記の質問の通りに行いました。

[libc++abiをLinuxでビルドしようとしたができない](https://ja.stackoverflow.com/questions/57877/libcabi%e3%82%92linux%e3%81%a7%e3%83%93%e3%83%ab%e3%83%89%e3%81%97%e3%82%88%e3%81%86%e3%81%a8%e3%81%97%e3%81%9f%e3%81%8c%e3%81%a7%e3%81%8d%e3%81%aa%e3%81%84/57881#57881)

その後、libc++のビルドを試みていますが、sudo makeで下記のようなエラーが発生しビルドできません。

cxxabi.hが存在してないと言われています。

私はlibc++abiから初めて、libc++、clangを一通り自前でビルドしたいと考えています。  
どうすればよいのでしょうか?

cmakeコマンド:

[code]

    cmake -G "Unix Makefiles" \
        -DLIBCXX_CXX_ABI=libcxxabi \
        -DLIBCXX_CXX_ABI_INCLUDE_PATHS=/home/username/opt/include \
        -DCMAKE_BUILD_TYPE="Release" \
        -DCMAKE_INSTALL_PREFIX="/home/username/opt" ../
    
[/code]

(/home/username/optにlibc++abiをinstallしてある)

エラー内容:

[code]

    /home/yuya/llvm_build/llvm-project/libcxx/src/exception.cpp:14:12: fatal error: cxxabi.h: No such file or directory
       #include <cxxabi.h>
                ^~~~~~~~~~
    compilation terminated.
    make[2]: *** [src/CMakeFiles/cxx_shared.dir/build.make:167: src/CMakeFiles/cxx_shared.dir/exception.cpp.o] Error 1
    make[1]: *** [CMakeFiles/Makefile2:455: src/CMakeFiles/cxx_shared.dir/all] Error 2
    
[/code]


CC BY-SA 4.0
2019-09-08T15:03:38.723
57932
2019-09-09T00:37:24.843
2019-09-08T23:35:48.620
5246
5246
question
c++ linux build
libc++のビルド時に "cxxabi.h: No such file or directory" エラーになってしまう


`cxxabi.h` は `GNU CC` の [c++](/questions/tagged/c%2b%2b "'c++' のタグが付いた質問を表示")
に付属のヘッダなので `clang`/`llvm` には付属していないような気がします。

`cygwin@winXP32bit` では `/cygdrive/c/cygwin/lib/gcc/i686-pc-
cygwin/4.5.3/include/c++/cxxabi.h`  
`gcc-8.3.0@hppa2.0w-hp-hpux11.11` では `/usr/local/include/c++/8.3.0/cxxabi.h`  
にありましたのでまず間違いないでしょう。

その `libc++` は `clang` だけでコンパイルできる代物であるか確認済みですか？ もしかしたら `GNU CC`
であればコンパイルできるのかもしれません（追加で `GNU binutils` が必要になる可能性大）

`GNU CC` の配布ファイルから `cxxabi.h` だけ持ってきても動く気がしない（中で `GNU CC`
固有と思われるいろんな別ヘッダを使っている）ので `GNU CC` の `./configure`
あたりから一式インストールする必要があるかもしれないです。


CC BY-SA 4.0
2019-09-09T00:37:24.843
57938
2019-09-09T00:37:24.843
8589
57932
answer