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  <20142015  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  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS on VxWorks6.9
From: Dirk Zimoch <[email protected]>
To: [email protected]
Date: Wed, 16 Jul 2014 14:00:05 +0200
Newer C++ compilers consider more and more things in EPICS errors. And maybe they are right.

The problem is
    T  * volatile * buffer;
in epicsRingPointer.h.

I am not sure if "volatile" really makes any sense here.

The other possibility is to cast away the "void" in the destructor.

delete [ ] (T*) buffer;

Or whatever the nicer C++ syntax is (probably using const_cast<T*>()?)

Dirk

On 16.07.2014 08:14, Amit Chauhan wrote:
Hi,

We are trying to put EPICS on VxWorks.

Various information related to our setup are:

          EPICS base version : 3.14.12.4

          VxWorks Version : 6.9

Workbench version : 3.3

          Host Architecture : win32 on x86

          Target Architecture: ppc-32

          Target Board :  MVME-5500 with PowerPC 7447 processor

On running the ‘make’ command, the EPICS build stops after a while with
an error.

*_Following is the output of the make command:_*

make -C ./configure install

make[1]: Entering directory `C:/EPICS/base-3-14-12-4/configure'

perl ../src/tools/makeMakefile.pl O.win32-x86 ../..

perl ../src/tools/makeMakefile.pl O.vxWorks-ppc32 ../..

perl -MExtUtils::Command -e mkpath O.Common

make -C O.win32-x86 -f ../Makefile TOP=../.. T_A=win32-x86 install

make[2]: Entering directory `C:/EPICS/base-3-14-12-4/configure/O.win32-x86'

make[2]: Nothing to be done for `install'.

make[2]: Leaving directory `C:/EPICS/base-3-14-12-4/configure/O.win32-x86'

make -C O.vxWorks-ppc32 -f ../Makefile TOP=../.. T_A=vxWorks-ppc32 install

make[2]: Entering directory
`C:/EPICS/base-3-14-12-4/configure/O.vxWorks-ppc32'

make[2]: Nothing to be done for `install'.

make[2]: Leaving directory
`C:/EPICS/base-3-14-12-4/configure/O.vxWorks-ppc32'

make[1]: Leaving directory `C:/EPICS/base-3-14-12-4/configure'

make -C ./src install

make[1]: Entering directory `C:/EPICS/base-3-14-12-4/src'

make -C ./tools install

make[2]: Entering directory `C:/EPICS/base-3-14-12-4/src/tools'

perl ../../src/tools/makeMakefile.pl O.win32-x86 ../../..

perl ../../src/tools/makeMakefile.pl O.vxWorks-ppc32 ../../..

perl -MExtUtils::Command -e mkpath O.Common

make -C O.win32-x86 -f ../Makefile TOP=../../.. T_A=win32-x86 install

make[3]: Entering directory `C:/EPICS/base-3-14-12-4/src/tools/O.win32-x86'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory `C:/EPICS/base-3-14-12-4/src/tools/O.win32-x86'

make -C O.vxWorks-ppc32 -f ../Makefile TOP=../../.. T_A=vxWorks-ppc32
install

make[3]: Entering directory
`C:/EPICS/base-3-14-12-4/src/tools/O.vxWorks-ppc32'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory
`C:/EPICS/base-3-14-12-4/src/tools/O.vxWorks-ppc32'

make[2]: Leaving directory `C:/EPICS/base-3-14-12-4/src/tools'

make -C ./makeBaseApp install

make[2]: Entering directory `C:/EPICS/base-3-14-12-4/src/makeBaseApp'

perl C:\EPICS\base-3-14-12-4/bin/win32-x86/makeMakefile.pl O.win32-x86
../../..

perl C:\EPICS\base-3-14-12-4/bin/win32-x86/makeMakefile.pl
O.vxWorks-ppc32 ../../..

perl -MExtUtils::Command -e mkpath O.Common

make -C O.win32-x86 -f ../Makefile TOP=../../.. T_A=win32-x86 install

make[3]: Entering directory
`C:/EPICS/base-3-14-12-4/src/makeBaseApp/O.win32-x86'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory
`C:/EPICS/base-3-14-12-4/src/makeBaseApp/O.win32-x86'

make -C O.vxWorks-ppc32 -f ../Makefile TOP=../../.. T_A=vxWorks-ppc32
install

make[3]: Entering directory
`C:/EPICS/base-3-14-12-4/src/makeBaseApp/O.vxWorks-ppc32'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory
`C:/EPICS/base-3-14-12-4/src/makeBaseApp/O.vxWorks-ppc32'

make[2]: Leaving directory `C:/EPICS/base-3-14-12-4/src/makeBaseApp'

make -C ./makeBaseExt install

make[2]: Entering directory `C:/EPICS/base-3-14-12-4/src/makeBaseExt'

