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

build: support python 3.13, drop python 3.8 #122

Merged
merged 5 commits into from
Oct 2, 2024

Conversation

tlambert03
Copy link
Contributor

curious to see whether it fails.

for some reason, I'm currently unable to build pymmcore with any version of python locally on my mac:

* Building wheel...
No `packages` or `py_modules` configuration, performing automatic discovery.
`src-layout` detected -- analysing ./src
discovered packages -- ['pymmcore']
discovered py_modules -- []
running bdist_wheel
running build
running build_py
running build_ext
running build_clib
building 'MMDevice' library
creating build/temp.macosx-11.0-arm64-cpython-312/mmCoreAndDevices/MMDevice
clang++ -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /Users/talley/miniforge3/envs/py312/include -arch arm64 -fPIC -O2 -isystem /Users/talley/miniforge3/envs/py312/include -arch arm64 -DMMDEVICE_CLIENT_BUILD -ImmCoreAndDevices/MMDevice -c mmCoreAndDevices/MMDevice/Debayer.cpp -o build/temp.macosx-11.0-arm64-cpython-312/mmCoreAndDevices/MMDevice/Debayer.o
In file included from mmCoreAndDevices/MMDevice/Debayer.cpp:26:
In file included from mmCoreAndDevices/MMDevice/Debayer.h:27:
In file included from mmCoreAndDevices/MMDevice/ImgBuffer.h:26:
mmCoreAndDevices/MMDevice/ImageMetadata.h:329:58: error: ISO C++17 does not allow dynamic exception specifications [-Wdynamic-exception-spec]
  329 |    MetadataSingleTag GetSingleTag(const char* key) const throw (MetadataKeyError)
      |                                                          ^~~~~~~~~~~~~~~~~~~~~~~~
mmCoreAndDevices/MMDevice/ImageMetadata.h:329:58: note: use 'noexcept(false)' instead
  329 |    MetadataSingleTag GetSingleTag(const char* key) const throw (MetadataKeyError)
      |                                                          ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                                          noexcept(false)
mmCoreAndDevices/MMDevice/ImageMetadata.h:336:56: error: ISO C++17 does not allow dynamic exception specifications [-Wdynamic-exception-spec]
  336 |    MetadataArrayTag GetArrayTag(const char* key) const throw (MetadataKeyError)
      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~
mmCoreAndDevices/MMDevice/ImageMetadata.h:336:56: note: use 'noexcept(false)' instead
  336 |    MetadataArrayTag GetArrayTag(const char* key) const throw (MetadataKeyError)
      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                                        noexcept(false)
2 errors generated.
error: command '/opt/homebrew/opt/llvm/bin/clang++' failed with exit code 1

ERROR Backend subprocess exited when trying to invoke build_wheel

probably something on my end

@tlambert03
Copy link
Contributor Author

probably something on my end

nope. all non-windows builds appear to be failing here too

@tlambert03 tlambert03 mentioned this pull request Sep 26, 2024
@marktsuchida marktsuchida linked an issue Sep 26, 2024 that may be closed by this pull request
@marktsuchida
Copy link
Member

I think I have a fix for that. Let me see.

@marktsuchida
Copy link
Member

Or so I thought, but it looks like setuptools is not applying the CFLAGS we specify any more, which is going to be a problem even if we work around the C++17 problem. Will continue to investigate.

@marktsuchida
Copy link
Member

Broken since setuptools v72.2.0; builds with v72.1.0.

@tlambert03
Copy link
Contributor Author

k, building now, including py3.13

@tlambert03
Copy link
Contributor Author

want to drop py3.8 support, which is officially end of life in october?

@tlambert03
Copy link
Contributor Author

Broken since setuptools v72.2.0; builds with v72.1.0.

i guess this makes #109 more important :)

@marktsuchida
Copy link
Member

Thanks, @tlambert03!

want to drop py3.8 support, which is officially end of life in october?

Sure.

i guess this makes #109 more important :)

My thoughts exactly....

@tlambert03 tlambert03 changed the title test py313 build: support python 3.13, drop python 3.8 Sep 27, 2024
@tlambert03
Copy link
Contributor Author

done

@marktsuchida marktsuchida merged commit a596726 into micro-manager:main Oct 2, 2024
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Python 3.13
2 participants