-
Notifications
You must be signed in to change notification settings - Fork 39
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
Investigate symlink patch breaking subst paths #41
Comments
This works if the reason they differ is because there were symlinks involved somewhere in the path, but does not work if there's some other reason (WoW fs redirection and subst have been revealed so far). Not so sure that that was a safe assumption to make |
https://cygwin.com/pipermail/cygwin/2021-May/248457.html So now the question becomes, what's different between cygwin and msys2-runtime that would cause this... |
fstab setup makes the difference: https://cygwin.com/pipermail/cygwin/2021-May/248458.html |
https://cygwin.com/pipermail/cygwin/2021-May/248466.html I wonder if treating subst paths as symlinks will cause issues for me using them as a way to get shorter paths for builds. Seems like things could silently 'dereference' them back to their too-long variants. |
Just tried and cygpath de-references the symlink when converting to a Windows path. |
|
fixed #42 (comment) |
It appears this was only fixed for the root of a SUBST drive... https://cygwin.com/pipermail/cygwin/2021-May/248612.html |
https://cygwin.com/pipermail/cygwin-patches/2021q2/011405.html That turned out not to help, as |
With the patch above, plus patching msys2_path_conv.cc https://cygwin.com/pipermail/cygwin-patches/2021q2/011407.html |
https://cygwin.com/pipermail/cygwin-patches/2021q2/011408.html I also had to patch out I wonder if Corinna is taking the long weekend off or something. Everybody's entitled to a break, but I want to know if I'm on the right track 🤞 |
I believe this is the issue I'm running into after updating to msys2-runtime-3.2.0-8. Background Rolling back to 3.2.0-6 seems to have resolved my issue for now. |
If you don't mind, maybe chime in on cygwin@cygwin.com with your case. Also, I could open a PR here with my latest patch so you could get a binary to try, to see if it helps your scenario. I don't know if it will or not, because cygwin processes will still see them as symlinks and may dereference them if they choose to. |
the combination of #46 and msys2/msys2-pacman#3 mostly works for me. |
I noticed in a test build that that wxPython-4.1.1 freaked out in this scenario, but was fine when the working copy was a 'real' path. I'm guessing because |
For the record, before I lose it, there was another report of this new behavior causing problems:
|
Thoughts about this? Should we try my workaround patch #46 (ish, that may be out of date by now, I think there was a formatting revision after that). Or just disable this block of code altogether and go back to the old behavior that worked for everyone but cmake tests? |
I'm getting to the point that I just want to wrap the block of code that tries to resolve inner native symlinks in |
Part of #46 was applied upstream: https://cygwin.com/pipermail/cygwin-patches/2021q3/011440.html The change to make |
https://cygwin.com/pipermail/cygwin-patches/2021q3/011444.html In response to making an option to disabling this:
So, what do you guys think about an MSYS2 patch to make it an option? Or just disable it like #54 and be done with it? |
Honestly, I'm not even sure what the original change was trying to resolve, as I've never run across a situation where I would need it. I'd say either disable it or put it under a flag that isn't used by default. But that's me as an MSYS2 user |
It was trying to solve some errors in cmake's test suite IIRC. #38 (comment) |
This seems to be a fairly rare situation, so I am mostly considering an option that enables this code by default, and the handful of people who use mapped network drives or subst and run into issues can be told to enable the option. |
Does that look like just setting an environment variable for the given flag? |
yeah. https://cygwin.com/cygwin-ug-net/using-cygwinenv.html except it's called |
See #40 -> msys2/MSYS2-packages#2471 (comment)
Upstream questions:
The text was updated successfully, but these errors were encountered: