EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  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  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: ChannelArchiver and gcc 3.2.2 on linux
From: Peter Groszkowski <[email protected]>
To: Tech-Talk <[email protected]>
Date: Tue, 03 Feb 2004 14:56:35 -1000
Hello:

Let me quickly outline my system configuration:
----
Epics version: 3.13.9
ChannelArchiver version: 1.9.1
OS: RedHat9 ( kernel 2.4.20)
gcc version from running 'gcc -v':
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
----


I was wondering whether anyone has been using the ChannelArchiver under RedHat9. I am having a few minor compilation issues which I believe may be related to my version of gcc.

Essentially the problem is due to a line (in two different files):

_file.unsetf (std::ios::binary);

where _file is an object of type std::ifstream. The error I get is:

In file included from ../ASCIIParser.cc:6:
.../ASCIIParser.cpp: In member function `bool ASCIIParser::open(const
stdString&)':
.../ASCIIParser.cpp:25: no matching function for call to `
std::basic_ifstream<char, std::char_traits<char> >::unsetf(const
std::_Ios_Openmode&)'
/usr/include/c++/3.2.2/bits/ios_base.h:361: candidates are: void
std::ios_base::unsetf(std::_Ios_Fmtflags)
gmake[1]: *** [ASCIIParser.o] Error 1
gmake[1]: Leaving directory `/usr/local/epics_versions/epics3.13.9GEM8.5/extensions/src/Tools/O.Linux'
gmake: *** [install.Linux] Error 2



I can comment out this line and everything compiles fine. It seems like the library interface has changed and one cannot set the bits responsible for binary processing after the stream has been opened.


I would imagine that this line makes very little difference on linux, but I am curious whether other people perhaps with other versions of gcc have experienced this. For the sake of consistency I would like modify the code as little as possible (preferably not at all).

Also, does anyone know what the *official* web page for the archiver is? I found most information on:

http://lansce.lanl.gov/lansce8/Epics/Archiver/

and:

http://ics-web1.sns.ornl.gov/~kasemir/archiver/ <http://ics-web1.sns.ornl.gov/%7Ekasemir/archiver/>

which has source for version 2.1.0 (which should be used with EPICS 3.14.x).

Thanks.

--
Peter Groszkowski         Gemini Observatory
Tel: +1 808 974-2509      670 N. A'ohoku Place
Fax: +1 808 935-9235      Hilo, Hawai'i 96720, USA



Replies:
Re: ChannelArchiver and gcc 3.2.2 on linux Kay Kasemir
Re: ChannelArchiver and gcc 3.2.2 on linux Susanna Jacobson

Navigate by Date:
Prev: RE: registerRecordDeviceDriver Problem Kim, Kukhee
Next: edd/dm and Red Hat Linux Nick Rees
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Device Support for Keithley 486 Thomas Hahn
Next: Re: ChannelArchiver and gcc 3.2.2 on linux Kay Kasemir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·