Re. Shared libraries linker error

cmc%informatics.rutherford.ac.uk at nss.cs.ucl.ac.uk cmc%informatics.rutherford.ac.uk at nss.cs.ucl.ac.uk
Fri Mar 10 04:30:49 AEST 1989


auspex!guy at uunet.uu.net (Guy Harris):
>A program that uses "select" "properly" and that is compiled and linked on
>a 3.x machine will, assuming no other binary compatibility problems occur,
>still work correctly under 4.x under *any* circumstances (modulo bugs in
>4.x).

In my experience, this assertion that using fd_sets will solve you
problems in the case of binary (cf source) compatability is incorrect.  I
had some trouble with an application failing in select despite using
select "properly" with fd_sets as Guy suggests.  The problem, of course,
is that old fd_sets still only had room for 32 file descriptors which is
potentially insufficient for OS4.

The fd_sets should have been made large enough to handle the envisaged
increase in the number of file descriptors in the first place (corollary
of Murphy's law: this is impossible!)

Chris.

Chris M Crampton		JANET:	cmc at uk.ac.rl.inf
Informatics Department		ARPA:	cmc%inf.rl.ac.uk at nss.cs.ucl.ac.uk
Rutherford Appleton Labs,	UUCP:	..!mcvax!ukc!rlinf!cmc
Didcot, OXON, OX11 0QX, U.K.		cmc at rlinf.uucp
Tel. +44 235 44 6756
FAX. +44 235 44 5831

[[ You've got him there...using select "properly" in the way he describes
will only work correctly with file descriptor values < 32.  However,
source level compatability will be maintained.  And you should really
recompile everything for 4.0 anyway, to take advantage of the shared
library (and possibly even the extra levels of compiler optimization).
--wnl ]]



More information about the Comp.sys.sun mailing list