Correction:
Ø
Normally when “make” completes successfully and then one runs “make” again it does not actually do anything. For base 7.0.4 that is what I observe for Linux.
But on Windows every time I run “make” after it has completed successfully it produces the following output.
Actually on base 7.0.4 it does recompile on Linux as well, you just don’t see any output if using –sj.
But this problem does not occur on base 7.0.3.1. Here is the output when I rebuild with windows-x64-static on base 7.0.3.1.
H:\epics\base-7.0.3.1>make -sj8
H:\epics\base-7.0.3.1>
It does not do anything, but on 7.0.4 there is lots of output as it recompiles and rebuilds libraries each time you run it.
Mark
From: Mark Rivers
Sent: Monday, June 1, 2020 3:31 PM
To: tech-talk <tech-talk at aps.anl.gov>
Subject: Minor issues building base 7.0.4 on Windows
When I try to build base 7.0.4 on windows-x64-static with Visual Studio 2015 I have the following issues, which appear to be minor:
1)
“make clean uninstall” produces many error messages like this:
H:\epics-devel\base-7.0.4>make -sj clean uninstall
Can't locate EPICS/Path.pm in @INC (you may need to install the EPICS::Path module) (@INC contains: H:/epics-devel/base-7.0.4/src/tools/../../lib/perl C:/Perl64/site/lib C:/Perl64/lib .) at H:/epics-devel/base-7.0.4/src/tools/convertRelease.pl
line 24.
BEGIN failed--compilation aborted at H:/epics-devel/base-7.0.4/src/tools/convertRelease.pl line 24.
Can't locate EPICS/Path.pm in @INC (you may need to install the EPICS::Path module) (@INC contains: H:/epics-devel/base-7.0.4/src/tools/../../lib/perl C:/Perl64/site/lib C:/Perl64/lib .) at H:/epics-devel/base-7.0.4/src/tools/convertRelease.pl
line 24.
BEGIN failed--compilation aborted at H:/epics-devel/base-7.0.4/src/tools/convertRelease.pl line 24.
Can't locate EPICS/Path.pm in @INC (you may need to install the EPICS::Path module) (@INC contains: H:/epics-devel/base-7.0.4/src/tools/../../lib/perl C:/Perl64/site/lib C:/Perl64/lib .) at H:/epics-devel/base-7.0.4/src/tools/convertRelease.pl
line 24.
…
2)
“make –sj” produces these messages:
H:\epics-devel\base-7.0.4>make –sj8 > windows_build1.txt
'git' is not recognized as an internal or external command,
operable program or batch file.
'git' is not recognized as an internal or external command,
operable program or batch file.
'git' is not recognized as an internal or external command,
operable program or batch file.
3)
Normally when “make” completes successfully and then one runs “make” again it does not actually do anything. For base 7.0.4 that is what I observe for Linux. But on Windows every time I run “make” after it has completed successfully
it produces the following output.
epicsRelease.c
Appending rsrvIocRegister.obj
Appending online_notify.obj
Appending cast_server.obj
Appending camessage.obj
Appending camsgtask.obj
Appending caservertask.obj
Appending caserverio.obj
Appending registryIocRegister.obj
Appending registryCommon.obj
Appending registryFunction.obj
Appending registryJLinks.obj
Appending registryDriverSupport.obj
Appending registryDeviceSupport.obj
Appending registryRecordType.obj
Appending iocshRegisterCommon.obj
Appending dlload.obj
Appending miscIocRegister.obj
Appending iocInit.obj
Appending epicsRelease.obj
Appending dbtoolsIocRegister.obj
Appending dbLoadTemplate.obj
Appending dbStaticIocRegister.obj
Appending dbStaticRun.obj
Appending dbPvdLib.obj
Appending dbYacc.obj
Appending dbStaticLib.obj
Appending dbServer.obj
Appending dbUnitTest.obj
Appending dbState.obj
Appending chfPlugin.obj
Appending dbIocRegister.obj
Appending dbContextReadNotifyCache.obj
Appending dbPutNotifyBlocker.obj
Appending dbSubscriptionIO.obj
Appending dbChannelIO.obj
Appending dbContext.obj
Appending cvtBpt.obj
Appending dbCaTest.obj
Appending dbCa.obj
Appending callback.obj
Appending recGbl.obj
Appending db_test.obj
Appending db_access.obj
Appending dbTest.obj
Appending dbEvent.obj
Appending dbScan.obj
Appending dbNotify.obj
Appending dbLink.obj
Appending dbJLink.obj
Appending dbExtractArray.obj
Appending dbFastLinkConv.obj
Appending dbDbLink.obj
Appending dbConvertJSON.obj
Appending dbConvert.obj
Appending dbConstLink.obj
Appending dbChannel.obj
Appending dbBkpt.obj
Appending dbAccess.obj
Appending dbLock.obj
Appending asIocRegister.obj
Appending asCa.obj
Appending asDbLib.obj
Appending lnkDebug.obj
Appending lnkState.obj
Appending lnkCalc.obj
Appending lnkConst.obj
Appending decimate.obj
Appending sync.obj
Appending arr.obj
Appending dbnd.obj
Appending ts.obj
Appending asSubRecordFunctions.obj
Appending devEnviron.obj
Appending devStdio.obj
Appending devTimestamp.obj
Appending devGeneralTime.obj
Appending devSoSoftCallback.obj
Appending devPrintfSoftCallback.obj
Appending devMbboDirectSoftCallback.obj
Appending devMbboSoftCallback.obj
Appending devLsoSoftCallback.obj
Appending devLoSoftCallback.obj
Appending devI64outSoftCallback.obj
Appending devCalcoutSoftCallback.obj
Appending devBoSoftCallback.obj
Appending devAoSoftCallback.obj
Appending devSiSoftCallback.obj
Appending devMbbiSoftCallback.obj
Appending devMbbiDirectSoftCallback.obj
Appending devLiSoftCallback.obj
Appending devI64inSoftCallback.obj
Appending devBiSoftCallback.obj
Appending devAiSoftCallback.obj
Appending devWfSoft.obj
Appending devSoSoft.obj
Appending devSiSoft.obj
Appending devSASoft.obj
Appending devPrintfSoft.obj
Appending devMbboSoftRaw.obj
Appending devMbboSoft.obj
Appending devMbboDirectSoftRaw.obj
Appending devMbboDirectSoft.obj
Appending devMbbiSoftRaw.obj
Appending devMbbiSoft.obj
Appending devMbbiDirectSoftRaw.obj
Appending devMbbiDirectSoft.obj
Appending devLsoSoft.obj
Appending devLsiSoft.obj
Appending devLoSoft.obj
Appending devLiSoft.obj
Appending devI64outSoft.obj
Appending devI64inSoft.obj
Appending devHistogramSoft.obj
Appending devEventSoft.obj
Appending devCalcoutSoft.obj
Appending devBoDbState.obj
Appending devBoSoftRaw.obj
Appending devBoSoft.obj
Appending devBiDbState.obj
Appending devBiSoftRaw.obj
Appending devBiSoft.obj
Appending devAoSoftRaw.obj
Appending devAoSoft.obj
Appending devAiSoftRaw.obj
Appending devAiSoft.obj
Appending devAaoSoft.obj
Appending devAaiSoft.obj
Appending waveformRecord.obj
Appending subArrayRecord.obj
Appending subRecord.obj
Appending stringoutRecord.obj
Appending stringinRecord.obj
Appending stateRecord.obj
Appending seqRecord.obj
Appending selRecord.obj
Appending printfRecord.obj
Appending permissiveRecord.obj
Appending mbboDirectRecord.obj
Appending mbboRecord.obj
Appending mbbiDirectRecord.obj
Appending mbbiRecord.obj
Appending lsoRecord.obj
Appending lsiRecord.obj
Appending longoutRecord.obj
Appending longinRecord.obj
Appending int64outRecord.obj
Appending int64inRecord.obj
Appending histogramRecord.obj
Appending fanoutRecord.obj
Appending eventRecord.obj
Appending dfanoutRecord.obj
Appending compressRecord.obj
Appending calcoutRecord.obj
Appending calcRecord.obj
Appending boRecord.obj
Appending biRecord.obj
Appending aSubRecord.obj
Appending aoRecord.obj
Appending aiRecord.obj
Appending aaoRecord.obj
Appending aaiRecord.obj
Appending ioRecord.obj
Appending arrRecord.obj
Appending xRecord.obj
Appending jlinkz.obj
Appending devx.obj
Appending xLink.obj
Appending dbLinkdset.obj
Appending xRecord.obj
Appending arrRecord.obj
Appending asTestLib.obj
dbHeaderTest.c
dbHeaderTestxx.cpp
Appending reftrackioc.obj
Appending PVAClientRegister.obj
Appending PVAServerRegister.obj
Appending pvaClientRPC.obj
Appending pvaClientNTMultiMonitor.obj
Appending pvaClientNTMultiGet.obj
Appending pvaClientNTMultiData.obj
Appending pvaClientNTMultiPut.obj
Appending pvaClientMultiMonitorDouble.obj
Appending pvaClientMultiPutDouble.obj
Appending pvaClientMultiGetDouble.obj
Appending pvaClientMultiChannel.obj
Appending pvaClientPutGet.obj
Appending pvaClientMonitor.obj
Appending pvaClientPut.obj
Appending pvaClientGet.obj
Appending pvaClientProcess.obj
Appending pvaClientChannel.obj
Appending pvaClientMonitorData.obj
Appending pvaClientGetData.obj
Appending pvaClientPutData.obj
Appending pvaClientData.obj
Appending pvaClient.obj
Appending pvalink_channel.obj
Appending pvalink_link.obj
Appending pvalink_jlif.obj
Appending pvalink_lset.obj
Appending pvalink.obj
Appending tpool.obj
Appending dbf_copy.obj
Appending configparse.obj
Appending pdbgroup.obj
Appending imagedemo.obj
Appending demo.obj
Appending pdbsingle.obj
Appending pdb.obj
Appending qsrv.obj
Appending pvif.obj
Appending scalarAlarmSupport.obj
Appending controlSupport.obj
Appending processRecordRegister.obj
Appending addRecordRegister.obj
Appending removeRecordRegister.obj
Appending traceRecordRegister.obj
Appending processRecord.obj
Appending addRecord.obj
Appending removeRecord.obj
Appending traceRecord.obj
Appending registerChannelProviderLocal.obj
Appending monitorFactory.obj
Appending channelLocal.obj
Appending channelProviderLocal.obj
Appending pvDatabase.obj
Appending pvRecord.obj
Appending pvTimestampPlugin.obj
Appending pvDeadbandPlugin.obj
Appending pvArrayPlugin.obj
Appending pvCopy.obj
Appending pvPlugin.obj
So it appears to be recompiling epicsRelease.c, dbHeaderTest.c, and dbHeaderTestxx.cpp and rebuilding the libraries that contain those.
Mark