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

Subject: Re: MCA (Matlab Channel Access) new version
From: Korhonen Timo <[email protected]>
To: Eric Norum <[email protected]>
Cc: EPICS Techtalk <[email protected]>
Date: Thu, 18 Nov 2010 17:07:56 +0100
Hi Eric,

thanks for pointing this out. I did not get these warnings - I did not pay too much attention to the compiler options.

I made some changes and managed to get rid of the warnings (I was able to reproduce them all).
I hope they will be gone for you, too - and that the code still works. It still does work for me. At least so far.
I do not list the details of the changes here (they are described in the commit messages, I am also happy to explain them should somebody be interested.)


best regards,

Timo

Eric Norum wrote:
When I build for octave with EPICS_HOST_ARCH=linux-x86_64
(Linux apex4.als 2.6.18-194.17.4.el5xen #1 SMP Mon Oct 25 16:36:31 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux)
I get some warnings -- reaching the end of a non-void function sounds like it might be a real issue. I have no idea what the final warning is about.

mkoctfile --mex -DmexAtExit=atexit -v -I/usr/local/epics/R3.14.12/base/include -I/usr/local/epics/R3.14.12/base/include/os/Linux -DEPICS_DLL_NO -L/usr/local/epics/R3.14.12/base/lib/linux-x86_64 -ldbStaticHost -lCom -lca mca.cpp MCAError.cpp Channel.cpp -o O.linux-x86_64/mca.mex
g++ -c -DH5_USE_16_API -fPIC -I/usr/include/octave-3.0.5 -I/usr/include/octave-3.0.5/octave -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -I. -I/usr/local/epics/R3.14.12/base/include -I/usr/local/epics/R3.14.12/base/include/os/Linux -DmexAtExit=atexit -DEPICS_DLL_NO mca.cpp -o mca.o
mca.cpp: In function ‘void mexFunction(int, mxArray**, int, const mxArray**)’:
mca.cpp:429: warning: unused variable ‘NoStrings’
mca.cpp:430: warning: unused variable ‘mymxArray’
queue.h: In member function ‘T Queue<T>::Dequeue() [with T = int]’:
queue.h:176: warning: control reaches end of non-void function
g++ -c -DH5_USE_16_API -fPIC -I/usr/include/octave-3.0.5 -I/usr/include/octave-3.0.5/octave -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -I. -I/usr/local/epics/R3.14.12/base/include -I/usr/local/epics/R3.14.12/base/include/os/Linux -DmexAtExit=atexit -DEPICS_DLL_NO MCAError.cpp -o MCAError.o
g++ -c -DH5_USE_16_API -fPIC -I/usr/include/octave-3.0.5 -I/usr/include/octave-3.0.5/octave -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -I. -I/usr/local/epics/R3.14.12/base/include -I/usr/local/epics/R3.14.12/base/include/os/Linux -DmexAtExit=atexit -DEPICS_DLL_NO Channel.cpp -o Channel.o
Channel.h: In constructor ‘Channel::Channel(const ChannelAccess*, const char*)’:
Channel.h:179: warning: ‘Channel::last_put_ok’ will be initialized after
Channel.h:171: warning:   ‘dbr_gr_enum Channel::EnumStrings’
Channel.cpp:19: warning:   when initialized here



When I build for octave with EPICS_HOST_ARCH=darwin-x86 I get different warnings.  These sound a little more benign...
mkdir O.darwin-x86
mkoctfile --mex -DmexAtExit=atexit -v -I/usr/local/epics/R3.14.12/base/include -I/usr/local/epics/R3.14.12/base/include/os/Darwin -DEPICS_DLL_NO -L/usr/local/epics/R3.14.12/base/lib/darwin-x86 -ldbStaticHost -lCom -lca mca.cpp MCAError.cpp Channel.cpp -o O.darwin-x86/mca.mex
/sw/bin/g++-4 -c -I/usr/local/include -D_REENTRANT -I/sw/include -fPIC -I/usr/local/include/octave-3.2.4 -I/usr/local/include/octave-3.2.4/octave -I/usr/local/include -mieee-fp -I/sw/include/freetype2 -I/sw/include -g -O2 -I. -I/usr/local/epics/R3.14.12/base/include -I/usr/local/epics/R3.14.12/base/include/os/Darwin -DmexAtExit=atexit -DEPICS_DLL_NO mca.cpp -o mca.o
In file included from mca.cpp:24:
Channel.h: In member function 'char* Channel::GetHostName() const':
Channel.h:29: warning: deprecated conversion from string constant to 'char*'
/sw/bin/g++-4 -c -I/usr/local/include -D_REENTRANT -I/sw/include -fPIC -I/usr/local/include/octave-3.2.4 -I/usr/local/include/octave-3.2.4/octave -I/usr/local/include -mieee-fp -I/sw/include/freetype2 -I/sw/include -g -O2 -I. -I/usr/local/epics/R3.14.12/base/include -I/usr/local/epics/R3.14.12/base/include/os/Darwin -DmexAtExit=atexit -DEPICS_DLL_NO MCAError.cpp -o MCAError.o
/sw/bin/g++-4 -c -I/usr/local/include -D_REENTRANT -I/sw/include -fPIC -I/usr/local/include/octave-3.2.4 -I/usr/local/include/octave-3.2.4/octave -I/usr/local/include -mieee-fp -I/sw/include/freetype2 -I/sw/include -g -O2 -I. -I/usr/local/epics/R3.14.12/base/include -I/usr/local/epics/R3.14.12/base/include/os/Darwin -DmexAtExit=atexit -DEPICS_DLL_NO Channel.cpp -o Channel.o
In file included from Channel.cpp:4:
Channel.h: In member function 'char* Channel::GetHostName() const':
Channel.h:29: warning: deprecated conversion from string constant to 'char*'


On Nov 17, 2010, at 3:08 AM, Korhonen Timo wrote:


Dear all,

the enhancements to mca (Matlab Channel Access) that I announced in the last EPICS meeting are now
available (except the GUI objects - those are not really part of the mca. They will follow later - if there
is interest..)
After consulting with Kay Kasemir we decided to put the code into SourceForge (sorry APS folks,
I know you have problems with it) epics-applications project:
https://sourceforge.net/projects/epics/

The code is in CVS:/extensions/mca

It has been in use here at PSI for a while (apart from one small change in egu handling) on our
Scientific Linux 5 machines and I am not aware of any open issues.

Please take a look at the code and see if it works on other platforms and with Octave.
Do not hesitate to point out problems - I am not very experienced in matlab interface API
and my C++ skills also need some brushing up...

The main changes are listed in the release note (for version 4.2)

cheers,
Timo

--
Timo Korhonen  PSI (Paul Scherrer Institut, http://www.psi.ch)               CH-5232 Villigen PSI               tel + 41- 56 3103262  fax + 41 - 56 310 5090 e-mail:	       [email protected]




--
Timo Korhonen PSI (Paul Scherrer Institut, http://www.psi.ch) CH-5232 Villigen PSI tel + 41- 56 3103262 fax + 41 - 56 310 5090 e-mail: [email protected]



References:
MCA (Matlab Channel Access) new version Korhonen Timo
Re: MCA (Matlab Channel Access) new version Eric Norum

Navigate by Date:
Prev: Re: Anyone tried connecting a client to a local server on vxWorks 6.3? Ralph Lange
Next: Re: MCA (Matlab Channel Access) new version Korhonen Timo
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: MCA (Matlab Channel Access) new version Eric Norum
Next: Anyone tried connecting a client to a local server on vxWorks 6.3? lorna . zhang
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·