I don't see how my changes to non-secure Makefiles might affect this.
What I did is disabled building of non-secure, standard libtelnet,
telnet and telnetd if we are also building the secure versions.
I did not touch the secure/ versions in this commit.  Moreover, the
standard versions are still built for ``make release'' (RELEASEDIR).
The problem is certainly elsewhere.

[2 minutes of thinking]

Doh, now I see what happened.  It is another commit that broke this.
Commit to secure/ Makefiles.  Here is part of my original posting to
Mark Murray on secure/ build fixes regarding secure/Makefile.inc:

: TELNETOBJDIR is gone.  `buildworld' already installs libtelnet.a
: in ${WORLDTMP}/usr/lib, and we have LIBRARY_PATH pointing there.
: Doh, this change uncovered another bug: in the standard build
: environment, we built both secure/ and standard versions of
: libtelnet, telnetd and telnet; and standard libtelnet.a was
: clobbering secure/ libtelnet.a in ${WORLDTMP}/usr/lib at the
: `libraries' stage of `buildworld'.

I have fixed this for normal buildworld/installworld case -- we
do not build and install both secure and non-secure versions of
*telnet*, but the problem still persists for `make release' case
because in we forcibly build and install secure and non-secure
versions, and non-secure libtelnet.a clobbers secure version in

The fix is easy -- make libtelnet an "internal static library",
as was discussed with Mark Murray recently, and I have actually
done the first prerequisite step in this direction -- fixed the
net/tn3270 port that depended on this library.

I will commit the changes soon, and will let you know.  Actually,
this brokeness is a good argument in favor of this change!  :-)

On Wed, Mar 28, 2001 at 10:42:10AM +0200, John Hay wrote:
> Hi Ruslan,
> On the 26th you made changes to the Makefiles with this log message:
> ##########
>   Do not build (and install) both secure/ and standard versions
>   of libtelnet, telnetd, and telnet.  This only worked because
>   secure/ was listed late in SUBDIR in Makefile.inc1.
> ##########
> Did you check that "make release" still works with it? Here a "make
> release" bombs out with:
> ###########
> UTHENTICATION -DENCRYPTION  -I/usr/src/secure/libexec/telnetd/../../../crypto/te
> lnet -DINET6 -DNO_IDEA   -I/usr/obj/usr/src/i386/usr/include -c /usr/src/secure/
> libexec/telnetd/../../../crypto/telnet/telnetd/utility.c
> UTHENTICATION -DENCRYPTION  -I/usr/src/secure/libexec/telnetd/../../../crypto/te
> lnet -DINET6 -DNO_IDEA   -I/usr/obj/usr/src/i386/usr/include -c /usr/src/secure/
> libexec/telnetd/../../../crypto/telnet/telnetd/authenc.c
> gzip -cn /usr/src/secure/libexec/telnetd/../../../crypto/telnet/telnetd/telnetd.
> 8 > telnetd.8.gz
> UTHENTICATION -DENCRYPTION  -I/usr/src/secure/libexec/telnetd/../../../crypto/te
> lnet -DINET6 -DNO_IDEA   -I/usr/obj/usr/src/i386/usr/include  -o telnetd global.
> o slc.o state.o sys_term.o telnetd.o termstat.o utility.o authenc.o  -lutil -lte
> rmcap -ltelnet -lcrypto -lcrypt -lmp
> state.o: In function `willoption':
> state.o(.text+0x695): undefined reference to `auth_request'
> state.o(.text+0x69d): undefined reference to `encrypt_send_support'
> state.o(.text+0x705): undefined reference to `auth_request'
> state.o(.text+0x70d): undefined reference to `encrypt_send_support'
> state.o: In function `wontoption':
> state.o(.text+0x88c): undefined reference to `auth_finished'
> state.o(.text+0x926): undefined reference to `auth_finished'
> state.o: In function `suboption':
> state.o(.text+0x13e7): undefined reference to `auth_is'
> state.o(.text+0x1403): undefined reference to `auth_name'
> state.o(.text+0x144b): undefined reference to `encrypt_support'
> state.o(.text+0x1467): undefined reference to `encrypt_is'
> state.o(.text+0x1483): undefined reference to `encrypt_reply'
> state.o(.text+0x149f): undefined reference to `encrypt_start'
> state.o(.text+0x14a9): undefined reference to `encrypt_end'
> state.o(.text+0x14c3): undefined reference to `encrypt_request_start'
> state.o(.text+0x14cd): undefined reference to `encrypt_request_end'
> state.o(.text+0x14e7): undefined reference to `encrypt_enc_keyid'
> ...
> *** Error code 1
> 1 error
> *** Error code 2
> 1 error
> *** Error code 2
> 1 error
> *** Error code 2
> 1 error
> *** Error code 2
> 1 error
> *** Error code 2
> 1 error
> *** Error code 2
> Stop in /usr/src/release.
> ########
> It is because the libtelnet it is trying to link to, does not have the
> crypto stuff. It happens during the "make world" part of the release,
> because /tmp/.world_done does not exist yet. A normal "make world",
> ie. outside of the "make release" environment works fine though.

Ruslan Ermilov          Oracle Developer/DBA,
[EMAIL PROTECTED]           Sunbay Software AG,
[EMAIL PROTECTED]          FreeBSD committer,
+380.652.512.251        Simferopol, Ukraine

http://www.FreeBSD.org  The Power To Serve
http://www.oracle.com   Enabling The Information Age

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to