-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[popsift] add new port v0.9 #10979
[popsift] add new port v0.9 #10979
Conversation
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.
When building x86-windows
:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cublas_LIBRARY (ADVANCED)
linked by target "popsift" in directory C:/agent/_work/1/s/buildtrees/popsift/src/v1.0.0-rc1-ce675fc178/src
-- Configuring incomplete, errors occurred!
When building x64-windows-static
:
Expected Debug,Static crt linkage, but the following libs had invalid crt linkage:
C:/agent/_work/1/s/packages/popsift_x64-windows-static/debug/lib/popsiftd.lib: Release,Static
I can reproduce the build error on "x64-windows-static" but I do not understand the problem. Does it mean that the library is built in Release instead of Debug? |
@fabiencastan Yes, that's right. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
When building
|
@JackBoosY thanks for the log |
BTW, it works ok on my local machine and I don't have any special env variable set for cuda |
@JackBoosY I'm sorry but I'm still struggling trying to figure out this Linux problem.
which can be found here https://github.com/Kitware/CMake/blob/v3.14.0/Modules/FindCUDA.cmake#L700 FindCUDA is normally able to find cuda in the most common installation places, if it is installed in some weird places, you can pass CUDA_TOOLKIT_ROOT_DIR to tell him where to look. Even if I wanted to add this to our portfile I still have no clue on what to set it to:
Is there any variable that has this information? Whenever the cuda portfile is called, are the variables set there visible by other packages? (I hope not as this can lead to a clusterf**k of name conflicts...) |
@simogasp Yes, I‘m investigating this issue in depth. |
Hmm... I have no permission to push to your branch. |
thanks @JackBoosY for the patch, I'm pretty sure that with this it is gonna work. On the other hand, I'm not sure that is the correct solution to put in place because we are just replicating the code of cuda portfile, which means we have to maintain it twice or more if the same patch it is applied to all the other packages depending on Cuda. It seems that our package is the only one, so far, that has a mandatory dependency on Cuda, for all the others (darkned, opencv etc) it is only optional: I imagine that the CI does not build the optional features otherwise they would have the same issue as well. I think that at this point we should figure out a way to export this
if(NOT DEFINED CUDA_TOOLKIT_ROOT_DIR)
include(${VCPKG_INSTALL}share/cuda/cuda) # this is wrong but I don't know if there is a variable that we can use that tells the install path
endif()
...
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS ${FEATURE_OPTIONS}
-DCUDA_TOOLKIT_ROOT_DIR:PATH=${CUDA_TOOLKIT_ROOT_DIR}
...
) I think that something like that will benefit all the other packages that depend on Cuda. thanks again for your help! |
Yes, that's only a workaround. According to FindCUDA.cmake, has the cuda default path been changed? @strega-nil What do you think about? |
I observe that the port is trying to do
The port is looking for CUDA 7 but our CI machines have CUDA 10.1 (soon to be 10.2). Perhaps the deprecated script hasn't been updated for the current versions? We install CUDA here:
|
I see that other ports that want CUDA have |
According to the official documentation:
So, can you report this to upstream? Thanks. |
It looks like we need to come up with some way of exporting the path to CUDA determined by our |
Thanks for your replies.
should make things better.
But I agree that having a mechanism to export the cuda path would be great! |
ee6e113
to
55136b0
Compare
@JackBoosY any idea why we are getting this error only for x86, the baseline for the version is correctly set |
@JackBoosY sorry, scratch my previous question, I didn't see we need another json to be added. Now it seems to be working. |
Co-authored-by: Jack·Boos·Yu <[email protected]>
Wait for #16270 merge. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
LGTM in my side. |
Any news? Is the PR ok to be merged or are there any more comments? I know we kept it WIP for a very long time, it would be nice to merge it soon if no other changes are required. Thx! |
Thanks for the ping to bring this back up to the top of the stack! |
Describe the pull request
It add a new port for popsift library for sift feature detection in images.
It depends on Cuda and optionally on boost if the tools are built.
Which triplets are supported/not supported? Have you updated the CI baseline?
It builds on win, osx, and Linux, shared or static
Does your PR follow the maintainer guide?
yes