-
-
Notifications
You must be signed in to change notification settings - Fork 503
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
tox.ini: Add environments for testing with llvm / clang #30835
Comments
comment:1
Setting new milestone based on a cursory review of ticket status, priority, and last modification date. |
comment:3
Is there a need to distinguish several versions of clang / LLVM on the same system for portability testing purposes? |
This comment has been minimized.
This comment has been minimized.
comment:4
Replying to @mkoeppe:
that's probably too much trouble. There is a distinction w.r.t. which standard C++ library clang uses, GNU's (libstdc++) or LLVM's (libc++), which is more important. |
Commit: |
comment:6
Here's some preliminary distro package information - just guesswork based on reading https://repology.org/project/llvm/versions Help with refining it is welcome New commits:
|
comment:7
What's the Fortran situation with LLVM? Use flang or gfortran? |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
This comment has been minimized.
This comment has been minimized.
comment:11
Replying to @mkoeppe:
flang is still not quite ready for prime time gfortran is good. |
Author: Matthias Koeppe |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:15
I tried |
comment:16
How do I actually run tests in such a local setup (I can't use docker on that machine) |
comment:17
You can do |
comment:18
I feel like I've had this happen before: I ran |
comment:19
Prime suspect is |
comment:21
I reran and |
Attachment: pillow-8.1.2.log |
comment:22
Replying to @jhpalmieri:
I think this is just that some of Apple's system headers can only be compiled with Apple's compiler. |
comment:23
I asked a question like this before, but should there be a |
comment:24
I think what you want, in addition to just removing the .tox directory, is #31111 ( |
comment:25
Replying to @mkoeppe:
No, if you just do +++ b/build/pkgs/pillow/spkg-install.in
@@ -10,7 +10,7 @@ if [ "$UNAME" = "Darwin" ] ; then
# #29019
# https://github.com/python-pillow/Pillow/issues/3438#issuecomment-555019284
# https://apple.stackexchange.com/questions/372032/usr-include-missing-on-macos-catalina-with-xcode-11/372600#372600
- export CPATH="$CPATH:`xcrun --show-sdk-path`/usr/include"
+ export CFLAGS="$CFLAGS -DTARGET_OS_IPHONE=0 -DTARGET_OS_OSX=1 -DTARGET_OS_MACCATALYST=0"
fi
if [ "$CONDA_PREFIX" != "" ]; then then Pillow builds with Homebrew's clang (perhaps there is a more intelligent way, including some header?). |
comment:26
with the patch in comment:25, I can build and doctest Sage on Homebrew llvm/clang/clang++ just fine (modulo few known errors). |
comment:27
Upstream report? |
comment:28
Replying to @mkoeppe:
do you have any idea what Pillow is doing in a non-standard way while building Python extensions? Perhaps it's a setuptools bug? |
comment:29
Pillow's setup.py does a lot of "discovery", the details are messy. To isolate what is happening here, you could use the |
Replying to @mkoeppe:
Let me emphasize that the scope of this ticket should be to add the test environments, which will facilitate testing and porting. It is not within the scope to do all the porting work. |
comment:31
Replying to @mkoeppe:
I am not sure I understand how to |
comment:32
If I
it cannot find
|
Reviewer: Dima Pasechnik |
comment:33
OK, let's deal with Homebrew clang on #32207 |
comment:34
Thanks |
Changed branch from u/mkoeppe/tox_ini__gh_actions__add_environments_for_testing_with_llvm___clang to |
https://groups.google.com/d/msg/sage-devel/5lzj9n57oRI/09AtJyUBBQAJ
We add
tox
configuration factor for usingllvm
llvm
(https://repology.org/project/llvm/versions)Examples:
tox -e local-homebrew-macos-standard-llvm
tox -e local-homebrew-macos-standard-usrlocal-llvm
(use at your own risk - updates the global homebrew installation)tox -e docker-fedora-34-standard-llvm
Portability issues (solving them should not be a prerequisite for the present ticket):
pynac
- https://groups.google.com/g/sage-devel/c/N03gtymVUnA/m/9WpvHZZRAAAJlinbox
- https://groups.google.com/g/sage-devel/c/4ZH2MwIY0js/m/bnax1dsvAAAJWhen it works on at least a few platforms, we will want to create GH Actions workflows that build Sage with llvm on various platforms for each release tag.
CC: @dimpase @jhpalmieri @videlec @kiwifb
Component: porting
Author: Matthias Koeppe
Branch/Commit:
38e3d3e
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/30835
The text was updated successfully, but these errors were encountered: