Subject: Re: problems compiling ssh-1.2.17
To: Anne Bennett <anne@alcor.concordia.ca>
From: Michael L. Hitch <mhitch@lightning.oscs.montana.edu>
List: port-pmax
Date: 05/14/1997 09:25:09
On May 13,  9:17pm, Anne Bennett wrote:
...
>    ld: mpn_add_n.o: linking PIC files with non-PIC files
>    ld: mpn_lshift.o: linking PIC files with non-PIC files
>    ld: mpn_mul_1.o: linking PIC files with non-PIC files
>    ld: mpn_rshift.o: linking PIC files with non-PIC files
>    ld: mpn_sub_n.o: linking PIC files with non-PIC files
>    ld: mpn_submul_1.o: linking PIC files with non-PIC files
>    ld: mpn_addmul_1.o: linking PIC files with non-PIC files
>    /usr/lib/libwrap.so: undefined reference to `allow_severity'
>    /usr/lib/libwrap.so: undefined reference to `deny_severity'
>    *** Error code 1
> 
> I remade and reinstalled libwrap on the offchance that it was the
> problem, but this had no effect.  I have no idea what the PIC stuff is
> about, and to top it all off, the Makefile for ssh does not work well,
> in that lots of stuff is recompiled when it shouldn't be (thanks to
> some cute use of temporary files).  Sigh!
> 
> Anyway, if anyone can suggest an approach with respect to the PIC
> complaints, and if anyone has any ideas as to why libwrap is causing
> problems, I'd much appreciate enlightenment.

  The PIC stuff has to do with the shared library support on the pmax.  I
think the compiler generates the PIC information on everything.  However,
I suspect the "non-PIC" files listed are assembly source, and do not contain
the PIC information.  They will need to be modified to include the appropriate
PIC information (I'm not certain what that entails at the moment).

  The libwrap problem is probably because "allow_severity" and "deny_severity"
are external to the libwrap routines and need to be defined by the program
using the libwrap.  These are defined in sshd.c, but not in ssh.c.  Apparently
something in ssh is pulling in the libwrap routine that uses those variables.

> BTW, ssh compiles just fine under netbsd/i386 version 1.2.

  The i386 doesn't do ELF and I think has a different implementation of
shared librarys, so the PIC stuff is handled differently.  Linking could
also possibly be handled differently and not exhibit the same problem with
the libwrap variables.

Michael

-- 
Michael L. Hitch			mhitch@montana.edu
Computer Consultant
Information Technology Center
Montana State University	Bozeman, MT	USA