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

[clapack, lapack-reference] Add conflict messages #13200

Merged
merged 10 commits into from
Sep 1, 2020

Conversation

NancyLi1013
Copy link
Contributor

Describe the pull request

clapack and lapack-reference cannot be installed at the same time, since both of them will install lib/lapack.lib.

Note: No need to test features.

@NancyLi1013 NancyLi1013 added category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. labels Aug 28, 2020
ports/clapack/portfile.cmake Outdated Show resolved Hide resolved
ports/lapack-reference/portfile.cmake Outdated Show resolved Hide resolved
NancyLi1013 and others added 2 commits August 28, 2020 18:02
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
@cenit
Copy link
Contributor

cenit commented Aug 29, 2020

Since there might appear even other provider of lapack in future (there are many vendor), what about using the strategy adopted in opencv (where there are already v2, v3 and v4 here on vcpkg, that have to be exclusively installed)?
The idea is that if you just look at the artifact library you cannot really check who installed it if there might be 2 more other ports, so I relied on looking at the share/${PORT} Folder.
In this case I can pinpoint the real source of troubles
Please let me know if I was not clear enough

@JackBoosY
Copy link
Contributor

@cenit But these two ports are different, not a higher or lower version of the same port.

@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label Aug 31, 2020
@cenit
Copy link
Contributor

cenit commented Aug 31, 2020

No I mean...
In case we add a third lapack implementation, which will provide lapack.lib like these, this message will have to be reworked in order to identify the port already installed.

Let's assume port A, B and C provide lapack.lib. If you have installed B and then you ask to install A, in order to tell you that you have to remove port B, vcpkg needs to check for the presence of share/B. This is the only robust way to identify colliding ports.
Otherwise looking only at lapack.lib, you cannot say if it was provided by B or C during A installation...

@JackBoosY
Copy link
Contributor

@cenit make sense.

@cenit
Copy link
Contributor

cenit commented Aug 31, 2020

That's the only similarity with opencv2/3/4 ;)

@JackBoosY JackBoosY removed the info:reviewed Pull Request changes follow basic guidelines label Aug 31, 2020
ports/lapack-reference/portfile.cmake Outdated Show resolved Hide resolved
ports/clapack/portfile.cmake Outdated Show resolved Hide resolved
@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label Aug 31, 2020
Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@NancyLi1013 @JackBoosY When we edit alternatives like this make sure to double check the ones that CI is not testing manually.

@BillyONeal BillyONeal merged commit 913c7f9 into microsoft:master Sep 1, 2020
@BillyONeal
Copy link
Member

Thanks for your contribution!

ras0219 pushed a commit to ras0219/vcpkg that referenced this pull request Sep 1, 2020
@joavd
Copy link

joavd commented Nov 2, 2020

I have a problem related to this, can't install Clapack due to lapack.lib being installed already from lapack-reference.
Vcpkg is already updated, any known fix?

@BillyONeal
Copy link
Member

@JoaoAVDuarte That is not something vcpkg can fix: only one of those libraries can be in use at a time because they both try to provide the same symbols and library names. You need to choose one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support info:internal This PR or Issue was filed by the vcpkg team. info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

lapack-reference:x64-windows build failure
5 participants