update to 3.14.12.2
This commit is contained in:
@@ -3,14 +3,196 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
<title>EPICS Base R3.14.12.1 Release Notes</title>
|
||||
<title>EPICS Base R3.14.12.2 Release Notes</title>
|
||||
</head>
|
||||
|
||||
<body lang="en">
|
||||
<h1 align="center">EPICS Base Release 3.14.12.1</h1>
|
||||
<h1 align="center">EPICS Base Release 3.14.12.2</h1>
|
||||
|
||||
<h2 align="center">Changes between 3.14.12.1 and 3.14.12.2</h2>
|
||||
|
||||
<!-- Insert new items immediately below here ... -->
|
||||
|
||||
<h4>Path for Cap5 loadable library changed</h4>
|
||||
|
||||
<p>The perl CA module makes use of a loadable library, which used to be loaded
|
||||
from the base/lib/<host-arch> directory. However different versions of
|
||||
Perl require different loadable library binaries as the Perl ABI can change.
|
||||
Now the library will be installed into and loaded from the directory
|
||||
base/lib/perl/<version>/<archname> where both <version> and
|
||||
<archname> are taken from the Perl configuration. This makes it possible
|
||||
for the same Perl script to be run on both RHEL5 and RHEL6 workstations say, even
|
||||
though they use different versions of Perl.</p>
|
||||
|
||||
<p>To achieve that, first build EPICS Base using the older OS version. Then
|
||||
on a machine running the newer version, go into the base/src/cap5 directory and
|
||||
run a <tt>make rebuild</tt> command. This will rebuild the libCap5.so file and
|
||||
install it into the location appropriate for its Perl version and architecture.</p>
|
||||
|
||||
<h4>Build configurations updated for Apple iOS targets</h4>
|
||||
|
||||
<p>The build process can now construct universal binaries containing both ARMv6
|
||||
and ARMv7 code, and several defaults have been changed when building for iOS
|
||||
targets:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li>The default value for IOS_VERSION is now 5.0, edit the setting in
|
||||
<tt>configure/os/CONFIG_SITE.Common.iosCommon</tt> to use an older version.</li>
|
||||
|
||||
<li>With the introduction of iOS 5.0 we have switched the C++ compiler for
|
||||
ios-arm from GNU g++ to using the LLVM-based clang++ (the GNU compilers are
|
||||
apparetnly no longer included with the SDK). This can be switched back by
|
||||
editing the new <tt>CONFIG_SITE.Common.ios-arm</tt> file.</li>
|
||||
|
||||
<li>Like the Darwin builds, universal binaries can now be compiled for the
|
||||
ios-arm target, containing either or both ARMv6 and ARMv7 instructions. This is
|
||||
configured by setting ARCH_CLASS in the new <tt>CONFIG_SITE.Common.ios-arm</tt>
|
||||
file. The default is now to build for ARMv7 only, which is not compatible with
|
||||
the original iPhone 1 or 3G, or with the iPod Touch Generations 1 or 2.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h4>Added <tt>-b</tt> option to dbExpand</h4>
|
||||
|
||||
<p>This turns off monotonic checking of breakpoint tables.</p>
|
||||
|
||||
<h4>Launchpad Bugs Resolved</h4>
|
||||
|
||||
<p>The following are links to bugs in the Launchpad bug tracker that have been
|
||||
fixed in this release:</p>
|
||||
|
||||
<ul>
|
||||
<li>697509
|
||||
<a href="https://launchpad.net/bugs/697509">
|
||||
Thread synchronization issue in libCom/osi/os/WIN32/osdTime.cpp</a></li>
|
||||
<li>697516
|
||||
<a href="https://launchpad.net/bugs/697516">
|
||||
Crash occurs in Com.dll if filetime is before the EPICS epoch </a></li>
|
||||
<li>697517
|
||||
<a href="https://launchpad.net/bugs/697517">
|
||||
WIN32 osdtime should handle the system time change properly</a></li>
|
||||
<li>697519
|
||||
<a href="https://launchpad.net/bugs/697519">
|
||||
The incorrect way to compute the roll-over in WIN32 osdTime.cpp</a></li>
|
||||
<li>736273
|
||||
<a href="https://launchpad.net/bugs/736273">
|
||||
nonstandard c++ mutable ref in cac</a></li>
|
||||
<li>786979
|
||||
<a href="https://launchpad.net/bugs/786979">
|
||||
incorrect ref counting for timer queues</a></li>
|
||||
<li>794749
|
||||
<a href="https://launchpad.net/bugs/794749">
|
||||
3.14.12 caget without -c always requests maximum element count</a></li>
|
||||
<li>816678
|
||||
<a href="https://launchpad.net/bugs/816678">
|
||||
g++ generic thunk generation fails virtual varargs</a></li>
|
||||
<li>831648
|
||||
<a href="https://launchpad.net/bugs/831648">
|
||||
RTEMS dynamically loaded app fails to execute osdTimeRegister</a></li>
|
||||
<li>835138
|
||||
<a href="https://launchpad.net/bugs/835138">
|
||||
Incorrect calculation oss priorities for posix threads</a></li>
|
||||
<li>861214
|
||||
<a href="https://launchpad.net/bugs/861214">
|
||||
epicsThreadOnce crashes in static object destructor on win32</a></li>
|
||||
<li>861627
|
||||
<a href="https://launchpad.net/bugs/861627">
|
||||
RULES.db has incorrect dbExpand flags</a></li>
|
||||
<li>878372
|
||||
<a href="https://launchpad.net/bugs/878372">
|
||||
in-memory channel, ca client subscribe isnt thread safe</a></li>
|
||||
<li>878387
|
||||
<a href="https://launchpad.net/bugs/878387">
|
||||
In memory channel clear fails from put callback function</a></li>
|
||||
</ul>
|
||||
|
||||
<h4>Added database sanity checks to iocInit</h4>
|
||||
|
||||
<p>Two menus may legitimately be modified by users; some checks have been added
|
||||
that run at iocInit and make sure the choices haven't been changed too much for
|
||||
the IOC to function properly:</p>
|
||||
|
||||
<ul>
|
||||
<li><tt>menuConvert</tt> is checked to flag problems with IOCs converted from
|
||||
3.13.x, where the SLOPE choice didn't exist.</p>
|
||||
<li><tt>menuScan</tt> is checked to ensure the three initial choices are still
|
||||
present and that there is at least one periodic scan rate.</li>
|
||||
</ul>
|
||||
|
||||
<h4>Fix various catools issues</h4>
|
||||
|
||||
<p>Array handling in the caget and camonitor programs has been debugged, fixing
|
||||
<a href="https://bugs.launchpad.net/bugs/794749">launchpad bug 794749</a> along
|
||||
with a few other related issues dating back to the addition of variable length
|
||||
array support.</p>
|
||||
|
||||
<h4>Another race condition in errlog cleaned up</h4>
|
||||
|
||||
<p>If it was still busy when the IOC was closed down, the errlog thread could
|
||||
have preempted the exit handler and freed the various internal pvtData mutex and
|
||||
event objects too soon.</p>
|
||||
|
||||
<h4>Top-level make target changes</h4>
|
||||
|
||||
<p>Several make targets have been changed. Note that these can only be used from
|
||||
an application's <top> directory.</p>
|
||||
|
||||
<dl>
|
||||
<dt><code>make uninstall.<arch></code></dt>
|
||||
<dd>Deletes the bin/<arch> and lib/<arch> directories for
|
||||
<arch> only. Note that <arch> does not have to be an
|
||||
architecture that this host is configured to build, it works for any
|
||||
arch.</dd>
|
||||
|
||||
<dt><code>make archuninstall</code></dt>
|
||||
<dd>Deletes the bin/<arch> and lib/<arch> directories for all
|
||||
architectures that this host is configured to build. Should not affect files
|
||||
used for multiple architectures, or for host or target architectures that
|
||||
this host is not configured to build.</dd>
|
||||
|
||||
<dt><code>make uninstall</code></dt>
|
||||
<dd>Does archuninstall and also deletes the other install directories include,
|
||||
db, dbd, doc, html, templates and java. This will affect subsequent builds
|
||||
for other architectures, but it doesn't delete their bin/<arch> or
|
||||
lib/<arch> contents.</dd>
|
||||
|
||||
<dt><code>make realuninstall</code></dt>
|
||||
<dd>Deletes all install directories for all architectures.</dd>
|
||||
|
||||
<dt><code>make distclean</code></dt>
|
||||
<dd>Does realclean realuninstall as before, and also now does a cvsclean,
|
||||
which removes file remnants from CVS operations named <code>.#*</code> and
|
||||
editor backups named <code>*~</code> throughout the source tree.</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<h4>Compress record type</h4>
|
||||
|
||||
<p>This record now posts monitors on its NUSE field whenever its value changes.
|
||||
A new field OUSE was added to support this.</p>
|
||||
|
||||
<h4>Remove C++ build rule for <code>.C</code> files</h4>
|
||||
|
||||
<p>An early convention on Unix systems was to name C++ files with an upper-case
|
||||
extention, <code>.C</code>. This does not work on Windows or MacOS where the
|
||||
filesystems are case-insensitive, and the C++ build rule was causing problems so
|
||||
has been eliminated. Any remaining C++ source files that are still using this
|
||||
convention will have to be renamed, preferably to <code>.cpp</code></p>
|
||||
|
||||
<h4>Support <code>make -s</code> on Windows</h4>
|
||||
|
||||
<p>The flag to silence build output did not work on some Windows architecture
|
||||
combinations. This has now been fixed.</p>
|
||||
|
||||
<h4>iocLogServer now supports logrotate</h4>
|
||||
|
||||
<p>The feature in the iocLogServer that closed and reopened the logfile used to
|
||||
ignore the SIGHUP signal when the log filename did not change. This has now been
|
||||
changed so these logfiles can be used with the standard Linux logrotate
|
||||
package.</p>
|
||||
|
||||
|
||||
<h2 align="center">Changes between 3.14.12 and 3.14.12.1</h2>
|
||||
|
||||
<p>This release only contains changes that fix bugs or add build configuration
|
||||
@@ -369,10 +551,6 @@ giving correct initial monitor behavior in some circumstances.</p>
|
||||
|
||||
<p>Fixed a crash when ALG (algorithm) was changed to Average at runtime.</p>
|
||||
|
||||
<h4>Named Soft Events</h4>
|
||||
|
||||
<p>Soft events can now be meaningful strings instead of numbers 1-255.
|
||||
|
||||
<h4>configure/RELEASE Enhancements</h4>
|
||||
|
||||
<p>Variable definitions in a <tt>configure/RELEASE</tt> file may now use the
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
/*
|
||||
* Deprecation marker
|
||||
*/
|
||||
#if defined (__GNUC__) && (__GNUC__ >= 3)
|
||||
#if defined( __GNUC__ ) && (__GNUC__ > 2)
|
||||
# define EPICS_DEPRECATED __attribute__((deprecated))
|
||||
#else
|
||||
# define EPICS_DEPRECATED
|
||||
|
||||
@@ -14,8 +14,6 @@ USR_INCLUDES = -I../../ca
|
||||
|
||||
INC += rsrv.h
|
||||
INC += rsrvIocRegister.h
|
||||
# The following is used by iocmon
|
||||
INC += server.h
|
||||
|
||||
LIB_SRCS += caserverio.c
|
||||
LIB_SRCS += caservertask.c
|
||||
|
||||
Reference in New Issue
Block a user