Open jdtournier opened 8 years ago
But what I don't get is that the version numbers differ between the python and mingw-w64-x86_64-python3 packages
The mingw-w64-x86_64-python2
and mingw-w64-x86_64-python3
packages are maintained and provided by MinGW64; python
is from MSYS. Different versions that get installed to different locations. :-/
If I use the mingw-w64-x86_64-python3 version explicitly, configure fails:
I recall at some point in my frustrating Windows installation debugging that EIGEN_CFLAGS=-isystem /path/to/eigen3
didn't work, but EIGEN_CFLAGS=-I/path/to/eigen3
did. Don't recall the exact circumstances though.
So overall I'd be happy to replace mingw-w64-x86_64-python3 with python on the list of suggested packages, but the problem is that the scripts also rely on numpy, and the only version available is mingw-w64-x86_64-python3-numpy:
Yes, I hit that myself too. Removed the numpy
include from dwiintensitynorm
since it wasn't actually being used, and had just gotten used to population_template
throwing an error during documentation generation. But that's maybe not a solution for everyone. See if the -I/path/to/eigen3
trick works, and if it does maybe we should recommend installing that version and have clear instructions in the documentation.
If anyone has any idea why things are in such a mess, please enlighten me...
Don't even get me started on trying to solve Qt issues on Windows :fearful:
OK, I think this makes some kind of sense... I'm assuming all these issues will sort themselves out in due course. But in the meantime, MSYS2 is in a bit of a mess. I don't know if any of you tried to update your installation recently (pacman -Syu
), but all the shortcuts to start the various shells stop working. And this is using the latest installer. Currently our instructions will fail because of this. All you get when you update MSYS2 is a message right at the end telling you what commands your shortcuts should have in them - not exactly the most obvious way to present the information, or particularly easy to fix for your average user...
I'm not sure how to fix this in the immediate future. I guess once we have stable releases, we can provide sanitised and up to date versions of MSYS2? But this seems like a lot of work to fix something that really ought to just work...
Yes, their first update warnings are not great. It does say somewhere that that step shouldn't be required after some point in time. But really all it should need is a warning on our docs page saying to pay attention to the warnings that are provided during that step.
Not great is an understatement... I reinstalled MSYS2 about 3 times in a row before finally noticing that message. I knew about the whole 'close the window, don't return to shell' issue, but that message was actually quite a few lines previous to that bit, and very hard to notice if you're just going through the motions.
And besides, the message itself is going to completely stump most users. Even if you know you need to do something to fix the shortcuts, it's not obvious where to find the shortcuts in the first place (right-click on the icon in the start menu, click on 'more options', then 'open file location'), it's not obvious how to edit them (right-click and properties), and not obvious what to replace the commands with, since the instructions provided say to replace the commands with MSYSROOT\msys_shell.cmd ...
or something like that - a straight copy/paste doesn't work, you need to replace MSYSROOT
with whatever the appropriate folder is (typically C:\msys64
or something). That's a lot of stuff to figure out for your average Windows user... I don't understand why they don't provide a more up to date installer where all this is actually fixed up - no update_core
script, and the correct shortcuts...
Anyway, enough ranting for now...
Sorry, the reason I'm mentioning this again is that while your recent commit (0b1c4fadb) does mention that this needs to be dealt with, I don't see most users figuring out how to do this. Either we need to provide much more detailed instructions, or supply a fixed up version, or wait for the MSYS2 devs to fix it, or something else I can't think of right now. But it's going to be a real hurdle for most Windows users.
Yeah I agree. I wanted to do something while I thought of it, but I was timid about giving full details about modifying shortcuts because I wasn't sure how much would change between Windows versions. At the very least it will make people more aware of the issue as it occurs, and maybe have a go at figuring it out, bearing in mind that it's not actually an MRtrix problem so maybe they ask MSYS or a tech-savvy friend or something.
I don't think we should be providing a fixed version: between my Windows 7 and 8.1 machines, using the exact same installer gives a very different installation, so we might just cause even more problems trying to support the 'fixed' version across a lot of systems. I'd rather have a go at more detailed instructions, and redo an installation so I can grab text dumps of the actual update_core
outputs and put them there. Hell, it could even be its own page.
Pretty much what I was thinking. One option would I think be to post some instructions on the community site, so at least we can direct people there if they struggle, without necessarily modifying the main docs to provide instructions that are likely to change from one day to the next... What do you reckon?
Using the current installation instructions on a fresh MSYS2 install leads to the following error:
But everything works fine if I install
python
as a standalone package first:But what I don't get is that the version numbers differ between the
python
andmingw-w64-x86_64-python3
packages:python
:mingw-w64-x86_64-python3
:If I use the
mingw-w64-x86_64-python3
version explicitly,configure
fails:But it works fine with the standard
python
version (or if invoked using./configure
). The error is a failure ofpkg-config
to find theeigen3
flags. Here's the relevant excerpt fromconfigure.log
:But invoking that same command directly works fine (and obviously also works fine using the other version of
python
):I have no idea what's going on with this version of python...
So overall I'd be happy to replace
mingw-w64-x86_64-python3
withpython
on the list of suggested packages, but the problem is that the scripts also rely onnumpy
, and the only version available ismingw-w64-x86_64-python3-numpy
:which depends on
mingw-w64-x86_64-python3
:So it looks like we're going to have to include both. It would make things simpler if we didn't rely on
numpy
... But really I just can't figure out why there are two versions of Python3 available, why the most recent one doesn't work, and whether this is just a temporary glitch in MSYS2 that will eventually come good with the next update. Maybe they're in the process of revamping their package management...?In a similar vibe: there is also a
gcc
package available via MSYS2'spacman
(provide GCC 5.3.0, as opposed to the 5.4.0 version provided by the ming64 version). I just had a go at running that instead, and this time it's the zlib stage thatconfigure
falls over on. I can fix that by installing thezlib-devel
package, but then it falls over at the Qt5 configure stage... Error this time is:If anyone has any idea why things are in such a mess, please enlighten me...