[comp.unix.sysv386] Compiling X Clients for X386 1.1 with gcc

gwr@world.std.com (Gordon W. Ross) (03/05/91)

In article <1991Mar1.173835.623@kumr.lns.com> pozar@kumr.lns.com
(Tim Pozar) writes:
>
>   I talked to Jeff at Esix and he told me to line these libs:
>
>             -lX11 -lnet -lnsl_s -lc -lbsd
>
>                        Tim
>-- 
>       pozar@lns.com  Fido: 1:125/555  PaBell: 415-788-3904
>    USNail:  KKSF-FM / 77 Maiden Lane /  San Francisco CA 94108

The list of libraries above is correct for ESIX X11R3, but that is not
what was asked for.  Here are the libraries needed for compiling clients
under Roell's X11R4 (for ESIX, and probably ISC as well):

With gcc and shared libraries (gcc -shlib):
	... -lX11_s -lpt -lnet_s -lnsl_s -lc_s -lbsd
	( the -lbsd library might not be necessary)

With gcc and non-shared libs:
	... -lX11 -lpt -lnet -lnsl_s -lc -lbsd
	(Note: -lnsl not provided as a non-shared library.)

With system cc you must append to the above:
	-lPW				(to get alloca)
	/usr/local/lib/gcc-gnulib	(gcc builtin stuff)
because T. Roell's libraries were compiled with gcc, and any
code compiled with gcc needs to be linked with gnulib.

If you are using gcc and shared libraries, make sure the -shlib flag
causes gcc.c to link programs using:
	/lib/crt1.o  (program-objects) -lc_s /lib/crtn.o
which is what you get if you have installed gcc using a modified
gas which supports COFF output (and dbx style debugging info).
This configuration is VERY convenient, by the way...

Thanks go to james@bigtex.cactus.org (James Van Artsdalen) for
correcting an error in my previous (now cancelled) article.
(I didn't have the /lib/crtn.o at the end as it should be.)
-- 
Gordon Ross	(gwr@world.std.com)