Re: How to fix this in 5.1-REL??
On Tue, Nov 25, 2003 at 08:57:10AM -0800 I heard the voice of Kevin Oberman, and lo! it spake thus: > > While UPDATING contain details on updating a system, the Makefile in > /usr/src (actually Makefile.inc1) contains a target of 'world' and, > through V3 of FreeBSD, this was considered the appropriate target for > re-compiling sources. > > In the days of V4, a new methodology for updating that was far less > prone to failure that would leave a system unusable was developed with > two new targets, 'buildworld' and 'installworld'. I think you're a wee bit off on dates there... src/Makefile: revision 1.109.2.9 date: 1997/08/05 03:46:23; author: asami; state: Exp; lines: +192 -91 This patch splits "world" into two parts, "buildworld" and "installworld", which can be run together or separately (or even on different machines). The "buildworld" target does not install anything outside /usr/obj; you still need to be root to run it (the default install rules want to set the ownership, etc.), but it's now possible to upgrade a bunch of -stable machines by running "make buildworld" on a 2.1.5 NFS server and then running "make installworld" on each of the clients, while not compromising the stability of the server at all. Reviewed by:too many many people to list here, special thanks to bde 1.109.2.9 was between 2.2.2 and 2.2.5. It was committed in parallel to HEAD at the same time (1.133). That's all over a year before 3 became -STABLE. -- Matthew Fuller (MF4839) | [EMAIL PROTECTED] Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ "The only reason I'm burning my candle at both ends, is because I haven't figured out how to light the middle yet" ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
On Tue, Nov 25, 2003 at 09:14:10PM -0700, M. Warner Losh wrote: > We recommend > > make buildworld > make buildkernel > make installkernel > reboot -s -> single user > make installworld "make buildkernel ; make installkernel" can be shortened to just "make kernel". ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
On Tue, Nov 25, 2003 at 06:51:15PM -0800, walt wrote: > Brooks Davis answered: > > walt asked: > >>What does 'buildworld' give us that the new kernel might need? > > >The correct toolchain including the compiler and config(8). > > Okay, thanks, that helps. > > Just thinking out loud about worst-case examples for people who > do routinely use 'make world' (like I have for several years). > > I found out first-hand why installworld quits halfway through > when the new executables won't run on the old kernel. I need no > further education on that point ;-) > > I'm thinking, though, that doing 'make kernel' first has a much > lower potential for disaster than 'make world': if I reboot after > a 'make kernel' and the new kernel won't run on the old world, then > all I need to do to recover is to boot the old kernel again and > 'make buildworld'. Seems difficult to do any real harm this way. > > Is this completely wrong-headed? Am I missing something important? If you don't build world before building a kernel you may not be able to build a kernel because you may not have toolchain features required to build it. If it builds, it's probably ok, but it may not build, so your should do a "make buildworld" first. As the statfs change demonstrates, you should install a new kernel before attempting to install a new world. These requirements lead to our recomended order. No other order will insure that you can recover at each step. It it worth noting, that neither the buildworld or buildkernel targets have any effect on the running system other then consuming resources so they are always safe. They may not work, but they won't break your install. It's the installation stage that can get you in trouble if you don't do it right. -- Brooks -- Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 pgp0.pgp Description: PGP signature
Re: How to fix this in 5.1-REL??
In message: <[EMAIL PROTECTED]> walt <[EMAIL PROTECTED]> writes: : > ...Because changes are applied that will allow smooth upgrades : > when the kernel is built after the new system is built, but before it is : > installed, "make world" is increasingly unlikely to work... : : The recent statfs changes demonstrated why the 'makeworld' > 'makekernel' : sequence sometimes fails :-( ? We recommend make buildworld make buildkernel make installkernel reboot -s -> single user make installworld In the build man page, as well as UPDATING. Warner ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
Brooks Davis answered: walt asked: What does 'buildworld' give us that the new kernel might need? The correct toolchain including the compiler and config(8). Okay, thanks, that helps. Just thinking out loud about worst-case examples for people who do routinely use 'make world' (like I have for several years). I found out first-hand why installworld quits halfway through when the new executables won't run on the old kernel. I need no further education on that point ;-) I'm thinking, though, that doing 'make kernel' first has a much lower potential for disaster than 'make world': if I reboot after a 'make kernel' and the new kernel won't run on the old world, then all I need to do to recover is to boot the old kernel again and 'make buildworld'. Seems difficult to do any real harm this way. Is this completely wrong-headed? Am I missing something important? (Yes, I know I should just do it the right way every time -- but I'm trying to reason through just why some ways are right and some are wrong.) Thanks for any insights. ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
On Tue, Nov 25, 2003 at 03:35:54PM -0800, walt wrote: > Kevin Oberman wrote: > > >...Because changes are applied that will allow smooth upgrades > >when the kernel is built after the new system is built, but before it is > >installed, "make world" is increasingly unlikely to work... > > The recent statfs changes demonstrated why the 'makeworld' > 'makekernel' > sequence sometimes fails :-( > > But I'm still very fuzzy on why the 'makekernel' > 'makeworld' sequence > is not recommended in FreeBSD the way it is, for example, in OpenBSD. > > What does 'buildworld' give us that the new kernel might need? Just a > simple example would help me more than anything. The correct toolchain including the compiler and config(8). -- Brooks -- Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 pgp0.pgp Description: PGP signature
Re: How to fix this in 5.1-REL??
Kevin Oberman wrote: ...Because changes are applied that will allow smooth upgrades when the kernel is built after the new system is built, but before it is installed, "make world" is increasingly unlikely to work... The recent statfs changes demonstrated why the 'makeworld' > 'makekernel' sequence sometimes fails :-( But I'm still very fuzzy on why the 'makekernel' > 'makeworld' sequence is not recommended in FreeBSD the way it is, for example, in OpenBSD. What does 'buildworld' give us that the new kernel might need? Just a simple example would help me more than anything. Thanks. ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
On Tue, 25 Nov 2003 08:57:10 -0800 "Kevin Oberman" <[EMAIL PROTECTED]> wrote: > Now we are moving on to V5 and 'world' is growing increasingly dangerous > to use. Because changes are applied that will allow smooth upgrades > when the kernel is built after the new system is built, but before it is > installed, "make world" is increasingly unlikely to work. > > I was suggesting that it's time to eliminate this excellent path to > foot-shooting once and for all. By disabling it temporarily until 5-current becomes 5-stable and such changes are very unlikely to get applied? Bye, Alexander. -- Reboot America. http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7 ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
> Date: Tue, 25 Nov 2003 17:47:29 +0300 > From: Odhiambo Washington <[EMAIL PROTECTED]> > > > --+g7M9IMkV8truYOl > Content-Type: text/plain; charset=us-ascii > Content-Disposition: inline > Content-Transfer-Encoding: quoted-printable > > * Kevin Oberman <[EMAIL PROTECTED]> [20031125 02:39]: wrote: > > > Date: Sat, 22 Nov 2003 06:07:03 -0800 > > > From: Kris Kennaway <[EMAIL PROTECTED]> > > > Sender: [EMAIL PROTECTED] > > >=20 > > >=20 > > > --nVMJ2NtxeReIH9PS > > > Content-Type: text/plain; charset=3Dus-ascii > > > Content-Disposition: inline > > >=20 > > > On Sat, Nov 22, 2003 at 03:16:06PM +0300, Odhiambo Washington wrote: > > > > I end up with the following when I run `make world` on 5.1-RELEASE-= > p10. > > >=20 > > > Did you read UPDATING? > >=20 > > I fear a bikeshed, but I really think it may be past time to remove > > the 'world' target from /usr/src/Makefile.inc1. It is rarely useful > > and only should be used by those who understand the process and know > > that it is safe. Removing it would remove a clear way to shoot one's > > foot and would really have trivial impact on those who use it > > properly. > > > Hmm, > > This was meant to help me but instead I was left speechless, not knowing > how to say that I did not understand the context of this ;) > How am I supposed to go over the initial problem? > When Kris Kennaway asked me that question, I emphatically told him, YES, > I did. Then what he thought I should do was to rm /usr/include/g++/* > I did exactly that, but it did not help solve the problem and even so, > I wasn't quite sure why I was to do this, after re-reading from UPDATING. > So my problem is very much alive and kicking ;) This was not addressed so much to you as to the list. The following is a history lesson. Sorry to waste the time of those who have been with FreeBSD for a long time and know all about it. While UPDATING contain details on updating a system, the Makefile in /usr/src (actually Makefile.inc1) contains a target of 'world' and, through V3 of FreeBSD, this was considered the appropriate target for re-compiling sources. In the days of V4, a new methodology for updating that was far less prone to failure that would leave a system unusable was developed with two new targets, 'buildworld' and 'installworld'. The old 'world' target was left in the file as it could still be used and people were used to using it (POLA). But, as V4 developed, UPDATING specified only the "new" method of updating and the developers could integrate changes in ways that would not work with the 'world' target. Now we are moving on to V5 and 'world' is growing increasingly dangerous to use. Because changes are applied that will allow smooth upgrades when the kernel is built after the new system is built, but before it is installed, "make world" is increasingly unlikely to work. I was suggesting that it's time to eliminate this excellent path to foot-shooting once and for all. In addition, people often do miss the section of UPDATING on the V4 to V5 upgrade and end up with the wrong version of loader (which is pretty sure to get fixed promptly) and with the /usr/include/g++ headers intact. This can produce all kinds of build problems down the road. I have no idea how to get the message about this across any better, but I know that when V5 is declared "stable", we are going to see a flood of failed builds as a result of this oversight. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: [EMAIL PROTECTED] Phone: +1 510 486-8634 ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
* Kevin Oberman <[EMAIL PROTECTED]> [20031125 02:39]: wrote: > > Date: Sat, 22 Nov 2003 06:07:03 -0800 > > From: Kris Kennaway <[EMAIL PROTECTED]> > > Sender: [EMAIL PROTECTED] > > > > > > --nVMJ2NtxeReIH9PS > > Content-Type: text/plain; charset=us-ascii > > Content-Disposition: inline > > > > On Sat, Nov 22, 2003 at 03:16:06PM +0300, Odhiambo Washington wrote: > > > I end up with the following when I run `make world` on 5.1-RELEASE-p10. > > > > Did you read UPDATING? > > I fear a bikeshed, but I really think it may be past time to remove > the 'world' target from /usr/src/Makefile.inc1. It is rarely useful > and only should be used by those who understand the process and know > that it is safe. Removing it would remove a clear way to shoot one's > foot and would really have trivial impact on those who use it > properly. Hmm, This was meant to help me but instead I was left speechless, not knowing how to say that I did not understand the context of this ;) How am I supposed to go over the initial problem? When Kris Kennaway asked me that question, I emphatically told him, YES, I did. Then what he thought I should do was to rm /usr/include/g++/* I did exactly that, but it did not help solve the problem and even so, I wasn't quite sure why I was to do this, after re-reading from UPDATING. So my problem is very much alive and kicking ;) -Wash -- +==+ |\ _,,,---,,_ | Odhiambo Washington<[EMAIL PROTECTED]> Zzz /,`.-'`'-. ;-;;,_ | Wananchi Online Ltd. www.wananchi.com |,4- ) )-,_. ,\ ( `'-'| Tel: +254 20 313985-9 +254 20 313922 '---''(_/--' `-'\_) | GSM: +254 722 743223 +254 733 744121 +==+ Every improvement in communication makes the bore more terrible. -- Frank Moore Colby smime.p7s Description: S/MIME cryptographic signature
Re: How to fix this in 5.1-REL??
On (2003/11/24 15:39), Kevin Oberman wrote: > > > I end up with the following when I run `make world` on 5.1-RELEASE-p10. > > > > Did you read UPDATING? > > I fear a bikeshed, but I really think it may be past time to remove > the 'world' target from /usr/src/Makefile.inc1. It is rarely useful > and only should be used by those who understand the process and know > that it is safe. Removing it would remove a clear way to shoot one's > foot and would really have trivial impact on those who use it > properly. I agree. The job requires quite a lot of documentation work, though. If you can get buy-in from the doc project folks, I doubt you'd meet with serious objections from src people. Ciao, Sheldon. ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
> Date: Sat, 22 Nov 2003 06:07:03 -0800 > From: Kris Kennaway <[EMAIL PROTECTED]> > Sender: [EMAIL PROTECTED] > > > --nVMJ2NtxeReIH9PS > Content-Type: text/plain; charset=us-ascii > Content-Disposition: inline > > On Sat, Nov 22, 2003 at 03:16:06PM +0300, Odhiambo Washington wrote: > > I end up with the following when I run `make world` on 5.1-RELEASE-p10. > > Did you read UPDATING? I fear a bikeshed, but I really think it may be past time to remove the 'world' target from /usr/src/Makefile.inc1. It is rarely useful and only should be used by those who understand the process and know that it is safe. Removing it would remove a clear way to shoot one's foot and would really have trivial impact on those who use it properly. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: [EMAIL PROTECTED] Phone: +1 510 486-8634 ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
> /usr/src/contrib/libstdc++/libsupc++/unwind-cxx.h:41:20: unwind.h: No such= > file or directory > mkdep: compile failed > *** Error code 1 > =20 > Stop in /usr/src/gnu/lib/libstdc++. > *** Error code 1 I'm running 5.1-CURRENT now, but I was able to build 5.1-RELEASE-p10. I suspect you need to re-cvsup your sources, which I've had to do several times. Mike Squires ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"
Re: How to fix this in 5.1-REL??
On Sat, Nov 22, 2003 at 03:16:06PM +0300, Odhiambo Washington wrote: > I end up with the following when I run `make world` on 5.1-RELEASE-p10. Did you read UPDATING? Kris pgp0.pgp Description: PGP signature
Re: How to fix this in 5.1-REL??
On Sat, Nov 22, 2003 at 03:16:06PM +0300, Odhiambo Washington wrote: > I end up with the following when I run `make world` on 5.1-RELEASE-p10. Did you read UPDATING? Kris pgp0.pgp Description: PGP signature
How to fix this in 5.1-REL??
I end up with the following when I run `make world` on 5.1-RELEASE-p10. /usr/src/contrib/libstdc++/libsupc++/unwind-cxx.h:41:20: unwind.h: No such file or directory In file included from /usr/src/contrib/libstdc++/libsupc++/eh_globals.cc:33: /usr/src/contrib/libstdc++/libsupc++/unwind-cxx.h:41:20: unwind.h: No such file or directory In file included from /usr/src/contrib/libstdc++/libsupc++/eh_personality.cc:34: /usr/src/contrib/libstdc++/libsupc++/unwind-cxx.h:41:20: unwind.h: No such file or directory /usr/src/contrib/libstdc++/libsupc++/eh_personality.cc:38:23: unwind-pe.h: No such file or directory In file included from /usr/src/contrib/libstdc++/libsupc++/eh_terminate.cc:34: /usr/src/contrib/libstdc++/libsupc++/unwind-cxx.h:41:20: unwind.h: No such file or directory In file included from /usr/src/contrib/libstdc++/libsupc++/eh_throw.cc:32: /usr/src/contrib/libstdc++/libsupc++/unwind-cxx.h:41:20: unwind.h: No such file or directory In file included from /usr/src/contrib/libstdc++/libsupc++/eh_type.cc:32: /usr/src/contrib/libstdc++/libsupc++/unwind-cxx.h:41:20: unwind.h: No such file or directory In file included from /usr/src/contrib/libstdc++/libsupc++/pure.cc:31: /usr/src/contrib/libstdc++/libsupc++/unwind-cxx.h:41:20: unwind.h: No such file or directory In file included from /usr/src/contrib/libstdc++/libsupc++/vec.cc:37: /usr/src/contrib/libstdc++/libsupc++/unwind-cxx.h:41:20: unwind.h: No such file or directory mkdep: compile failed *** Error code 1 Stop in /usr/src/gnu/lib/libstdc++. *** Error code 1 Stop in /usr/src/gnu/lib. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. Best regards, Odhiambo Washington Wananchi Online Ltd. --+- Odhiambo W. wash(at)wananchi(dot)com . WANANCHI ONLINE LTD (Nairobi, KE) http://www.wananchi.com/email/ . 1ere Etage, Loita Hse, Loita St., Mobile: (+254) 722 743 223 . # 10286, 00100 NAIROBI --+- What the hell, go ahead and put all your eggs in one basket. It takes a lot of hard work to made something easy. Then when you're done, people look at it and ask, "Oh, it's so simple; what was the big deal?" --Ralph Johnson smime.p7s Description: S/MIME cryptographic signature