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

Run 32-bit tests on macOS #202

Closed
wants to merge 1 commit into from
Closed

Conversation

mayeut
Copy link
Member

@mayeut mayeut commented Nov 10, 2019

Tests are only run in 64-bit mode on macOS while intel wheels are being produced.
This PR adds running tests in 32-bit mode.

There's an issue in virtualenv that prevents to get python2 working as well.

Fixes #203

@mayeut
Copy link
Member Author

mayeut commented Nov 10, 2019

I opened a PR at virtualenv to get things working smoothly.

@mayeut mayeut mentioned this pull request Nov 10, 2019
4 tasks
@mayeut mayeut force-pushed the macos-python-32 branch 6 times, most recently from a781641 to 42da7e7 Compare November 14, 2019 21:26
@mayeut
Copy link
Member Author

mayeut commented Nov 17, 2019

It seems virtualenv is in the middle of a major rewrite so it won't be fixed for python 2 for at least 1-2 months.
I think providing a way to test what's built, even if only in python 3, it's better than nothing.
Opening for review.

@mayeut mayeut marked this pull request as ready for review November 17, 2019 21:03
@Czaki
Copy link
Contributor

Czaki commented Nov 18, 2019

If there is an option for omit this test? Package may depend on 64 bits only library (compiled external). And there is no option for change python installer on 64-bits without fork.

@mayeut
Copy link
Member Author

mayeut commented Nov 18, 2019

If there is an option for omit this test? Package may depend on 64 bits only library (compiled external). And there is no option for change python installer on 64-bits without fork.

If a package depends on 64 bits only library, then it should not be deployed as an intel wheel (condition to trigger 32-bit tests). IMHO, if cibuildwheel fails to prevent such an upload, it's a major failure of cibuildwheel. I don't even know if such a wheel can be built... maybe you have more insight on that matter.

That being said, if such a wheel can be built, I think you're right in wanting to propose an alternative but that would be another PR. Probably something in the like of having an option to target only x86_64 (even with intel installers like 3.5 where there are no alternative installers, maybe through a delocate option, might need a PR there).

@Czaki
Copy link
Contributor

Czaki commented Nov 18, 2019

@mayeut But this is current situation. I ask about this in dealocate repository matthew-brett/delocate#56 (comment)

Current revision of cibuildwheel do not allow to choose only 64 bits for macos. And I think that these need to be introduced before merge this PR.

Also I remember that in #156 there shown suggestion to drop intel tag when drop python 3.5.

@YannickJadoul Check your cmake build project if it is multiarch.

@mayeut
Copy link
Member Author

mayeut commented Nov 18, 2019

But this is current situation. I ask about this in dealocate repository matthew-brett/delocate#56 (comment)

Thanks for the reminder

Current revision of cibuildwheel do not allow to choose only 64 bits for macos. And I think that these need to be introduced before merge this PR.

That I can agree with.

Also I remember that in #156 there shown suggestion to drop intel tag when drop python 3.5

Right, but maybe we can do something in the meantime.

@mayeut
Copy link
Member Author

mayeut commented Nov 18, 2019

I'll check if I can add a quick test building a 64-bit only wheel.

@YannickJadoul
Copy link
Member

@YannickJadoul Check your cmake build project if it is multiarch.

Interesting, yes, thanks! Any idea how to best test this? Just run python-32 and try importing?

@Czaki
Copy link
Contributor

Czaki commented Nov 18, 2019

I see three options:

  • Run all tests with python-32.
  • Run verbose compilation and check if there are two -arch in flags.
  • Run otool -f on all library files.

@mayeut
Copy link
Member Author

mayeut commented Nov 19, 2019

I found a way to build x86_64 wheel with python 3.5 intel installer. Will be tomorrow for the PR though, it's getting late.
Proposition: the other PR adds an option for targeting x86_64 only on macOS, then this PR can always run tests when intel is found in the wheel name. My fear is that it will clash with @Czaki PR. Given that his wheel PR has been merged, maybe we can hope for something soon and merge those PRs after #156.

@YannickJadoul
Copy link
Member

YannickJadoul commented Nov 19, 2019

@Czaki

Run all tests with python-32.

Grrrrmbl, I imported it and get an error :-( Thanks for mentioning this!

EDIT: It would be nice if delocate had noticed this, but OK...

@Czaki
Copy link
Contributor

Czaki commented Nov 19, 2019

@YannickJadoul you can participate in this discussion matthew-brett/delocate#56
I think that in future release dealocate with deal with it.

@YannickJadoul
Copy link
Member

@Czaki Thanks. But it's maybe my own fault/problem, if I'm calling CMake. Btw, do not that I'm still calling wheel and setup.py and only then CMake (through a custom build_ext in setup.py). So the file and wheel names etc are nicely handled by setup.py :-)

@Czaki
Copy link
Contributor

Czaki commented Nov 19, 2019

@YannickJadoul Ia all libraries on which you depend is build by your cmake, or you have some external dependencies (if the folder .lib in wheel is empty? - it may be hidden)?

@YannickJadoul
Copy link
Member

@Czaki No, I don't think so. Everything is just included in the compilation.

@mayeut
Copy link
Member Author

mayeut commented Nov 20, 2019

blocked waiting for #220

@mayeut mayeut force-pushed the macos-python-32 branch 2 times, most recently from 5a34be7 to af623f2 Compare November 20, 2019 22:06
@Czaki
Copy link
Contributor

Czaki commented Nov 20, 2019

@mayeut
Copy link
Member Author

mayeut commented Nov 20, 2019

@Czaki, yes, I saw that and I'm going to add it to the PR on intel vs x86_64 option

@mayeut mayeut force-pushed the macos-python-32 branch 2 times, most recently from e0f78ba to 762d58c Compare December 2, 2019 10:11
@mayeut
Copy link
Member Author

mayeut commented Dec 26, 2019

Closing in favor of #220 (only build x86_64)

@mayeut mayeut closed this Dec 26, 2019
@mayeut mayeut deleted the macos-python-32 branch February 6, 2020 17:17
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.

32-bit tests are not run on macOS when creating an intel wheel
3 participants