57881


clangコンパイラ(C++)とC++標準ライブラリ(libc++)をビルドしてみようと思っているのですが、  
そのためのabiであるlibc++abiをビルドしようとしてうまくいきません。

VirtualBox上のUbuntu 19.04でllvmのソースツリーを取得し、`mkdir build && cd build`とし、

[code]

    cmake -G "Unix Makefiles" \
      -DCMAKE_BUILD_TYPE="Release" \
      -DLLVM_ENABLE_PROJECTS="libcxxabi" \
      -DCMAKE_INSTALL_PREFIX="/usr/local/lib" \
      ../llvm
    
[/code]

としたあと、make、make installしようとしましたが、  
以下のようなエラーが発生しました。

[code]

    CMake Error at cmake_install.cmake:41 (file):
      file INSTALL cannot make directory "/usr/local/lib/include/llvm": No such
      file or directory
    
[/code]

### 追記:

libc++abiのページをよく確認したところ、

> libc++abi is known to work on the following platforms, using clang.  
>  \- Darwin

となっていたのですがそもそもこれはmacOSにしか対応していないということでしょうか?


CC BY-SA 4.0
2019-09-05T16:10:15.810
57877
2019-09-06T05:56:27.713
2019-09-06T00:27:19.490
3060
5246
question
c++ build compiler
libc++abiをLinuxでビルドしようとしたができない


エラーになっているのはビルド(`make`)ではなく、`make install`の段階に見えます。

[code]

    file INSTALL cannot make directory "/usr/local/lib/include/llvm": No such file or directory
    
[/code]

`CMAKE_INSTALL_PREFIX`フラグで指定した`/usr/local/lib`ディレクトリや、エラーに出ている  
`/usr/local/lib/include/llvm`ディレクトリが存在するか、実行ユーザーで作成できるかを確認してみてください。

また、実行環境がUbuntuであるなら、`make install`の代わりに`sudo make
install`とする必要があるかもしれません。システムディレクトリ以下にインストールする場合には管理者権限が必要で、エラーメッセージの箇所より前でディレクトリの作成に失敗している可能性もあります。

(追記)

<https://libcxxabi.llvm.org/index.html> の "build" の項を見ると、cmakeの実行時にLinuxでは  
以下の様な追加フラグを指定するように、とあります。  

>
[code]

>     on linux you may need to specify -DCMAKE_C_COMPILER=clang
> -DCMAKE_CXX_COMPILER=clang++
>  
[/code]


CC BY-SA 4.0
2019-09-06T00:45:41.197
57881
2019-09-06T05:56:27.713
2019-09-06T05:56:27.713
3060
3060
57877
answer