windows-x64-static fails to build on VS2015

Bug #1740408 reported by rivers
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Invalid
Undecided
rivers

Bug Description

Building EPICS base 7.0.1.1 with VS 2015, windows-x64-static failed as follows:

forceBadAllocException.cpp
process_begin: CreateProcess(NULL, rc -l 0x409 -I. -I../O.Common -I. -I../../src/osi/compiler/msvc -I../../src/osi/compiler/default -I. -I../../src/osi/os/WIN32 -I../../src/osi/os/
default -I.. -I../../src/as -I../../src/bucketLib -I../../src/calc -I../../src/cvtFast -I../../src/cppStd -I../../src/cxxTemplates -I../../src/dbmf -I../../src/ellLib -I../../src/e
nv -I../../src/error -I../../src/fdmgr -I../../src/flex -I../../src/freeList -I../../src/gpHash -I../../src/iocsh -I../../src/log -I../../src/macLib -I../../src/misc -I../../src/os
i -I../../src/pool -I../../src/ring -I../../src/taskwd -I../../src/timer -I../../src/yacc -I../../src/yacc -I../../src/yajl -IH:/epics-devel/base-7.0.1/include/compiler/msvc -IH:/e
pics-devel/base-7.0.1/include/os/WIN32 -IH:/epics-devel/base-7.0.1/include -IH:/epics-devel/base-7.0.1/include/compiler/msvc -IH:/epics-devel/base-7.0.1/include/os/WIN32 -IH:/epics
-devel/base-7.0.1/include -fo Com.res ../Com.rc, ...) failed.
make (e=2): The system cannot find the file specified.
H:/epics-devel/base-7.0.1/configure/RULES_BUILD:242: recipe for target 'Com.res' failed
make[4]: *** [Com.res] Error 2
make[4]: *** Waiting for unfinished jobs....
iocLogServer.c
../../src/log/iocLogServer.c(418): warning C4244: 'function': conversion from 'SOCKET' to 'int', possible loss of data
H:/epics-devel/base-7.0.1/configure/RULES_ARCHS:58: recipe for target 'install.windows-x64-static-vs2015' failed
make[3]: *** [install.windows-x64-static-vs2015] Error 2
H:/epics-devel/base-7.0.1/configure/RULES_DIRS:84: recipe for target 'src.install' failed
make[2]: *** [src.install] Error 2
../configure/RULES_DIRS:84: recipe for target 'libcom.install' failed
make[1]: *** [libcom.install] Error 2
configure/RULES_DIRS:84: recipe for target 'modules.install' failed
make: *** [modules.install] Error 2

Revision history for this message
rivers (rivers) wrote :

This problem was because the "rc.exe" (resource compiler) program could not be found.

I believe this was a side-effect of installing VS2017 on the same computer where VS2015 was already installed. I believe rc.exe was previously located in

C:\Program Files (x86)\Windows Kits\10\bin\x64

because that is what the VS2015 vcvarsall.bat puts in the PATH. However, after installing VS2017 that file is now in

C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64

and there are 3 versions of the kit (10.0.16229.0 and 2 others).

It does not seem that the VS2015 vcvarsall.bat is smart enough to find the new location and add it to the path. I thus did that manually by adding these lines to the batch file I use to configure VS2015 and launch a cmd window.

rem It seems that the VS2017 installation messed up 2015 so it does not find rc.exe
rem Work around this by adding this to the path
set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64;%PATH%

Changed in epics-base:
assignee: nobody → rivers (rivers)
status: New → Invalid
Revision history for this message
rivers (rivers) wrote :

This is not a bug in the code, it was a configuration problem on my Windows development machine.

Revision history for this message
Andrew Johnson (anj) wrote :

Thanks for closing this Mark, glad you found the problem!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.