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  <20092010  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  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Building ASYN on Windows
From: "John Dobbins" <[email protected]>
To: "Mark Rivers" <[email protected]>
Cc: [email protected]
Date: Mon, 10 Aug 2009 16:10:02 -0400 (EDT)
Mark,

I applied the patch WIN32-osdTime.patch to

base-3.14.10/src/libCom/osi/os/WIN32/osdTime.cpp


but on build I now get the compile error:


cl /nologo /EHsc /GR -c                /D_CRT_SECURE_NO_DEPRECATE
/D_CRT_NONSTDC_NO_DEPRECATE /D__STDC__=0   /Ox /GL   /W3 /w44355       /MT
-DEPICS_DLL_NO   -I. -I..\\O.Common -I.
-I..\\..\\..\\src\\libCom\\osi\\os\\WIN32
-I..\\..\\..\\src\\libCom\\osi\\os\\default -I..
-I..\\..\\..\\src\\libCom\\bucketLib -I..\\..\\..\\src\\libCom\\ring
-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\\f
dmgr -I..\\..\\..\\src\\libCom\\freeList -I..\\..\\..\\src\\libCom\\gpHash
-I..\\..\\..\\src\\libCom\\iocsh -I..\\..\\..\\src\\libCom\\logClient
-I..\\..\\..\\src\\libCom\\macLib -I..\\..\\..\\src\\libCom\\misc
-I..\\..\\..\\src\\libCom\\osi -I..\\..\\..\\src\\libCom\\taskwd
-I..\\..\\..\\src\\libCom\\timer -I..\\..\\..\\src\\libCom\\tsDefs
-I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include
     /Tp ..\\..\\..\\src\\libCom\\osi\\os\\WIN32\\osdTime.cpp
osdTime.cpp
..\..\..\src\libCom\osi\os\WIN32\osdTime.cpp(106) : error C2662:
'currentTime::s
tartPLL' : cannot convert 'this' pointer from 'volatile currentTime' to
'currentTime &'
        Conversion loses qualifiers
..\..\..\src\libCom\osi\os\WIN32\osdTime.cpp(125) : error C2662:
'currentTime::g
etCurrentTime' : cannot convert 'this' pointer from 'volatile currentTime'
to 'currentTime &'
        Conversion loses qualifiers
