From owner-freebsd-hackers Mon Aug 6 6:17: 5 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from ringworld.nanolink.com (unknown [217.75.135.248]) by hub.freebsd.org (Postfix) with SMTP id 0A8C537B403 for ; Mon, 6 Aug 2001 06:16:52 -0700 (PDT) (envelope-from roam@ringworld.nanolink.com) Received: (qmail 2922 invoked by uid 1000); 6 Aug 2001 13:15:40 -0000 Date: Mon, 6 Aug 2001 16:15:40 +0300 From: Peter Pentchev To: "Eugene L. Vorokov" Cc: freebsd-hackers@freebsd.org Subject: Re: libmp Message-ID: <20010806161540.G2110@ringworld.oblivion.bg> Mail-Followup-To: "Eugene L. Vorokov" , freebsd-hackers@freebsd.org References: <20010806153705.B2110@ringworld.oblivion.bg> <200108061718.f76HIoT59752@bugz.infotecs.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200108061718.f76HIoT59752@bugz.infotecs.ru>; from vel@bugz.infotecs.ru on Mon, Aug 06, 2001 at 05:18:49PM +0000 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, Aug 06, 2001 at 05:18:49PM +0000, Eugene L. Vorokov wrote: > > > Hmm yes, it's there. But the snapshot I installed first doesn't > > > have it (why ?). When I installed it manually prior to compiling libs, > > > libmp compiles fine ... Btw, is there any guide of what is the proper > > > order of compiling things after cvsup ? > > > > Yep, the src/UPDATING file. > > > > What do you mean, the snapshot did not have it? Did you really > > CVSup 5.0-current on a machine running an earlier version, or did > > you install from a pre-built 5.0-current snapshot? Or are you referring > > to the CVSup snapshot - in what sense did it "not have it" - > > there was no src/crypto/openssl/ directory, or there was no > > src/secure/lib/libcrypto/ directory, or the libcrypto Makefile did > > not install the OpenSSL header files files under > > /usr/obj/.../src/i386/usr/include/openssl? > > > > How exactly are you trying to compile things? What did you do > > after the CVSup run? And.. what version are you updating from? > > I first installed the snapshot 5.0-20010618-CURRENT. Then I installed > cvsup and cvsup'ed src-all collection. When it was completed, I > tried to recompile the kernel, Strike one - the kernel needs *at least* config(8) (as you already know), and it might need updated parts of the build toolchain. This would certainly fail. Read src/UPDATING for the proper procedure. > but config was complaining that it's > version doesn't match the kernel version, so I compiled and installed > src/usr.sbin/config, then I configured and compiled kernel, it > compiled fine. Strike two - config(8) and the kernel still might need updated parts of the toolchain (e.g. new assembly syntax). You are lucky it worked. Read src/UPDATING. > Then I rebooted and tried to compile the userland things. > I was thinking that I must first install new include files, then > compile and install libs and then executables. Strike three - you are *almost* correct, but you ought to have first built the bootstrap tools, then used them to build a couple of other things, and only then move on to the include files. The 'buildworld' target takes care of all that in a very nice way. Read src/UPDATING :) > So I did make > and make install in the src/include directory and tried to do the > same in the src/lib, but it stopped on libmp. The src/include directory does not hold all include files at all. Some of them are spread out in library directories, some of them are even spread out in program directories. The 'buildworld' target takes care of all that in a very nice way. Read src/UPDATING :) > At that point I had > no /usr/include/openssl directory at all, and no libs either. Right. The src/include Makefile does not handle src/secure/libcrypto. The 'buildworld'... oh well ;) > Then > I tried to compile src/secure/lib, but make there couldn't be completed > too, because libcypher, which is compiled first, also was complaining > about openssl library. I tried to compile src/secure/lib/libssl, > it compiled successfully, but still it did not properly install all > nesessary include files to /usr/include/openssl (only a few were > installed), so I had to manually copy src/secure/lib/libssl/openssl/* > to /usr/include/openssl/, after which I was able to compile the rest > in src/secure/lib, the rest in src/secure and then, finally, src/lib. This sounds like you went to a *lot* of trouble just because you did not read the src/UPDATING file :) It is great that it finally worked, but.. it might have been easier :) > I think the reason that my initial installation didn't have openssl > could be that I just forgot to toggle the appropriate flag in the > sysinstall, but still, IMHO this shouldn't make update process that > tricky. Generally, I think Makefiles could be constructed to reflect > those dependencies, no ? They are; just not the Makefiles in the directories you looked at, and not in the way you tried to do it. The 'buildworld' and 'buildkernel' targets were specifically made to handle this kind of dependencies when updating from a much earlier version of FreeBSD. > And, why make install in the src/secure/lib/openssl only does this > (first line wrapped so that mailer won't be confused with too long > line): [snip make install output] > > There a lot of other include files it should copy ... As I mentioned in another email, src/secure/lib/openssl is not really relevant. src/secure/lib/libcrypto is much more important. > Or must I > compile something else too before I can simply type "make" in > the src/secure/lib which will work ? And if so, then again, why > isn't Makefile there written to compile things in a proper order ? The Makefile in that particular directory is written so as to be invoked by a higher-order Makefile that knows what dependencies ought to be satisfied, and what dependencies *have* already been satisfied. The Makefile in that particular directory is written so as to be able to be used when the rest of the tree is not really present, but only in a limited way. G'luck, Peter -- Nostalgia ain't what it used to be. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message