Skip to content
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

Update matplotlib to 3.8.0, pillow to 10.0.1 #36320

Merged
merged 14 commits into from
Oct 21, 2023

Conversation

mkoeppe
Copy link
Contributor

@mkoeppe mkoeppe commented Sep 23, 2023

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@github-actions
Copy link

Documentation preview for this PR (built with commit 86c9580; changes) is ready! 🎉

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 30, 2023

On {ubuntu,debian}-minimal platforms:

    running build_ext
  
  
    The headers or library files could not be found for jpeg,
    a required dependency when compiling Pillow from source.
  
    Please see the install instructions at:
       https://pillow.readthedocs.io/en/latest/installation.html

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Sep 30, 2023

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Oct 1, 2023

This upgrade unfortunately does not help to fix a build failure with our current matplotlib on latest macOS / Xcode CLT / M2:

  arm64-apple-darwin20.0.0-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/yzh/mambaforge/envs/sage-build/include -fPIC -O2 -isystem /Users/yzh/mambaforge/envs/sage-build/include -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /Users/yzh/mambaforge/envs/sage-build/include -D_FORTIFY_SOURCE=2 -isystem /Users/yzh/mambaforge/envs/sage-build/include -I/Users/yzh/sage/worktree-10.2/local/var/lib/sage/venv-python3.10/include -I/Users/yzh/mambaforge/envs/sage-build/include/python3.10 -c src/_macosx.m -o build/temp.macosx-11.0-arm64-cpython-310/matplotlib.backends._macosx/src/_macosx.o -Werror
  src/_macosx.m:933:36: error: 'NSMomentaryLightButton' is deprecated: first deprecated in macOS 10.14 [-Werror,-Wdeprecated-declarations]
      NSButtonType buttontypes[7] = {NSButtonTypeMomentaryLight,
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                     NSButtonTypeMomentaryLight
  src/_macosx.m:19:46: note: expanded from macro 'NSButtonTypeMomentaryLight'
  #define NSButtonTypeMomentaryLight           NSMomentaryLightButton
                                               ^
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSButtonCell.h:137:27: note: 'NSMomentaryLightButton' has been explicitly marked deprecated here
  static const NSButtonType NSMomentaryLightButton API_DEPRECATED_WITH_REPLACEMENT("NSButtonTypeMomentaryLight", macos(10.0,10.14)) = NSButtonTypeMomentaryLight;
                            ^
  src/_macosx.m:934:36: error: 'NSMomentaryLightButton' is deprecated: first deprecated in macOS 10.14 [-Werror,-Wdeprecated-declarations]

@jhpalmieri
Copy link
Member

Builds for me on Apple M1 with latest OS, command-line tools, homebrew.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Oct 12, 2023

Thanks for testing! I am also not able to reproduce the failure mentioned above locally.

@jhpalmieri
Copy link
Member

Thanks for testing! I am also not able to reproduce the failure mentioned above locally.

Is the failure specifically conda-related? I am not using conda or mambaforge, just homebrew + CLT.

fi

PILLOW_BUILD_EXT="--debug --disable-jpeg $PILLOW_BUILD_EXT"
PILLOW_CONFIG_SETTINGS="-C debug=true -C jpeg=disable $PILLOW_CONFIG_SETTINGS"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we use debug?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It builds (on OS X) without -C debug=true; can we delete it? I can't tell from the documentation how this option might be useful in the Sage build.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is useful to diagnose build problems.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Oct 17, 2023

Thanks for testing! I am also not able to reproduce the failure mentioned above locally.

Is the failure specifically conda-related?

Yes, the arm64-apple-darwin20.0.0-clang in the log suggests that. Likely a misconfiguration.

@jhpalmieri
Copy link
Member

Okay, let's merge it.

@vbraun vbraun merged commit 50683ff into sagemath:develop Oct 21, 2023
15 of 50 checks passed
@mkoeppe mkoeppe added this to the sage-10.2 milestone Oct 21, 2023
vbraun pushed a commit to vbraun/sage that referenced this pull request Oct 28, 2023
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

The increased lower bound for meson is for contourpy, which was updated
in sagemath#36320.
ubuntu-mantic https://github.com/sagemath/sage/actions/runs/6645713841/j
ob/18057705190?pr=36541#step:10:2162
```
[contourpy-1.1.1]     ../meson.build:10:17: ERROR: Meson version is
1.1.1 but project requires >= 1.2.0
```

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36509
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee
vbraun pushed a commit to vbraun/sage that referenced this pull request Oct 29, 2023
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

The increased lower bound for meson is for contourpy, which was updated
in sagemath#36320.
ubuntu-mantic https://github.com/sagemath/sage/actions/runs/6645713841/j
ob/18057705190?pr=36541#step:10:2162
```
[contourpy-1.1.1]     ../meson.build:10:17: ERROR: Meson version is
1.1.1 but project requires >= 1.2.0
```

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36509
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants