About 18 months ago a problem was reported which caused warning messages
about 'errno' when poplog was started up on new versions of linux (e.g.
RedHat 9), and prevented re-linking of poplog. See Bug 34 here:
http://www.cs.bham.ac.uk/research/poplog/bugfixes/BUGREPORTS
With significant help from Waldek Hebisch I installed changes which
fixed the problem in July 2003. The files altered were
$usepop/pop/extern/lib/c_core.c
$popsrc/errors.p
$popsrc/unixdefs.ph
I have now (rather late) added explanatory revision notes to those
files.
It also turns out that on systems where 'errno' is no longer supported
in C libraries, the pop11 socket library no longer compiles. For example
the socket library is needed for the Ved-based newsreader available
here:
http://www.cs.bham.ac.uk/research/poplog/vedgn.tar.gz
The fix is simple, namely to alter the library
$usepop/pop/lib/lib/unix_sockets.p
to use the new mechanism.
Simply remove or comment out this line (line 112):
U_errno :int <- errno,
and add a new macro definition for ERRNO
lconstant macro (
SOL_SOCKET = 16:FFFF, ;;; options for socket level
;;; see $popsrc/errors.p for definition of DO_ERRNO_VAL
ERRNO = [DO_ERRNO_VAL],
NAMEBUF_SIZE = 256,
);
This change has been installed in bham poplog packages. In the meantime
anyone who uses the pop11 socket library and has had a new version of
poplog since about a year ago should fetch the new unix_sockets file.
First check that your version of
$popsrc/errors.p
includes a definition of this active variable and its updater:
DO_ERRNO_VAL
If it does, fetch and install
http://www.cs.bham.ac.uk/research/poplog/bugfixes/pop/lib/lib/unix_sockets.p
in place of
$usepop/pop/lib/lib/unix_sockets.p
All this is now in the latest bham linux poplog packages
http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
[NOTE: the problem with externally invoked fortran procedures
returning single floats has not yet been resolved. No changes
to fix this have been installed.]
Aaron
===
http://www.cs.bham.ac.uk/~axs/
|