New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmake: "make install" tries to set permissions on target directories #4872
Comments
Is this an LLVM bug though, or a cmake bug? |
I don't know - cmake is an opaque mystery to me. How can I tell? |
I CCed Doug in the hopes he would know. |
This seems likely to be this CMake bug: |
This is actually a bug in LLVM and Clang's CMake code and not in CMake. The install(DIRECTORY) command documents how it sets permissions on directories, and it is consistent with the behavior observed here. We should not ask CMake to install the top-level "include/" directory for us because it is not exclusive to LLVM or Clang. Instead we should ask it only to handle the "include/llvm", "include/llvm-c", "include/clang", and "include/clang-c" subdirectories. I've just attached a patch to LLVM and another to Clang to fix this issue. |
Can you post it to the commit list for review? (Or use Phabricator to do so?) Thanks for tracking down the root cause of this issue. |
http://thread.gmane.org/gmane.comp.compilers.llvm.cvs/173963 |
I had been missing this PR for long time, ... :( Fixed in r201075 and r201076. I have confirmed Brad fixed this issue with prerequisites:
|
[rebranch][lld] Add SmallVector include to InputFiles.h
Extended Description
For me "make install" when using cmake fails with:
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/./include
CMake Error at cmake_install.cmake:36 (FILE):
file Problem setting permissions on directory "/usr/local/./include"
Indeed I don't have permission to change permissions on /usr/local/./include.
And why would I need to? There's no problem installing files inside that
directory, and setting their permissions. I think the fact that cmake is
trying to set permissions on /usr/local/include is a bug.
The text was updated successfully, but these errors were encountered: