-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[libmesh] Fix Windows build #22810
[libmesh] Fix Windows build #22810
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
Most of the changes in the new patches are submitted upstream: |
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.
Please remove all the content related to libmesh:WIN_TRIPLET in VCPKG_ROOT/scripts/ci.baseline.txt.
Waiting for the upstream approval. |
@JackBoosY this requires more work as the port installs conflicting files:
And there are more (see scripts/ci.baseline.txt entries for this port) |
So you should change |
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
@JackBoosY have you checked the source code before giving the advices and marking the port as requires:author-response? The port is already marked as 'skip' in ci.baseline.txt with the appropriate comments |
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
Ah sorry, they were marked skip. This must be my memory messed up. |
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
- compile .C files as C++ - Fix unistd.h inclusions - export explicit template instantiations as libtool "export all" linking does not pick them up due to their sections marked as "(pick any)" in dumpbin output - other MS VC-related fixes
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.
You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/libmesh/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
The upstream approved this changes. |
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.
Thanks for the PR!
I see that upstream has approved and merged libMesh/libmesh#3135, and tacitly has approved libMesh/libmesh#3144, however there is still a significant amount of patching in this PR that hasn't been submitted upstream (as far as I can tell).
I'd really like to see the patches in this PR reduced to pulling diffs from the libmesh GitHub, for example:
vcpkg_download_distfile(
PATCH1
URLS "https://patch-diff.githubusercontent.com/raw/libMesh/libmesh/pull/3135.diff"
SHA512 ...
FILENAME libmesh-3135.diff
)
# ${PATCH1} is the location of the downloaded patch and can be passed to PATCHES in vcpkg_from_github()
(You can also get an individual commit: https://github.com/libMesh/libmesh/commit/ac5ebe88de3c15a51b9cf79ad5e8c5244beb6337.diff)
That helps us by ensuring (by construction) that upstream has everything for evaluation and that we aren't checking large amounts of code into the vcpkg registry.
@ras0219-msft libMesh/libmesh#3144 has been merged Unfortunately, patches for merged PRs can not be taken from libmesh github as they are done against master (so we will need to update libmesh version first). I would suggest to merge this PR as is, then when we will update libmesh version we can remove merged patches. |
Personally I would prefer to do that update first. I tried to do so but ran into
I'm assuming @ras0219-msft tagged this because normally we would not accept patches of this magnitude, but the reason we normally won't accept them is because we are worried about updates and "owning" the consequences of those patches. Seeing that they are already merged upstream mitigates that concern. Even so the patches are huge and may even be scary for licensing reasons. Hopefully we should have an answer for you on Thursday. |
We discussed this "in person" today and agreed that we would like to see an update to the current shipping copy of libMesh before attempting to apply these patches, with the hope that that means the patches actually applied upstream will apply cleanly. Because 1.6.2 has submodules that need to be fixed up, if you're interested in tackling that you'll need to call vcpkg/ports/gstreamer/portfile.cmake Lines 19 to 63 in 805811e
|
@ras0219-msft also indicates that the release tarball (which you'd get with |
Ping for response. |
There is an issue with linking libmesh after I updated to the latest libmesh (with Windows build fixes) |
@mkhon Can you please provide the failure logs? |
Ping for response again. |
Closing this PR since it seems that no progress is being made. Please reopen if work is still being done. |
Describe the pull request
update to the master w/ Windows build patches
What does your PR fix?
libmesh build on Windows
Which triplets are supported/not supported? Have you updated the CI baseline?
Yes. I haven't changed ci.baseline.txt as there are still issues with conflicting files installed by libmesh port which should be handled in a separate PR
Does your PR follow the maintainer guide?
Yes
If you have added/updated a port: Have you run
./vcpkg x-add-version --all
and committed the result?Yes
If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/