Subject: Re: problem compiling bin/rcp w/crypto-us
To: None <newhouse@totalarchive.com>
From: Brad Spencer <brad@anduin.eldar.org>
List: current-users
Date: 06/08/2000 23:40:34
   Platform i386

   Compiling a recently sup'd tree produces:

      all ===> bin/rcp
      cc  -static -o rcp -nostdlib -L/usr/src/newhouse-out/usr/lib 
	   -Wl,-rpath-link,/usr/src/newhouse-out/usr/lib /usr/src/newhouse-out/usr/lib/crt0.o  
	   rcp.o util.o krcmd.o kcmd.o -lkrb -ldes -lgcc -lc -lgcc
      pcbc_enc.o: Undefined symbol `_des_encrypt' referenced from text segment
      pcbc_enc.o: Undefined symbol `_des_encrypt' referenced from text segment
      collect2: ld returned 1 exit status
      *** Error code 1 (continuing)

   It's the only compile error in the tree.  There are other des_encrypt references but, 
   this is the one (two?) that fails ... I don't get it.  Can anybody point me at a clue?

   TIA,
   Paul



libdes.so probably got compiled with "RSS relocations" in the i386
assembly.  That is trouble for a.out systems [although it wasn't mentioned
if you were compiling things a.out or ELF].

In crypto-us/lib/libdes/Makefile there are a couple of lines that look
something like:

  .if (${MACHINE_ARCH} == "i386") && (${OBJECT_FMT} != "a.out")
  #       XXX x86 assy produces lots of RRS text relocation errors on shared
  #       XXX lib, must fix.
A .PATH: ${.CURDIR}/arch/i386
B SRCS+=  dx86unix.s yx86unix.s 
C #SRCS+= des_enc.c fcrypt_b.c
D #CPPFLAGS+=      -DDES_UNROLL -DDES_RISC1
  .else

Comment out A and B and uncomment C and D.  Then rebuild and install the
library.  Things should proceed along better.  [Note: The check for
MACHINE_ARCH == i386 and OBJECT_FMT == a.out is a recent change].

If you are running an ELF system, then it would seem that the "RSS
relocation" messages [or whatever they are called there] is trouble and a
PR should be filed about it.

One should be able to rebuild libdes with the assemble code in place at a
later time.



Brad Spencer - brad@anduin.eldar.org   http://anduin.eldar.org
[finger brad@anduin.eldar.org for PGP public key]