EpicsHostArch script does not detect recent MSYS2/MinGW setups on Windows
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
EPICS Base | Status tracked in 7.0 | |||||
3.15 |
New
|
Undecided
|
Unassigned | |||
7.0 |
Triaged
|
Low
|
Unassigned |
Bug Description
On MSYS2/MinGW installations, the EpicsHostArch script does not recognize the host platform correctly.
64bit:
$ ./startup/
lib/perl/
32bit:
$ ./startup/
lib/perl/
Which is not surprising, as the underlying MSYS2 subsystem is the same, and the difference is in the environment settings that point to the appropriate toolchain.
64bit:
$ echo $PATH
/mingw64/
$ printenv | grep MSYSTEM
MSYSTEM_
MSYSTEM_
MSYSTEM_
MSYSTEM=MINGW64
32bit:
$ echo $PATH
/mingw32/
$ printenv | grep MSYSTEM
MSYSTEM_CARCH=i686
MSYSTEM_
MSYSTEM_
MSYSTEM=MINGW32
NB: I am impressed by the clarity and simplicity of MSYS2 / MinGW
How are you distinguishing between 32- and 64-bit? Your CPU can't really be 32-bit or a Perl built for x86_64 wouldn't run on it. Does this same Perl version come with both, or neither?
For existing targets we have taken the Perl architecture as indicative of what the host actually runs on. There may be strange effects (especially in modules/ ca/src/ perl) if it doesn't match.
The output from 'perl -V' would be helpful, at least it will tell me about the 64-bit system.