EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <20202021  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Minor issues building base 7.0.4 on Windows
From: Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
To: "Engbretson, Mark S." <engbretson at anl.gov>
Cc: 'tech-talk' <tech-talk at aps.anl.gov>
Date: Mon, 1 Jun 2020 18:21:11 -0700
On 6/1/20 5:48 PM, Engbretson, Mark S. wrote:
> Can't you keep both revision and date? Knowing that something was compiled 2 years ago means much more to me than a revision number which is meaningless to me unless i actually know what the current release is. Unless this test was performed at run time and told me how far out of sync this was with the master branch.

A revision is useful to me when it shows up
here on tech-talk along with a request for help.

Also, recent GCC complains about use of __DATE__ wrt.
https://reproducible-builds.org/ (which I agree with)


> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
> *Sent:* Monday, June 1, 2020 7:40:02 PM
> *To:* Rivers, Mark L. <rivers at cars.uchicago.edu>
> *Cc:* 'tech-talk' <tech-talk at aps.anl.gov>
> *Subject:* Re: Minor issues building base 7.0.4 on Windows
>  
> What you are describing is a result of a change I made
> to include VCS revision in the build in place of __DATE__.
> 
> This makes the output of eg. iocInit a bit more useful.
> 
>> Starting iocInit
>> ############################################################################
>> ## EPICS R7.0.4.1-DEV
>> ## Rev. R7.0.4-36-g4ba9dafeef3934e5e10d
>> ############################################################################
> 
> Or anything which calls coreRelease() from epicsRelease.h
> 
> If no VCS tool is in use (eg. no '.git'), or not available,
> the default fallback is to use the current time with minute precision.
> (cf. src/tools/genVersionHeader.pl)
> 
> https://github.com/epics-base/epics-base/commit/b43aafae701b4b4fd835117cf63b2e563482184b
> 
> https://epics.anl.gov/core-talk/2019/msg01402.php
> 
> 
> On 6/1/20 3:40 PM, Mark Rivers via Tech-talk wrote:
>> 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
>> 
>>  
>> 
>>  
>> 
> 


References:
Minor issues building base 7.0.4 on Windows Mark Rivers via Tech-talk
RE: Minor issues building base 7.0.4 on Windows Mark Rivers via Tech-talk
Re: Minor issues building base 7.0.4 on Windows Michael Davidsaver via Tech-talk
Re: Minor issues building base 7.0.4 on Windows Engbretson, Mark S. via Tech-talk

Navigate by Date:
Prev: Re: Minor issues building base 7.0.4 on Windows Engbretson, Mark S. via Tech-talk
Next: Re: Minor issues building base 7.0.4 on Windows Mark Rivers via Tech-talk
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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Minor issues building base 7.0.4 on Windows Engbretson, Mark S. via Tech-talk
Next: Re: Minor issues building base 7.0.4 on Windows Mark Rivers via Tech-talk
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  <20202021  2022  2023  2024 
ANJ, 01 Jun 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·