The situation on plain Windows is very similar.
On a 64bit Windows system (the standard) running the vcvarsall.bat tool sets up your shell for using the 32bit or 64bit native Visual Studio compiler.
In this case, again, there is no cross compiling involved. It's either the 32bit compiler producing executables for 32bit or the 64bit compiler producing 64bit executables. (You could also set up cross compiling 32->64 or 64->32, but that's a separate topic.)
Even after you have run vcvarsall.bat setting up everything for 32bit native compiling, EpicsHostArch will report that the architecture is 'windows-x64'. Which is technically correct, but clearly and obviously not the architecture that you want EPICS to use.
(This is the situation for all our CI builds, where we first run vcvarsall.bat and after that still can't use the EpicsHostArch script.)
--
You received this bug notification because you are a member of EPICS
Core Developers, which is subscribed to EPICS Base.
Matching subscriptions: epics-core-list-subscription
https://bugs.launchpad.net/bugs/1873406
Title:
EpicsHostArch script does not detect recent MSYS2/MinGW setups on
Windows
Status in EPICS Base:
New
Status in EPICS Base 3.15 series:
New
Status in EPICS Base 7.0 series:
New
Bug description:
On MSYS2/MinGW installations, the EpicsHostArch script does not
recognize the host platform correctly.
64bit:
$ ./startup/EpicsHostArch
lib/perl/EpicsHostArch.pl: Architecture 'x86_64-msys-thread-multi' not recognized
32bit:
$ ./startup/EpicsHostArch
lib/perl/EpicsHostArch.pl: Architecture 'x86_64-msys-thread-multi' not recognized
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/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
$ printenv | grep MSYSTEM
MSYSTEM_CARCH=x86_64
MSYSTEM_CHOST=x86_64-w64-mingw32
MSYSTEM_PREFIX=/mingw64
MSYSTEM=MINGW64
32bit:
$ echo $PATH
/mingw32/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
$ printenv | grep MSYSTEM
MSYSTEM_CARCH=i686
MSYSTEM_CHOST=i686-w64-mingw32
MSYSTEM_PREFIX=/mingw32
MSYSTEM=MINGW32
NB: I am impressed by the clarity and simplicity of MSYS2 / MinGW
To manage notifications about this bug go to:
https://bugs.launchpad.net/epics-base/+bug/1873406/+subscriptions
- References:
- [Bug 1873406] [NEW] EpicsHostArch script does not detect recent MSYS2/MinGW setups on Windows Ralph Lange via Core-talk
- Navigate by Date:
- Prev:
[Bug 1873406] Re: EpicsHostArch script does not detect recent MSYS2/MinGW setups on Windows Ralph Lange via Core-talk
- Next:
[Bug 1873406] Re: EpicsHostArch script does not detect recent MSYS2/MinGW setups on Windows Ralph Lange via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
[Bug 1873406] Re: EpicsHostArch script does not detect recent MSYS2/MinGW setups on Windows Ralph Lange via Core-talk
- Next:
[Bug 1873406] Re: EpicsHostArch script does not detect recent MSYS2/MinGW setups on Windows Ralph Lange via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024
|