From owner-freebsd-current Wed Mar 28 2: 2:13 2001 Delivered-To: freebsd-current@freebsd.org Received: from whale.sunbay.crimea.ua (whale.sunbay.crimea.ua [212.110.138.65]) by hub.freebsd.org (Postfix) with ESMTP id 30EC837B719 for ; Wed, 28 Mar 2001 02:02:01 -0800 (PST) (envelope-from ru@whale.sunbay.crimea.ua) Received: (from ru@localhost) by whale.sunbay.crimea.ua (8.11.2/8.11.2) id f2SA0xw91459; Wed, 28 Mar 2001 13:00:59 +0300 (EEST) (envelope-from ru) Date: Wed, 28 Mar 2001 13:00:59 +0300 From: Ruslan Ermilov To: John Hay Cc: current@FreeBSD.ORG Subject: Re: make release broken in telnetd Message-ID: <20010328130059.D79203@sunbay.com> Mail-Followup-To: John Hay , current@FreeBSD.ORG References: <200103280842.f2S8gA897329@zibbi.icomtek.csir.co.za> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200103280842.f2S8gA897329@zibbi.icomtek.csir.co.za>; from jhay@icomtek.csir.co.za on Wed, Mar 28, 2001 at 10:42:10AM +0200 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi! 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 ${WORLDTMP}/usr/lib. 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: > > ########### > cc -O -pipe -DLINEMODE -DUSE_TERMIO -DDIAGNOSTICS -DOLD_ENVIRON -DENV_HACK -DA > 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 > cc -O -pipe -DLINEMODE -DUSE_TERMIO -DDIAGNOSTICS -DOLD_ENVIRON -DENV_HACK -DA > 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 > cc -O -pipe -DLINEMODE -DUSE_TERMIO -DDIAGNOSTICS -DOLD_ENVIRON -DENV_HACK -DA > 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. Cheers, -- Ruslan Ermilov Oracle Developer/DBA, ru@sunbay.com Sunbay Software AG, ru@FreeBSD.org 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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message