[comp.sources.d] Gwyn's Directory Library

soley@ontenv.UUCP (Norman S. Soley) (11/18/88)

I've been trying to get Doug Gwyn's BSD/POSIX Directory access library
working on a SVR2 binary licence box (an NCR Tower 32/600 to be exact)
so far with little success. The documentation says that you can add
the object files to the libc.a library (fine OK, I can do this) but
then says some systems may require a rebuild of the symbol table after
doing that and suggests ranlib (which I don't have), I've RTFMed for
ar and ld and can see no answers there, any suggestions?

Thanks, Norm
-- 
Norman Soley - Data Communications Analyst - Ontario Ministry of the Environment
UUCP:	uunet!attcan!lsuc!ncrcan!ontenv!soley	VOICE:	+1 416 323 2623
OR:     soley@ontenv.UUCP 
  " Stay smart, go cool, be happy, it's the only way to get what you want"

guy@auspex.UUCP (Guy Harris) (11/19/88)

>...but then says some systems may require a rebuild of the symbol table after
>doing that and suggests ranlib (which I don't have), I've RTFMed for
>ar and ld and can see no answers there, any suggestions?

Yup.  I suggest you think of S5R2 as a system that doesn't require a
rebuild of the symbol table, because, in fact, it doesn't require it. 
S5R2 has something similar to "ranlib" built into "ar" itself, so the
symbol table is automatically rebuilt when you update the archive;
that's why it doesn't have a "ranlib" command. 

kay@hjuxa.UUCP (KAY) (11/19/88)

I was going to use mail but it bounced. Sorry if I step on any toes.

In article <283@ontenv.UUCP>, soley@ontenv.UUCP (Norman S. Soley) writes:
> I've been trying to get Doug Gwyn's BSD/POSIX Directory access library
> working on a SVR2 binary licence box (an NCR Tower 32/600 to be exact)
> so far with little success. The documentation says that you can add
> the object files to the libc.a library (fine OK, I can do this) but
> then says some systems may require a rebuild of the symbol table after
> doing that and suggests ranlib (which I don't have), I've RTFMed for
> ar and ld and can see no answers there, any suggestions?

The BSD 'ranlib' utility was incorporated into the standard 'ar' in System V
(even before paging etc). If you have any object files in the library, a
symbol table that 'ld' can read is written into the pseudo entry "/" in the
archive (actually 'ranlib' uses a different name for the pseudo arcive).
This is not obvious until the second reading of the code and much later
reading of the FM.

Since you are adding object files to a object library on SVr2 rather than
BSD, this symbol table is automatically updated and the linker _should_ be
able to find the routines you have added. There is no other utility to worry
about. Relax, be happy!

> Thanks, Norm

You're welcome.  Hope this helps.  Good luck on the port.

Paul Kay

ado@elsie.UUCP (Arthur David Olson) (11/19/88)

> Yup.  I suggest you think of S5R2 as a system that doesn't require a
> rebuild of the symbol table, because, in fact, it doesn't require it. 
> S5R2 has something similar to "ranlib" built into "ar" itself. . .

Now if somebody could just sneak a
	ln /bin/true /bin/ranlib
into SVR4. . .
-- 
	Arthur David Olson    ado@ncifcrf.gov    ADO is a trademark of Ampex.