Subject: shared libs... what am I doing wrong
To: None <>
From: Peter Galbavy <>
List: current-users
Date: 08/17/1994 22:45:48
I am currently hacking at ISODE in the background, and getting it
compiling etc. I have got as far a a libisode.a and a shared version
of it. However, I am having problems with using the shared lib.

When linked shared I get bus error in fseek(), but when linked
statically all is OK. I suspect I am not treating globals correctly.
Is there anything special I have to do ?

The offending code looks like:

	static char *isoservices = "isoservices";

	static FILE *servf = NULL;
	static int  stayopen = 0;

	static struct isoservent    iss;

	/*  */

	int	setisoservent (f)
	int	f;
	    if (servf == NULL)
		servf = fopen (isodefile (isoservices, 0), "r");
		rewind (servf);
	    stayopen |= f;

	    return (servf != NULL);

And the bus error is in the fseek, called by rewind etc. I guess
I should be doing something with the statics ? The link line is
from <>, so I guess it's OK.

This is all on NetBSD/sparc 1.0_BETA. As of about 3 weeks ago.

Ignorantly yours :)
Peter Galbavy					work:
Wonderland					rest:
"The 'net interprets censorship as damage and routes around it." - John Gilmore