1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 <2018> 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 <2018> 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: Trouble building with Visual Studio 2017 |
From: | Mark Rivers <[email protected]> |
To: | "'Hammonds, John P.'" <[email protected]>, Tech Talk <[email protected]> |
Date: | Wed, 20 Jun 2018 19:41:00 +0000 |
Hi John, Visual Studio 2017 Community Edition does come with a vcvarsall.bat. This is my batch file that I use when opening a new cmd shell to work with VS2017: **************************************** rem Set the PATH for EPICS builds call C:\EPICS\setup_epics_path.bat rem This file sets up for an EPICS windows-x64 build set EPICS_HOST_ARCH=windows-x64-static-vs2017 rem These are the locations of "make", "re2c", "Perl", and EPICS base. Prepend them to the PATH. rem Execute the Visual Studio batch file for 64-bit builds "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 **************************************** I put the path stuff in a separate file because I have a bunch of batch files like the above, for different versions of VS, and for 32/64 bit builds. This is setup_epics_path.bat **************************************** rem This file sets the path for builds set PATH=C:\Program Files\GNU make;^ C:\Program Files\re2c;^ C:\Perl64\bin;^ H:\epics\base\bin\windows-x64-static;^ H:\epics\extensions\bin\windows-x64-static;^ %PATH% **************************************** You may need to install an optional package when installing VC2017 Community to get the VC\Auxiliary\Build\vcvarsall.bat directory and files. I suspect this may fix your problem with epicsTempFile, because I saw this in this tech-talk message
https://epics.anl.gov/tech-talk/2016/msg01636.php I’ve managed to reproduce a epicsTempFile.obj error and in this case it was caused by make not being able to locate the Visual Studio compiler. Mark From: [email protected] <[email protected]>
On Behalf Of Hammonds, John P. I am trying a new build of EPICS, starting with base of course, on Windows. Since I did not have the compiler on this (a virtual machine on a Mac actually) I grabbed the latest community edition which was
2017. In the past I would make simple mods to the win32.bat in startup directory and things would work. So far I have not found the vsvarsall.bat location in this version so I simply went to the ‘x64 Native Tools Command Prompt for VS 2017’ set the EPICS_HOST_ARCH
to windows-x64 and set path to include location of make and perl and started compiling. Everything starts OK but I reach a point where I get the following error: cl -EHsc -GR -DUSE_TYPED_RSET -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -w44355 -w44344 -w44251 -MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL
-TP -I. -I../O.Common -I. -I../../../src/libCom/osi/compiler/msvc -I../../../src/libCom/osi/compiler/default -I. -I../../../src/libCom/osi/os/WIN32 -I../../../src/libCom/osi/os/default -I.. -I../../../src/libCom/as -I../../../src/libCom/bucketLib -I../../../src/libCom/calc
-I../../../src/libCom/cvtFast -I../../../src/libCom/cppStd -I../../../src/libCom/cxxTemplates -I../../../src/libCom/dbmf -I../../../src/libCom/ellLib -I../../../src/libCom/env -I../../../src/libCom/error -I../../../src/libCom/fdmgr -I../../../src/libCom/flex
-I../../../src/libCom/freeList -I../../../src/libCom/gpHash -I../../../src/libCom/iocsh -I../../../src/libCom/log -I../../../src/libCom/macLib -I../../../src/libCom/misc -I../../../src/libCom/osi -I../../../src/libCom/pool -I../../../src/libCom/ring -I../../../src/libCom/taskwd
-I../../../src/libCom/timer -I../../../src/libCom/yacc -I../../../src/libCom/yacc -I../../../src/libCom/yajl -I../../../include/compiler/msvc -I../../../include/os/WIN32 -I../../../include -c ../../../src/libCom/osi/os/WIN32/epicsTempFile.cpp process_begin: CreateProcess(NULL, cl -EHsc -GR -DUSE_TYPED_RSET -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -w44355 -w44344 -w44251 -MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL
-TP -I. -I../O.Common -I. -I../../../src/libCom/osi/compiler/msvc -I../../../src/libCom/osi/compiler/default -I. -I../../../src/libCom/osi/os/WIN32 -I../../../src/libCom/osi/os/default -I.. -I../../../src/libCom/as -I../../../src/libCom/bucketLib -I../../../src/libCom/calc
-I../../../src/libCom/cvtFast -I../../../src/libCom/cppStd -I../../../src/libCom/cxxTemplates -I../../../src/libCom/dbmf -I../../../src/libCom/ellLib -I../../../src/libCom/env -I../../../src/libCom/error -I../../../src/libCom/fdmgr -I../../../src/libCom/flex
-I../../../src/libCom/freeList -I../../../src/libCom/gpHash -I../../../src/libCom/iocsh -I../../../src/libCom/log -I../../../src/libCom/macLib -I../../../src/libCom/misc -I../../../src/libCom/osi -I../../../src/libCom/pool -I../../../src/libCom/ring -I../../../src/libCom/taskwd
-I../../../src/libCom/timer -I../../../src/libCom/yacc -I../../../src/libCom/yacc -I../../../src/libCom/yajl -I../../../include/compiler/msvc -I../../../include/os/WIN32 -I../../../include -c ../../../src/libCom/osi/os/WIN32/epicsTempFile.cpp, ...) failed. make (e=2): The system cannot find the file specified. make[3]: *** No rule to make target 'epicsTempFile.obj', needed by 'antelope.exe'. Stop. make[3]: Leaving directory 'C:/epics/base-3.16.1/src/libCom/O.windows-x64' make[2]: *** [../../configure/RULES_ARCHS:58: install.windows-x64] Error 2 make[2]: Leaving directory 'C:/epics/base-3.16.1/src/libCom' make[1]: *** [../configure/RULES_DIRS:84: libCom.install] Error 2 make[1]: Leaving directory 'C:/epics/base-3.16.1/src' make: *** [configure/RULES_DIRS:84: src.install] Error 2 make: Leaving directory 'C:/epics/base-3.16.1' I have tried this with base-3.15.5, base-3.16.1 and base-7.0.1.1 and all stop at the same place with very similar errors (haven’t checked if they are totally identical.
Has anyone seen this problem? John |