make[3]: *** [osdTime.obj] Error 2
make[3]: Leaving directory
`W:/winDev/epics/R3.14.10/base-3.14.10/src/libCom/O.w
in32-x86'
make[2]: *** [install.win32-x86] Error 2
make[2]: Leaving directory `W:/winDev/epics/R3.14.10/base-3.14.10/src/libCom'
make[1]: *** [libCom.install] Error 2
make[1]: Leaving directory `W:/winDev/epics/R3.14.10/base-3.14.10/src'
make: *** [src.install] Error 2



John









> John,
>
>> I tried to pretend nothing was wrong, I ran makeBaseApp.pl for example
> app
>> and built it successfully, but when I run it I get:
>
>> W:\tmp\example\iocBoot\iocmyExample>..\..\bin\win32-x86\myExample.exe
> st.cmd
>> epicsThread: Unknown C++ exception in thread "timerQueue" at Mon Aug
> 10
>> 2009 15:03:39.518960139
>
> That error does not have anything to do with your build errors, that is
> a known bug in base 3.14.10 on win32-x86.
>
> In the Known Problems file for 3.14.10
> (http://www.aps.anl.gov/epics/base/R3-14/10-docs/KnownProblems.html)
> you will see this item:
>
> "IOCs or other EPICS programs running on a Win32 system with multiple
> CPUs may die at startup. This patch applied to the
> base/src/libCom/osi/os/WIN32/osdTime.cpp file solves an issue with time
> provider registration on Windows."
>
> Apply that patch to base and it should fix your problem.
>
> Mark
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of John Dobbins
> Sent: Monday, August 10, 2009 2:31 PM
> To: Andrew Johnson
> Cc: [email protected]
> Subject: Re: Building ASYN on Windows
>
>> Hi John
>>
>> On Monday 10 August 2009 11:39:47 John Dobbins wrote:
>>>
>>> The R3.14.10 Visual C++ build fails when executing the created file
>>> genApps.exe.
>>>
>>> The MinGW build fails when executing the created file dBToMenuH.exe
>>
>> Both of those failures were in programs that were built earlier in the
>> process.  What is strange though is that those aren't the first
> programs
>> to
>> be run that we built earlier; that honor goes to e_flex.exe and
>> antelope.exe
>> which are both used when compiling in the base/src/dbStatic directory
> and
>> which run quite happily on your builds.  Indeed for your Visual C++
> build
>> all
>> of the code that you actually need to build IOCs and Mark's
> areaDetector
>> application have successfully been built by that stage, so you could
>> ignore
>> the gdd build failure (which is only needed for non-IOC CA servers)
> and
>> continue on to compile your other modules at this point.
>>
>> Question: What was your PATH set to when you were building these?  You
>> didn't
>> have the bin directory from another release of Base or from the EPICS
>> Win32
>> extensions in the path did you?  I would guess not, but I'd like to be
>> sure
>> of that.
>
>
> PATH =
> C:\Perl\site\bin;C:\Perl\bin;C:\Xilinx\10.1\ISE\bin\nt;C:\Xilinx\10.1\IS
> E\lib\nt;C:\Xilinx\10.1\ISE\smartmodel\nt\installed_nt\lib\pcnt.lib;C:\W
> INDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;C:\Program
> Files\Hummingbird\Connectivity\11.00\Accessories\;c:\program
> files\microsoft sql server\90\tools\binn\;C:\Program
> Files\MATLAB\R2006a\bin\win32;C:\Program
> Files\Sudowin\Clients\Console;C:\Program
> Files\TortoiseSVN\bin;C:\strawberry\c\bin;C:\strawberry\perl\bin;C:\Prog
> ram
> Files\Agilent\IO Libraries Suite\bin;C:\Program Files\IVI
> Foundation\IVI\bin;C:\Program Files\IVI
> Foundation\VISA\WinNT\Bin\;C:\Program Files\IVI
> Foundation\VISA\winnt\agvisa;C:\Program Files\Microsoft Visual Studio
> 8\VC\bin;C:\Program Files\Microsoft Visual Studio
> 8\Common7\IDE;C:\Program
> Files\GnuWin32\bin;W:\winDev\epics\R3.14.10\base-3.14.10\bin\win32-x86
>
>
>
>
>
>
>
>>> I am including the full output from both builds below, which includes
>>> some warnings.
>>
>> At a brief glance through I recognize many of those warnings, which
> are
>> not
>> something that could have caused this problem.
>>
>> The interesting thing is that in both cases the same error code
> occurs,
>> which
>> Mark Rivers points out to mean access violation (I'm taking his word
>> there).
>>
>>> Any advice on how to proceed from this point would be welcome.
>>
>> If you still have or can repeat the VC++ build, just use that and
> ignore
>> the
>> build failure in gdd, the parts of Base you need have already built
>> correctly
>> by then so you can continue to build the other modules.  It would be
> good
>> to
>> get to the bottom of this though.
>>
>> - Andrew
>> --
>> The best FOSS code is written to be read by other humans -- Harold
> Welte
>
>
> I tried to pretend nothing was wrong, I ran makeBaseApp.pl for example
> app
> and built it successfully, but when I run it I get:
>
> W:\tmp\example\iocBoot\iocmyExample>..\..\bin\win32-x86\myExample.exe
> st.cmd
> epicsThread: Unknown C++ exception in thread "timerQueue" at Mon Aug 10
> 2009 15:
> 03:39.518960139
> #!../../bin/win32-x86/myExample
> ## You may have to change myExample to something else
> ## everywhere it appears in this file
> < envPaths
> epicsEnvSet("ARCH","win32-x86")
> epicsEnvSet("IOC","iocmyExample")
> epicsEnvSet("TOP","W:/tmp/example")
> epicsEnvSet("EPICS_BASE","W:/winDev/epics/R3.14.10/base-3.14.10")
> cd W:/tmp/example
> ## Register all support components
> dbLoadDatabase "dbd/myExample.dbd"
> myExample_registerRecordDeviceDriver pdbbase
> ## Load record instances
> dbLoadTemplate "db/userHost.substitutions"
> dbLoadRecords "db/dbSubExample.db", "user=erpoprHost"
> ## Set this to see messages from mySub
> #var mySubDebug 1
> ## Run this to trace the stages of iocInit
> #traceIocInit
> cd W:/tmp/example/iocBoot/iocmyExample
> iocInit
> Starting iocInit
> ########################################################################
> ####
> ## EPICS R3.14.10 $R3-14-10$ $2008/10/27 19:39:04$
> ## EPICS Base built Aug 10 2009
> ########################################################################
> ####
>
> This application has requested the Runtime to terminate it in an unusual
> way. Please contact the application's support team for more information.
>
> iocRun: All initialization complete
> ## Start any sequence programs
> #seq sncExample, "user=erpoprHost"
> epics>
>
> At which point I get a Windows dialog to choose debug/send/don't_send
> error report.
>
>
> John
>
>
>



Replies:
RE: Building ASYN on Windows Mark Rivers
References:
Building ASYN on Windows John Dobbins
RE: Building ASYN on Windows Mark Rivers
RE: Building ASYN on Windows John Dobbins
Re: Building ASYN on Windows Andrew Johnson
Re: Building ASYN on Windows John Dobbins
RE: Building ASYN on Windows Mark Rivers

Navigate by Date:
Prev: RE: Building ASYN on Windows Mark Rivers
Next: RE: Building ASYN on Windows Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Building ASYN on Windows Mark Rivers
Next: RE: Building ASYN on Windows Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·