-
-
Notifications
You must be signed in to change notification settings - Fork 274
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
Document the MSYS2 stack #1891
Comments
Thanks for the initiative, @jaimergp! One question I would like to see addressed is that of data model: Unix generally uses LP64, whereas Windows uses LLP64, the main difference being that If we think the main reason for the win-64 subdir is the porting of Unix toolchains, it may be better to just go with the Cygwin approach? |
…on minimum This is the same issue as seen in conda-forge/xorg-libxt-feedstock#13 -- it looks like the X.org packages are bumping their autoconf requirements to 2.70, while our Windows toolchain only provides 2.69. Unfortunately, we don't really know how to update the Windows tools right now, as tracked in conda-forge/conda-forge.github.io#1891 . Let's see if it works to just patch the version requirement down. The 2.70 release of Autoconf is billed as introducing several important changes (and it comes 8 years after 2.69), but I would expect that if it doesn't reject the `configure.ac` specification, we should be OK.
It looks like the update to Python 3.12 is going to interact with this issue. In conda-forge/xcb-proto-feedstock#24 , the Windows / Python 3.12 build is failing because the most recent available MSYS2 automake package, |
@zklaus, |
@pkgw, we will update the packages in the near future. |
@isuruf That is great to hear! Do you have a sense of how near "near" is? Depending on the timeline it might make sense to deploy some workarounds to help advance the Python 3.12 migration. |
A month or two I guess |
Any update on this? Would be awesome to have an update to the old 2016 packages. |
The m2 packages have been updated, but not the m2w64 packages. |
As of today, how is it possible to use MSYS2 to build newer packages which have various issues impacting its usage with Visual Studio (such as https://mesonbuild.com/FAQ.html#my-project-works-fine-on-linux-and-mingw-but-fails-to-link-with-msvc-due-to-a-missing-lib-file-fatal-error-lnk1181-why)? For instance, I need to use m2-automake1.16 which is required for autoconf > 2.70, and there is the following error with the m2w64_c toolchain. Would like to know if it's possible to utilize this now or not.
Edit: For an answer to this, refer to conda-forge/xorg-makedepend-feedstock#9 (comment) (copied below) I'll duplicate one of my commit messages here in the PR discussion. For posterity, here are the changes to update the package to work with the updated MSYS2 stack:
Other X.org packages that are migrating should also use the opportunity to start depending on the unified xorg-xorgproto protocol package, which supersedes the individual xorg-*proto packages that we have used historically. In this particular package, we also need to patch the source to work on a native MSVC build. I believe that most other X.org packages should be able to build with MSVC without needing (additional) patching. |
Moreover, is it possible to use code containing fork() with Windows MSYS2 builds without major patches? If so, how? |
@ehfd I think your kinds of questions are a bit too fine-grained for this issue, which is more targeted at the higher-level MSYS2 situation. I've replied in the xorg-libxmu PR thread with some pointers. |
Where should the content be added?
Probably in the knowledge base
What should be added?
The MSYS2 stack is built in non-conventional ways and its not well documented. E.g. TIL how
m2-*
vsm2w64-*
packages must be used in the recipe, but I don't know why.There are some issues with some background, but the picture is incomplete and it should be preferably clarified and discussed in the documentation.
Additional information
The text was updated successfully, but these errors were encountered: