From owner-freebsd-current@freebsd.org Sat Feb 18 13:35:29 2017 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 91743CE3B1F for ; Sat, 18 Feb 2017 13:35:29 +0000 (UTC) (envelope-from lists@olivarim.com) Received: from smtp-sh2.infomaniak.ch (smtp-sh2.infomaniak.ch [128.65.195.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.infomaniak.ch", Issuer "StartCom Class 3 OV Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 26177103A for ; Sat, 18 Feb 2017 13:35:28 +0000 (UTC) (envelope-from lists@olivarim.com) Received: from smtp5.infomaniak.ch (smtp5.infomaniak.ch [83.166.132.18]) by smtp-sh.infomaniak.ch (8.14.5/8.14.5) with ESMTP id v1IDURMo011425 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Sat, 18 Feb 2017 14:30:27 +0100 Received: from webmail.infomaniak.ch (dmu115.infomaniak.ch [93.88.241.245]) (authenticated bits=0) by smtp5.infomaniak.ch (8.14.5/8.14.5) with ESMTP id v1IDURsQ033358 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sat, 18 Feb 2017 14:30:27 +0100 Content-Transfer-Encoding: quoted-printable Date: Sat, 18 Feb 2017 14:30:06 +0100 From: "Marin Bernard" To: freebsd-current@freebsd.org X-Webmail2-User: Mjk1NDgx Reply-To: lists@olivarim.com Subject: `make buildworld` does not build base llvm on amd64 Message-ID: <1487424607-f76018bce4dae5ad698063232671f85c@olivarim.com> X-Mailer: Infomaniak Webmail X-Origin: dueO+H/nvvZzi4GW6cSLfh6dUTU+sealQc5EiErErB8 MIME-Version: 1.0 X-Priority: 3 (Normal) Content-Type: text/plain; charset="iso-8859-1" X-Antivirus: Dr.Web (R) for Unix mail servers drweb plugin ver.6.0.2.8 X-Antivirus-Code: 0x100000 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.23 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: Sat, 18 Feb 2017 13:35:29 -0000 Hi, I'm in the process of testing the drm-next-4.7 branch from the FreeBSDDesktop= github repository on several computers. As I want to avoid building world on= every machine, I decided to set up a dedicated build machine running FreeBSD= 11.0-STABLE. The plan was to build world, kernel and some parts of the ports= tree with poudriere, and then generate FreeBSD release images and a pkgng re= pository for binary packages. I was able to build both the world and the kernel successfully. I was also ab= le to generate working install images with the make release command. However= , it seems that the whole build process skips building the base versions of l= lvm39 and clang: as a consequence, all systems installed from the release ima= ges lack a compiler. Installing the new world and kernel on the build machine= does not install llvm39: instead, llvm38 is left untouched, until flagged ob= solete by the make remove-old-libs command, and deleted. Does anybody know why make avoids building base llvm39 as a bootstrap compil= er even while the current base version is llvm38 ? Is there a way to force th= e build of base llvm and clang ? I do not use any src.conf or make.conf file. I read the src.conf(5) man page= =20and tried to pass custom flags to make (like WITH_CLANG, WITH_CLANG_BOO= TSTRAP, WITH_CLANG_FULL), without any success. Here is how to reproduce: 1. Install FreeBSD 11.0-RELEASE or a snapshot of 12.0-CURRENT with default op= tions. I tried the following with both versions and base llvm was not built i= n both case. 2. Install the devel/git package with pkg. 3. Clone the github repository to /usr/src. 4. Try to build everything: # cd /usr/src/ # make buildworld buildkernel 5. The build stops immediately because make cannot find llvm39. Here is the= =20error message: "You need to install devel/llvm39 to build or set XCC" That error is new to me: I never saw it when I ran make buildworld in previo= us releases. As a workaround, install devel/llvm39, or run make with explici= t environment variables: # make XCC=3Dclang XCXX=3Dclang++ XCPP=3Dclang-cpp buildworld buildkernel llvm39 will not be built whatever workaround you chose. 5. After the build finishes, make a release: # cd /usr/src/release # make XCC=3Dclang XCXX=3Dclang++ XCPP=3Dclang-cpp release WITH_DVD=3D1 6. Install the release to another computer, or install the new world and kern= el on the current machine as you would normally do, with mergemaster and ma= ke remove-old / make remove-old-libs. 7. Boot the new install or the new kernel, then run: # cc -v No compiler found. Thanks a lot for your help! Marin