-
Notifications
You must be signed in to change notification settings - Fork 865
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 via setup.py proper using scikit-build #58
Conversation
…o be present in newer systems, potentially breaking upgrade
* - diplication * - WinXP-related bits * pip erroneously considers cv2/ as installed package when in sourceroot * require CMake output entries to be found * 3.5+ uses different .pyd naming scheme * .pyd is placed differently in Linux * DLL is only in Windows
Screw checking.
I agree that the multibuild system is rather convoluted. The command which triggers the build is You are correct about about It's better to do About Linux: afaik multibuild is usable only when the build runs in Travis or you have Docker installed on your machine. Docker is not needed for local builds when someone wants to build the project via |
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.
Looks good. Does the Travis machinery work like before after these changes? Would it be easier to do the Travis changes separately and make another PR after that?
'Operating System :: Microsoft :: Windows', | ||
'Operating System :: POSIX', | ||
'Operating System :: Unix', | ||
'Programming Language :: Python', |
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.
These were added in a recent PR, could you add them in here also.
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
No, Travis doesn't work. I'm currently fixing it in https://github.com/native-api/opencv-python/tree/build_locally_travis and will merge into this branch here when I'm done. You can see results at https://travis-ci.org/native-api/opencv-python . I think I'll make yet another |
Ok, then it's better to wait for the Travis changes. It's nice if we can use the upstream directly, forks bring always additional maintenance burden. |
#57) # Conflicts: # setup.py
FYI changelogs for the customized images are at quay.io if needed: |
Linux builds now work but I'm stuck with MacOS. Travis keeps building fat binaries (which times out the build) even though I specify |
I had the same problem and that's why I patched OpenCV's CMakeLists.txt: https://github.com/skvark/opencv-python/blob/master/travis/disable_i386.patch There's a 90 minute build timeout in my |
I found where these flags come from. It's |
Nice find! I gave up when I debugged the same issue last time. |
* inline the remaining standalone scripts
* allow for if the sourcetree is a submodule
* re-add workaround for travis-ci/travis-ci#9055
* -DWITH_GTK=OFF proved to be unneeded, gthread is among manylinux requirements
… build_locally # Conflicts: # appveyor/build.cmd # setup.py
# Conflicts: # .gitignore # appveyor.yml # setup.py
Okay, that should do it. |
Sorry, haven't had time to look at this yet. I will check the code before merging if there are no new changes coming anymore. |
Finally had time to read this through properly. Thank you very much. The code is now much cleaner and easier to manage. |
Subj, now it can be built with the normal
setup.py build/bdist_wheel
which the CI should be invoking. https://ci.appveyor.com/project/native-api/opencv-pythonThings that don't yet work:
travis
machinery. It's rather convoluted, could use a hand here. I still can't figure out which script is the "root" one (nothing seems to invokedocker_build_wrap.sh
that looks like it according tomultibuild/README.rst
) and how to debug this (can't test this locally, so each edit-check step would take half a day or so).travis/build_*
(and references) and other build steps should do since the defaultmultibuild
build fn already callsbdist_wheel
.sdist
andtest
don't work yet. That I consider separate tasks.