2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 <2018> 2019 2020 2021 2022 2023 2024 2025 | Index | 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 <2018> 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: Problems with parallel make in base 7.0.1.1 on Visual Studio 2015 and Visual Studio 2017 when HOST_OP=NO |
From: | Mark Rivers <[email protected]> |
To: | 'Andrew Johnson' <[email protected]> |
Cc: | 'EPICS core-talk' <[email protected]> |
Date: | Tue, 23 Jan 2018 17:03:41 +0000 |
Hi Andrew, I can fix this issue on Visual Studio 2015 (and presumably 2017) by changing CONFIG_SITE.Common.windows-x64-static to add the /FS flag when compiling for debug. # Temporarily enable debugging HOST_OPT = NO OPT_CFLAGS_NO += /FS OPT_CXXFLAGS_NO += /FS However, that generates an error if using Visual Studio 2010. H:\epics-devel\base-7.0.1>make -sj8 cl : Command line error D8021 : invalid numeric argument '/FS' cl : Command line error D8021 : invalid numeric argument '/FS' cl : Command line error D8021 : invalid numeric argument '/FS' So we need a way to add the /FS flag to OPT_C[XX]FLAGS_NO only for Visual Studio 2013 and later (that is where MSDN indicates the /FS flag was added). Mark From: Mark Rivers Hi Andrew, I am trying to build base 7.0.1.1 with the following configuration: -
windows-x64-static architecture
-
CONFIG_SITE.Common.windows-x64-static contains HOST_OPT=NO to enable debugging. Note that there is a windows-x64-debug architecture in base, but there is no windows-x64-static-debug,
so I just changed the CONFIG_SITE file. -
Parallel make (make –sj8) The above settings work OK for Visual Studio 2010, but they fail with Visual Studio 2015 and Visual Studio 2017. If I remove the HOST_OPT=NO then this problem does not
occur. Here is the output for Visual Studio 2015. H:\epics-devel\base-7.0.1>make -sj clean H:\epics-devel\base-7.0.1>make -sj8 dfa.c ccl.c epicsTempFile.cpp gen.c misc.c ecs.c nfa.c ../../src/flex/ecs.c: fatal error C1041: cannot open program database 'H:\epics-devel\base-7.0.1\modules\libcom\src\O.windows-x64-static-vs2015\vc140.pdb'; if multiple CL.EXE
write to the same .PDB file, please use /FS ../../src/osi/os/WIN32/epicsTempFile.cpp: fatal error C1041: cannot open program database 'H:\epics-devel\base-7.0.1\modules\libcom\src\O.windows-x64-static-vs2015\vc140.pdb';
if multiple CL.EXE write to the same .PDB file, please use /FS ../../src/flex/misc.c: fatal error C1041: cannot open program database 'H:\epics-devel\base-7.0.1\modules\libcom\src\O.windows-x64-static-vs2015\vc140.pdb'; if multiple
CL.EXE write to the same .PDB file, please use /FS ../../src/flex/dfa.c: fatal error C1041: cannot open program database 'H:\epics-devel\base-7.0.1\modules\libcom\src\O.windows-x64-static-vs2015\vc140.pdb'; if multiple CL.EXE
write to the same .PDB file, please use /FS ../../src/flex/gen.c: fatal error C1041: cannot open program database 'H:\epics-devel\base-7.0.1\modules\libcom\src\O.windows-x64-static-vs2015\vc140.pdb'; if multiple CL.EXE
write to the same .PDB file, please use /FS ../../src/flex/nfa.c: fatal error C1041: cannot open program database 'H:\epics-devel\base-7.0.1\modules\libcom\src\O.windows-x64-static-vs2015\vc140.pdb'; if multiple CL.EXE
write to the same .PDB file, please use /FS make[4]: INTERNAL: Exiting with 3 jobserver tokens (should be 0)! sym.c ../../src/flex/sym.c: fatal error C1041: cannot open program database 'H:\epics-devel\base-7.0.1\modules\libcom\src\O.windows-x64-static-vs2015\vc140.pdb'; if multiple CL.EXE
write to the same .PDB file, please use /FS make reaped child pid 37264320, still waiting for pid 37265184 H:/epics-devel/base-7.0.1/configure/RULES_ARCHS:58: recipe for target 'install.windows-x64-static-vs2015' failed Thanks, Mark |