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

[Feature request, enhancement, minor] Please consider adding the pacman command after error "ERROR: This python3 seems to be msys/python on MSYS2 Windows, which is known to have path semantics incompatible with Meson" #8726

Closed
rubyFeedback opened this issue May 3, 2021 · 2 comments · Fixed by #10224

Comments

@rubyFeedback
Copy link

Hey meson-folks,

Allow me to explain the issue first a bit. Today I compiled my first .exe on windows \o/ via msys2. And it worked!
(I am a linux person, so ... I have tons of ruby scripts that I use for batch-compiling everything.)

Anyway. Meson is very popular and for this we need python; python3.

The default install I did on windows msys2 was via pacman.

The message I get when I try to use meson 0.58.0 is this:

"ERROR: This python3 seems to be msys/python on MSYS2 Windows, which is known to have path semantics incompatible with Meson
ERROR: Please install and use mingw-w64-i686-python3 and/or mingw-w64-x86_64-python3 with Pacman"

See also here:

#8173

Obviously the best would be to get rid of it, and have meson just work as-is. But alright. ;)

Anyway - I found the command:

"pacman -S mingw-w64-i686-meson mingw-w64-i686-pkg-config"

I actually don't know pacman. :P

So that helped me.

Could this be included as an example, after the ERROR please? It may help future people who run
into this issue.

Perhaps show both variants, the other for 64 bit too, so people can pick. But I think this may
be better, because people can just copy/paste that command. So perhaps two more sentences
after the current ERROR message, would be appropriate, without becoming too overly verbose.

PS: You can state that it is not the job of meson to show this. Fair enough. But! Why does it then
mention the error "ERROR: Please install and use mingw-w64-i686-python3 and/or mingw-w64-x86_64-python3 with Pacman"?
So if it already does so, a copy/paste-able command would be better, IMO, after the explanation.

@tristan957
Copy link
Member

@rubyFeedback Seems like you could submit a PR pretty easily for this. There aren't many windows devs that contribute to Meson. Even this little bit helps.

@lygstate
Copy link
Contributor

It's a invalid error hints
Should be

ERROR: This python3 seems to be msys/python on MSYS2 Windows, which is known to have path semantics incompatible with Meson
ERROR: Please install and use mingw-w64-i686-meson  and/or mingw-w64-x86_64-meson  with Pacman

lazka added a commit to lazka/meson that referenced this issue Apr 1, 2022
msys/python in MSYS2 pretends to be cygwin in all cases for some time
now, so this check was impossible to hit.

The underlying confusion it tried to prevent is still there, namely trying
to build with mingw but wrongly using a msys/cygwin python/meson.

We can use the MSYSTEM env var to detect if we are in a mingw shell, and
in case the Python doesn't match we suggest installing mingw variants of both
python and meson.

Using msys/python + meson in a MSYS environment works fine on the other hand,
so no need to error out in that case.

Fixes mesonbuild#8726

Also addresses the concern raised in
mesonbuild#3653 (comment)
xclaesse pushed a commit that referenced this issue Apr 1, 2022
msys/python in MSYS2 pretends to be cygwin in all cases for some time
now, so this check was impossible to hit.

The underlying confusion it tried to prevent is still there, namely trying
to build with mingw but wrongly using a msys/cygwin python/meson.

We can use the MSYSTEM env var to detect if we are in a mingw shell, and
in case the Python doesn't match we suggest installing mingw variants of both
python and meson.

Using msys/python + meson in a MSYS environment works fine on the other hand,
so no need to error out in that case.

Fixes #8726

Also addresses the concern raised in
#3653 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants