[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:1 Jan 2005 16:44:17 -0000 
Subject:Revised version of unix_sockets library for systems without 'errno' 
From:Aaron Sloman 
Volume-ID: 

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/