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]