-
Notifications
You must be signed in to change notification settings - Fork 14
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 windows with conan support #9
Conversation
Cool. Just so you are aware, Considering the short list of dependencies, I much prefer static linking. |
If you change the branch trigger from |
the changes in the actions yaml are up for discussion for sure. indeed my muscle memory kicked in with master. but it's fine in the |
urgh.. it worked so far, but seems we're running into pybind/pybind11#1908. running the example in ipython:
I didn't read the full issues, it's quite long, so there might be a solution/workaround somewhere. at least it worked locally.. pushing soon. |
Ah, yeah I am familiar with the issue. We need a smarter way to determine the dtype in Shouldn't happen too often. Right now it should only be |
ok great! that should be it now I hope. I'll comment more in the PR. just one thing I don't quite get yet: how does cibuildwheel know what's in |
## Building | ||
|
||
Building the source distributions on another OS requires: | ||
- the `./build-requirements.txt` Python dependencies |
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.
ah, didn't include that file yet, but would be helpful no?
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.
I added it
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.
I still think it can't hurt to have it here for the old people like me who are still used to python setup.py xx
;) happy to remove it as well though
[generators] | ||
json |
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.
this will instruct conan to write the build information of the 2 libraries to a json which we can then parse in the setup.py
I'll see tmrw if the cache for conan worked as well this time |
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.
Amazing job, Nils!
A little bit of cleanup and this should be ready to merge.
PEP 517 is a python specification for placing it there. Most installers like |
BTW, I think you could get |
# Homebrew puts include folders in weird places. | ||
include_dirs.append("/usr/local/opt/openssl@1.1/include") | ||
extra_link_args.insert(0, "-L/usr/local/opt/openssl@1.1/lib") |
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.
actually, using conan on mac for ci would remove these lines as well. which are not very robust I think. brew is pretty updated always I found, some users might actually have 3.x soon? anyways, more of a works-now-why-change thing. but maybe good to keep in mind in worst case
addressed your review, thanks, was really helpful! win CI is not caching right yet. might need to do a round or two more.. generally no stress with this (from my side anyways). I seem super active right now, but just trying to get it out of my head;) |
a2af052
to
7ed359b
Compare
jeez.. that ruined my day really, as much as I hate letting things go, this is one of these times.. for now anyways.. env vars in github actions are TERRIBLE.. I really tried 3-4 different ways of doing it, none worked (also doesn't help that it's not really stable yet and keeps changing).. this is the official guide: https://docs.github.com/en/actions/learn-github-actions/workflow-commands-for-github-actions#environment-files. no idea how to work these environment files and the section below that (>> $GITHUB_ENV) didn't work either. if you have a good idea, most appreciated.. the problem is that:
|
Sorry, I have very little expertice on Windows. My guess is likely going to be worse than yours. |
Sorry, wrong button... |
no worries, next time I'll have more patience. problem is github actions, not so much windows. it just won't cache the path I tell it to. win desktop is one frustrating experience, but windows CI takes the cake! |
b39e33a
to
b395658
Compare
oh boy... had a long battle with win ci in our fork.. seems like I slayed the bastard finally! problems were many.. the cache action somehow uses gnu tar.exe which seems to have problems with windows path separators. and github actions env vars on windows have to be prefixed with |
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.
Great work @nilsnolde! I know how difficult win build can be.
fixes #4
still WIP, didn't try on windows yet. worked on linux though.windows worked as well as on linux. so anyone should be able to use conan if desired.one thing I realized: at least on linux conan installs only static libraries for openssl & crypto, so the final python .so is bigger but not much to do for auditwheel then.