perl C:\EPICS\base-3-14-12-4/bin/win32-x86/makeMakefile.pl O.win32-x86
../../..

perl C:\EPICS\base-3-14-12-4/bin/win32-x86/makeMakefile.pl
O.vxWorks-ppc32 ../../..

perl -MExtUtils::Command -e mkpath O.Common

make -C O.win32-x86 -f ../Makefile TOP=../../.. T_A=win32-x86 install

make[3]: Entering directory
`C:/EPICS/base-3-14-12-4/src/makeBaseExt/O.win32-x86'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory
`C:/EPICS/base-3-14-12-4/src/makeBaseExt/O.win32-x86'

make -C O.vxWorks-ppc32 -f ../Makefile TOP=../../.. T_A=vxWorks-ppc32
install

make[3]: Entering directory
`C:/EPICS/base-3-14-12-4/src/makeBaseExt/O.vxWorks-ppc32'

make[3]: Nothing to be done for `install'.

make[3]: Leaving directory
`C:/EPICS/base-3-14-12-4/src/makeBaseExt/O.vxWorks-ppc32'

make[2]: Leaving directory `C:/EPICS/base-3-14-12-4/src/makeBaseExt'

make -C ./libCom install

make[2]: Entering directory `C:/EPICS/base-3-14-12-4/src/libCom'

perl C:\EPICS\base-3-14-12-4/bin/win32-x86/makeMakefile.pl O.win32-x86
../../..

perl C:\EPICS\base-3-14-12-4/bin/win32-x86/makeMakefile.pl
O.vxWorks-ppc32 ../../..

perl -MExtUtils::Command -e mkpath O.Common

make -C O.win32-x86 -f ../Makefile TOP=../../.. T_A=win32-x86 install

make[3]: Entering directory `C:/EPICS/base-3-14-12-4/src/libCom/O.win32-x86'

perl ../../../src/libCom/misc/makeEpicsVersion.pl
../../../configure/CONFIG_BASE_VERSION ../O.Common

Building epicsVersion.h from ../../../configure/CONFIG_BASE_VERSION

Found EPICS Version 3.14.12.4

"Installing generated generic include file
C:\EPICS\base-3-14-12-4/include/epicsVersion.h"

rc -l 0x409 -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/fdmgr -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 -IC:\EPICS\base-3-14-12-4/include/os/WIN32
-IC:\EPICS\base-3-14-12-4/include -fo Com.res ../Com.rc

cl -c /nologo /D__STDC__=0 /D_CRT_SECURE_NO_DEPRECATE
/D_CRT_NONSTDC_NO_DEPRECATE   /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\\fdmgr
-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
-IC:\EPICS\base-3-14-12-4\\include\\os\\WIN32
-IC:\EPICS\base-3-14-12-4\\include
..\\..\\..\\src\\libCom\\bucketLib\\bucketLib.c

bucketLib.c

cl /nologo /EHsc /GR -c /nologo /D__STDC__=0 /D_CRT_SECURE_NO_DEPRECATE
/D_CRT_NONSTDC_NO_DEPRECATE /Ox /GL   /W3 /w44355       /MT
-DEPICS_DLL_NO /TP   -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\\fdmgr
-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
-IC:\EPICS\base-3-14-12-4\\include\\os\\WIN32
-IC:\EPICS\base-3-14-12-4\\include
..\\..\\..\\src\\libCom\\ring\\epicsRingPointer.cpp

epicsRingPointer.cpp

..\..\..\src\libCom\ring\epicsRingPointer.h(93) : *error C2664: 'delete'
: cannot convert parameter 1 from 'void *volatile * ' to 'void *'*

*        Conversion loses qualifiers*

..\..\..\src\libCom\ring\epicsRingPointer.cpp(82) : while compiling
class-template member function '__thiscall
epicsRingPointer<void>::~epicsRingPointer<void>(void)'

make[3]: Leaving directory `C:/EPICS/base-3-14-12-4/src/libCom/O.win32-x86'

make[2]: Leaving directory `C:/EPICS/base-3-14-12-4/src/libCom'

make[1]: Leaving directory `C:/EPICS/base-3-14-12-4/src'

*/The following code is written in epicsRingPointer.h (line 93):/*

inline epicsRingPointer<T>:: ~epicsRingPointer( )

{ delete [ ] buffer; }

If anyone can suggest us the solution to overcome this error it will be
of help to us.

Regards,

Amit Chauhan,

RRCAT, Indore



Replies:
Re: EPICS on VxWorks6.9 Dirk Zimoch
RE: EPICS on VxWorks6.9 Mark Rivers
References:
EPICS on VxWorks6.9 Amit Chauhan

Navigate by Date:
Prev: EPICS on VxWorks6.9 Amit Chauhan
Next: Re: EPICS on VxWorks6.9 Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: EPICS on VxWorks6.9 Amit Chauhan
Next: Re: EPICS on VxWorks6.9 Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·