From owner-freebsd-current@FreeBSD.ORG Wed Oct 20 08:06:19 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 04CA016A4CE for ; Wed, 20 Oct 2004 08:06:19 +0000 (GMT) Received: from tigra.ip.net.ua (tigra.ip.net.ua [82.193.96.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3143943D45 for ; Wed, 20 Oct 2004 08:06:18 +0000 (GMT) (envelope-from ru@ip.net.ua) Received: from localhost (rocky.ip.net.ua [82.193.96.2]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id i9K86HuQ002548; Wed, 20 Oct 2004 11:06:17 +0300 (EEST) (envelope-from ru@ip.net.ua) Received: from tigra.ip.net.ua ([82.193.96.10]) by localhost (rocky.ipnet [82.193.96.2]) (amavisd-new, port 10024) with LMTP id 06390-15; Wed, 20 Oct 2004 11:06:15 +0300 (EEST) Received: from heffalump.ip.net.ua (heffalump.ip.net.ua [82.193.96.213]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id i9K86AFp002545; Wed, 20 Oct 2004 11:06:13 +0300 (EEST) (envelope-from ru@ip.net.ua) Received: (from ru@localhost) by heffalump.ip.net.ua (8.13.1/8.13.1) id i9K863OT084969; Wed, 20 Oct 2004 11:06:03 +0300 (EEST) (envelope-from ru) Date: Wed, 20 Oct 2004 11:06:03 +0300 From: Ruslan Ermilov To: "Gustavo A. Baratto" Message-ID: <20041020080603.GF56694@ip.net.ua> References: <037d01c4b62e$46288cf0$6500a8c0@chivas> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="5Mfx4RzfBqgnTE/w" Content-Disposition: inline In-Reply-To: <037d01c4b62e$46288cf0$6500a8c0@chivas> User-Agent: Mutt/1.5.6i X-Virus-Scanned: by amavisd-new at ip.net.ua cc: freebsd-current@FreeBSD.org Subject: Re: make installkernel breaks X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2004 08:06:19 -0000 --5Mfx4RzfBqgnTE/w Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Oct 19, 2004 at 03:52:13PM -0700, Gustavo A. Baratto wrote: > Greetings... > this is the deal: > I have 1 build server + dozens of servers to be upgrade to 5.3b7 >=20 > all servers including the build server was 5.1. > I upgraded the build server to 5.3 beta 6... everything was fine. Then=20 > upgraded it to 5.3 beta 7. All smooth again. >=20 > Now, I rsync'ed the /usr/obj and /usr/src from the build server to the=20 > other servers (which are still 5.1), and when I run make installkernel I= =20 > get the error below: >=20 > ------- > # make installkernel KERNCONF=3DCUSTOM-DUAL-FW > "/usr/src/Makefile.inc1", line 830: warning: String comparison operator= =20 > should be either =3D=3D or !=3D > "/usr/src/Makefile.inc1", line 830: Malformed conditional=20 > ((!defined(NO_RESCUE) || defined(RELEASEDIR)) && (${TARGET_ARCH} !=3D= =20 > ${MACHINE_ARCH} || ${BOOTSTRAPPING} < 501101)) > "/usr/src/Makefile.inc1", line 830: Missing dependency operator > "/usr/src/Makefile.inc1", line 832: if-less endif > "/usr/src/Makefile.inc1", line 832: Need an operator > make: fatal errors encountered -- cannot continue > *** Error code 1 >=20 > Stop in /usr/src. > ------- >=20 > Any ideas? I don't want to downgrade the build server to 5.1, then upgrad= e=20 > it to beta 7, so I can upgrade the other servers... there has to be a=20 > better solution. >=20 We don't strictly speaking the scenario when "build host" !=3D "install hos= t", for a lot of reasons that were provided here a lot of times, so I won't repeat them. What we *do* support is building on one host, then mounting the target's host file systems (by NFS), and installing world to DESTDIR pointing to these file systems. We only support NFS mounting /usr/src and /usr/obj (or otherwise transferring them) and using them on another host, if: 1. Both build and install host run the same FreeBSD version. 2. Build host's CPU is backward compatible with the install host's CPU, or, if build's CPU is more modern than install's CPU, the world on build's world was *not* compiled with CFLAGS optimized for this more modern CPU. Note that the last restriction applies to the world that the build host is running, as well as the world that was built for install host. The particular breakage you're seeing is due to 1. More specifically, on the build host the make(1) binary is quite fresh, and so buildworld doesn't see a need to upgrade it to a newver version. The install host is running an older FreeBSD version, so its make(1) binary is not adequate for modern makefiles. You can *try* to overcome this by using the following command: make installworld -DALWAYS_CHECK_MAKE This will check and update if necessary the make(1) binary to a new version for installworld. But no guarantee that it will not break later. For example, running installworld can fail in the middle when executing the install(1) binary that was built on build host with CPUTYPE=3Dp6 if your install host is plain Pentium. Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --5Mfx4RzfBqgnTE/w Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQFBdhxrqRfpzJluFF4RAsCpAJ0UWyfJc+LscgoQ8fCxNxLYwyUoEwCeKunu j9wVaSGrI3kNW0cnXlHDka0= =eiRJ -----END PGP SIGNATURE----- --5Mfx4RzfBqgnTE/w--