-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
llvmPackages_11: 11.0.0rc5 -> 11.0.0, enable on Darwin #99984
Conversation
@GrahamcOfBorg build llvm_11 lld_11 clang_11 |
@DieGoldeneEnte this builds now for Darwin, but stopped working for Linux. I have no clue why. |
libc++ failed,because it coudn't find python, it build normally once python3 is added as native build input. I need to take another look, why it suddenly needs python... |
Then it would fail on Darwin too, right? |
That's my problem. I couldn't find a relevant difference between the working package in nixpkgs and this. |
@DieGoldeneEnte on Darwin I get |
@GrahamcOfBorg build lldb_11 |
@GrahamcOfBorg build llvmPackages_11 |
@DieGoldeneEnte Maybe the |
I just tried rebuilding the current master version of libcxx, but it is actually broken, because of the missing monorepo-layout :( Regarding
Are you building libc++ in a sandbox? Maybe cmake finds a python version from the system? error:
|
@DieGoldeneEnte I am debugging this right now. I'll trigger you after having done the fix. |
Darwin also needs `Python3`, but finds a Python2 substitute in some framework.
~~Trying to figure out why the initial test for build dir equality goes
wrong, so that `HandleOutOfTreeLLVM.cmake` gets called.~~
It should be called. The monorepo layout is orthogonal to standalone build.
…On 10/14/20, Holger Wünsche ***@***.***> wrote:
I just tried rebuilding the current master version of libcxx, but it is
actually broken, because of the missing monorepo-layout :(
Is this the same problem as on darwin (before the changes here)?
Regarding `LIBCXX_STANDALONE_BUILD`, this is set by cmake (in
libcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake). So I don't think it should
be set.
Reading the CMakeLists.txt file, it seems python is mandatory when building
standalone (and cmake >3.12). I don't understand, why darwin doesn't need
it, since the cmake code is (shortened):
```
if (LIBCXX_STANDALONE_BUILD)
if(CMAKE_VERSION VERSION_LESS 3.12)
[...]
else()
find_package(Python3 COMPONENTS Interpreter)
if(NOT Python3_Interpreter_FOUND)
find_package(Python2 COMPONENTS Interpreter REQUIRED)
[...]
endif()
endif()
endif()
```
Are you building libc++ in a sandbox? Maybe cmake finds a python version.
error:
```
libc++abi now requires being built in a monorepo layout with libcxx
available
```
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
#99984 (comment)
|
shouldn't the test ( |
@DieGoldeneEnte yes that test should be I am making |
@DieGoldeneEnte things look good on my side! |
https://lists.llvm.org/pipermail/release-testers/2020-October/001377.html https://lists.llvm.org/pipermail/llvm-announce/2020-October/000089.html Fixes: - builds on Darwin - builds `libcxx` on Linux
@ggreif Why is the llvm source needed for libc++*? Is it to simulate the monorepo? |
That's what I understand, too.
THX! 🥇 |
LGTM then! I think we will need to rewrite the llvm package since building the projects standalone is less and less supported. |
Problem is with compilert-rt:
fixed it (at least for i686) in my PR targeting this PR-branch. |
@volth @DieGoldeneEnte but this is not a regression vs. Anyway, better open a PR against those separately. |
@ggreif It was introduced with 11.0.0-rc1, 10.0.1 does not have this change. |
@DieGoldeneEnte feel free to merge your fix then.
…On 10/15/20, Holger Wünsche ***@***.***> wrote:
@ggreif It was introduced with 11.0.0-rc1, 10.0.1 does not have this
change.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#99984 (comment)
|
compiler-rt (and as a result clang) can't be build for i686 (as noticed here: #99984). The patch adds the required variables and should result in the same behavior as in the nixpkgs-llvm10. It essentially forces to use i386 buildins when using i486, i586 or i686, which are not supported. Fixes #100392
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The diff LGTM :) Thanks @ggreif and @DieGoldeneEnte!
@ggreif is this ready to be merged now?
Edit: I just re-read any comments and everything seems to be resolved :) I'll go ahead and merge this then. Huge thanks again!
compiler-rt (and as a result clang) can't be build for i686 (as noticed here: NixOS#99984). The patch adds the required variables and should result in the same behavior as in the nixpkgs-llvm10. It essentially forces to use i386 buildins when using i486, i586 or i686, which are not supported. Fixes NixOS#100392 (cherry picked from commit 6948875)
compiler-rt (and as a result clang) can't be build for i686 (as noticed here: NixOS#99984). The patch adds the required variables and should result in the same behavior as in the nixpkgs-llvm10. It essentially forces to use i386 buildins when using i486, i586 or i686, which are not supported. Fixes NixOS#100392 (cherry picked from commit 6948875)
Motivation for this change
llvmPackages_11
doesn't compile on Darwinlibcxx
(11.0.0rc) doesn't compile on Linuxcc.gcc
#91293 to 11.0.0Things done
python3
now mandatory for buildinglibcxx
everywherev11.0.0
finalsandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)