From owner-freebsd-ports@freebsd.org Thu Nov 3 12:50:15 2016 Return-Path: Delivered-To: freebsd-ports@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 EC6A5C2D09E for ; Thu, 3 Nov 2016 12:50:15 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from albert.catwhisker.org (mx.catwhisker.org [198.144.209.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2A8B8102D for ; Thu, 3 Nov 2016 12:50:13 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from albert.catwhisker.org (localhost [127.0.0.1]) by albert.catwhisker.org (8.15.2/8.15.2) with ESMTP id uA3Co7mr057013 for ; Thu, 3 Nov 2016 12:50:07 GMT (envelope-from david@albert.catwhisker.org) Received: (from david@localhost) by albert.catwhisker.org (8.15.2/8.15.2/Submit) id uA3Co7Mc057012 for freebsd-ports@freebsd.org; Thu, 3 Nov 2016 05:50:07 -0700 (PDT) (envelope-from david) Date: Thu, 3 Nov 2016 05:50:07 -0700 From: David Wolfskill To: freebsd-ports@freebsd.org Subject: devel/llvm38 install seems to be missing files (e.g., FileCheck) Message-ID: <20161103125007.GP1203@albert.catwhisker.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="D9qdZDjLhFh4Fk+E" Content-Disposition: inline User-Agent: Mutt/1.7.1 (2016-10-04) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Nov 2016 12:50:16 -0000 --D9qdZDjLhFh4Fk+E Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable After seeing that lang/rust failed to build again today (it had also failed yesterday), I decided to actually check the typescript file (from the portmaster run) to see if I could figure out what was wrong. Here's a salient excerpt: | ... | =3D=3D=3D> Cleaning for rust-1.12.1 | =3D=3D=3D> License APACHE20 MIT accepted by the user | =3D=3D=3D> Found saved configuration for rust-1.9.0_1 | =3D=3D=3D> rust-1.12.1 depends on file: /usr/local/sbin/pkg - found | =3D=3D=3D> Fetching all distfiles required by rust-1.12.1 for building | =3D=3D=3D> Extracting for rust-1.12.1 | =3D> SHA256 Checksum OK for rustc-1.12.1-src.tar.gz. | =3D> SHA256 Checksum OK for rustc-1.11.0-x86_64-unknown-freebsd.tar.gz. | /bin/ln -sf /common/ports/distfiles//rustc-1.11.0-x86_64-unknown-freebsd.= tar.gz=20 | /common/ports/lang/rust/work/rustc-1.12.1/dl | =3D=3D=3D> Patching for rust-1.12.1 | =3D=3D=3D> Applying FreeBSD patches for rust-1.12.1 | =3D=3D=3D> rust-1.12.1 depends on executable: cmake - found | =3D=3D=3D> rust-1.12.1 depends on file: /usr/local/llvm38/bin/FileCheck= - not found | =3D=3D=3D> Installing for llvm38-3.8.1_5 | =3D=3D=3D> llvm38-3.8.1_5 depends on file: /usr/local/bin/python2.7 - f= ound | =3D=3D=3D> llvm38-3.8.1_5 depends on package: perl5>=3D5.24<5.25 - found | =3D=3D=3D> llvm38-3.8.1_5 depends on shared library: libedit.so.0 - fou= nd (/usr/local/lib/libedit.so.0) | =3D=3D=3D> Checking if llvm38 already installed | =3D=3D=3D> llvm38-3.8.1_5 is already installed | You may wish to ``make deinstall'' and install this port again | by ``make reinstall'' to upgrade it properly. | If you really wish to overwrite the old port of llvm38 | without deleting it first, set the variable "FORCE_PKG_REGISTER" | in your environment or the "make install" command line. | *** Error code 1 | .... Oh. Well... So I checked, and... yes, devel/llvm38 is installed. And while /usr/local/llvm38/bin exists and has several entries, none of them is named "FileCheck": g1-252(11.0-S)[4] ls -lTa /usr/local/llvm38/bin/ total 547144 drwxr-xr-x 2 root wheel 1536 Oct 23 04:51:57 2016 . drwxr-xr-x 7 root wheel 512 Oct 23 04:52:04 2016 .. -rwxr-xr-x 1 root wheel 13138520 Oct 23 04:51:36 2016 bugpoint -rwxr-xr-x 1 root wheel 100664 Oct 23 04:51:26 2016 c-index-test lrwxr-xr-x 1 root wheel 9 Oct 23 04:51:25 2016 clang -> clang-3.8 -rwxr-xr-x 1 root wheel 59401712 Oct 23 04:51:26 2016 clang-3.8 -rwxr-xr-x 1 root wheel 1585752 Oct 23 04:51:29 2016 clang-apply-replac= ements -rwxr-xr-x 1 root wheel 45048296 Oct 23 04:51:28 2016 clang-check lrwxr-xr-x 1 root wheel 5 Oct 23 04:51:26 2016 clang-cl -> clang -rwxr-xr-x 1 root wheel 1601648 Oct 23 04:51:26 2016 clang-format -rwxr-xr-x 1 root wheel 16670808 Oct 23 04:51:30 2016 clang-query -rwxr-xr-x 1 root wheel 15070640 Oct 23 04:51:29 2016 clang-rename -r-xr-xr-x 1 root wheel 894224 Oct 23 04:51:45 2016 clang-tblgen -rwxr-xr-x 1 root wheel 19523696 Oct 23 04:51:30 2016 clang-tidy lrwxr-xr-x 1 root wheel 5 Oct 23 04:51:26 2016 clang++ -> clang -rwxr-xr-x 1 root wheel 18099 Jun 19 01:23:10 2015 git-clang-format lrwxr-xr-x 1 root wheel 3 Oct 23 04:51:32 2016 ld.lld -> lld -rwxr-xr-x 1 root wheel 32942112 Oct 23 04:51:38 2016 llc -rwxr-xr-x 1 root wheel 37288720 Oct 23 04:51:32 2016 lld lrwxr-xr-x 1 root wheel 3 Oct 23 04:51:32 2016 lld-link -> lld lrwxr-xr-x 1 root wheel 10 Oct 23 04:51:35 2016 lldb -> lldb-3.8.1 -rwxr-xr-x 1 root wheel 46168 Oct 23 04:51:35 2016 lldb-3.8.1 -rwxr-xr-x 1 root wheel 122752 Oct 23 04:51:35 2016 lldb-argdumper lrwxr-xr-x 1 root wheel 13 Oct 23 04:51:35 2016 lldb-mi -> lldb-mi= -3.8.1 -rwxr-xr-x 1 root wheel 611480 Oct 23 04:51:35 2016 lldb-mi-3.8.1 lrwxr-xr-x 1 root wheel 17 Oct 23 04:51:35 2016 lldb-server -> lld= b-server-3.8.1 -rwxr-xr-x 1 root wheel 23847256 Oct 23 04:51:35 2016 lldb-server-3.8.1 -rwxr-xr-x 1 root wheel 16361392 Oct 23 04:51:39 2016 lli -rwxr-xr-x 1 root wheel 12055496 Oct 23 04:51:22 2016 llvm-ar -rwxr-xr-x 1 root wheel 2447984 Oct 23 04:51:39 2016 llvm-as -rwxr-xr-x 1 root wheel 190760 Oct 23 04:51:39 2016 llvm-bcanalyzer -rwxr-xr-x 1 root wheel 27517160 Oct 23 04:51:40 2016 llvm-c-test -rwxr-xr-x 1 root wheel 180752 Oct 23 04:51:22 2016 llvm-config -rwxr-xr-x 1 root wheel 2551408 Oct 23 04:51:40 2016 llvm-cov -rwxr-xr-x 1 root wheel 2371088 Oct 23 04:51:40 2016 llvm-cxxdump -rwxr-xr-x 1 root wheel 2285968 Oct 23 04:51:40 2016 llvm-diff -rwxr-xr-x 1 root wheel 1839320 Oct 23 04:51:40 2016 llvm-dis -rwxr-xr-x 1 root wheel 26568032 Oct 23 04:51:37 2016 llvm-dsymutil -rwxr-xr-x 1 root wheel 2512784 Oct 23 04:51:40 2016 llvm-dwarfdump -rwxr-xr-x 1 root wheel 26197712 Oct 23 04:51:41 2016 llvm-dwp -rwxr-xr-x 1 root wheel 2592368 Oct 23 04:51:41 2016 llvm-extract lrwxr-xr-x 1 root wheel 7 Oct 23 04:51:22 2016 llvm-lib -> llvm-ar -rwxr-xr-x 1 root wheel 2951672 Oct 23 04:51:41 2016 llvm-link -rwxr-xr-x 1 root wheel 32045168 Oct 23 04:51:41 2016 llvm-lto -rwxr-xr-x 1 root wheel 12662536 Oct 23 04:51:42 2016 llvm-mc -rwxr-xr-x 1 root wheel 177176 Oct 23 04:51:42 2016 llvm-mcmarkup -rwxr-xr-x 1 root wheel 12039160 Oct 23 04:51:42 2016 llvm-nm -rwxr-xr-x 1 root wheel 12279448 Oct 23 04:51:42 2016 llvm-objdump -rwxr-xr-x 1 root wheel 297040 Oct 23 04:51:43 2016 llvm-pdbdump -rwxr-xr-x 1 root wheel 621056 Oct 23 04:51:22 2016 llvm-profdata lrwxr-xr-x 1 root wheel 7 Oct 23 04:51:22 2016 llvm-ranlib -> llv= m-ar -rwxr-xr-x 1 root wheel 2729304 Oct 23 04:51:43 2016 llvm-readobj -rwxr-xr-x 1 root wheel 10234248 Oct 23 04:51:43 2016 llvm-rtdyld -rwxr-xr-x 1 root wheel 2379832 Oct 23 04:51:43 2016 llvm-size -rwxr-xr-x 1 root wheel 2544248 Oct 23 04:51:43 2016 llvm-split -rwxr-xr-x 1 root wheel 2125024 Oct 23 04:51:43 2016 llvm-stress -rwxr-xr-x 1 root wheel 2558336 Oct 23 04:51:43 2016 llvm-symbolizer -rwxr-xr-x 1 root wheel 1959248 Oct 23 04:51:19 2016 llvm-tblgen -rwxr-xr-x 1 root wheel 15014488 Oct 23 04:51:29 2016 modularize -rwxr-xr-x 1 root wheel 2492504 Oct 23 04:51:43 2016 obj2yaml -rwxr-xr-x 1 root wheel 34292472 Oct 23 04:51:44 2016 opt -rwxr-xr-x 1 root wheel 11953032 Oct 23 04:51:44 2016 sancov -rwxr-xr-x 1 root wheel 52445 Nov 13 12:34:15 2015 scan-build -rwxr-xr-x 1 root wheel 4504 Dec 21 04:19:13 2015 scan-view -rwxr-xr-x 1 root wheel 2729176 Oct 23 04:51:44 2016 verify-uselistorder -rwxr-xr-x 1 root wheel 472184 Oct 23 04:51:44 2016 yaml2obj g1-252(11.0-S)[5]=20 So I checked the configure options: g1-252(11.0-S)[1] make -C /usr/ports/devel/llvm38 showconfig =3D=3D=3D> The following configuration options are available for llvm38-3.8= =2E1_5: CLANG=3Don: Build clang COMPILER_RT=3Don: Sanitizer libraries DOCS=3Don: Build and/or install documentation EXTRAS=3Don: Extra clang tools GOLD=3Don: Build the LLVM Gold plugin for LTO LIT=3Don: Install lit and FileCheck test tools LLD=3Don: Install lld, the LLVM linker LLDB=3Don: Install lldb, the LLVM debugger (ignored on 9.x) OPENMP=3Don: Install libomp, the LLVM OpenMP runtime library =3D=3D=3D> Use 'make config' to modify these settings g1-252(11.0-S)[2]=20 Looks to me as if "everything is on." I then ran "portmaster devel/llvm38" to re-build and -install it fresh; that succeeded, but there's still nothing named "FileCheck" in /usr/local/llvm38/bin. This was done running: FreeBSD g1-252.catwhisker.org 11.0-STABLE FreeBSD 11.0-STABLE #150 r308245= M/308250:1100506: Thu Nov 3 04:08:09 PDT 2016 root@g1-252.catwhisker.o= rg:/common/S1/obj/usr/src/sys/CANARY amd64 with a /usr/ports that is an SVN working copy: g1-252(11.0-S)[3] svn info /usr/ports/ Path: /usr/ports Working Copy Root Path: /usr/ports URL: file:///svn/freebsd/ports/head Relative URL: ^/head Repository Root: file:///svn/freebsd/ports Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5 Revision: 425197 Node Kind: directory Schedule: normal Last Changed Author: jhale Last Changed Rev: 425197 Last Changed Date: 2016-11-03 02:18:03 -0700 (Thu, 03 Nov 2016) g1-252(11.0-S)[4]=20 I see that FileCheck does show up in pkg-plist: g1-252(11.0-S)[4] grep FileCheck /usr/ports/devel/llvm38/pkg-plist=20 %%LIT%%bin/FileCheck38 %%LIT%%llvm38/bin/FileCheck g1-252(11.0-S)[5]=20 In reviewing the re-build/install of llvm38, I see that the "deinstallation" phase (for the previously-installed version) mentions quite a few files that were "missing": | ... | Installed packages to be REMOVED: | llvm38-3.8.1_5 |=20 | Number of packages to be removed: 1 |=20 | The operation will free 975 MiB. | [1/1] Deinstalling llvm38-3.8.1_5... | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/argdumper38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang++38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang-apply-replacements38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang-check38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang-cpp38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang-format38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang-modernize38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang-query38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang-rename38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang-tblgen38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang-tidy38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/clang38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llc38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/lld38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/lldb-mi38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/lldb-server38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/lldb38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/lli38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-ar38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-as38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-bcanalyzer38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-config38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-cov38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-diff38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-dis38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-dwarfdump38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-extract38 | [1/1] Deleting files for llvm38-3.8.1_5: 0% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-link38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-lit38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-mc38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-mcmarkup38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-nm38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-objdump38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-profdata38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-ranlib38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-readobj38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-rtdyld38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-size38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-split38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-stress38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-symbolizer38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/llvm-tblgen38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/macho-dump38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/modularize38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/opt38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/scan-build38 | [1/1] Deleting files for llvm38-3.8.1_5: 1% | llvm38-3.8.1_5: missing file /usr/local/bin/scan-view38 | [1/1] Deleting files for llvm38-3.8.1_5: 2% | llvm38-3.8.1_5: missing file /usr/local/llvm38/bin/FileCheck | [1/1] Deleting files for llvm38-3.8.1_5: 2% | llvm38-3.8.1_5: missing file /usr/local/llvm38/bin/clang-cpp | [1/1] Deleting files for llvm38-3.8.1_5: 2% | llvm38-3.8.1_5: missing file /usr/local/llvm38/bin/lit | [1/1] Deleting files for llvm38-3.8.1_5: 3% | llvm38-3.8.1_5: missing file /usr/local/llvm38/bin/llvm-lit | [1/1] Deleting files for llvm38-3.8.1_5: 100% |=20 | =3D=3D=3D> Installing for llvm38-3.8.1_5 | .... So around this point, I'm pretty thoroughly confused about what devel/llvm38 is actually supposed to be providing and why its installation doesn't seem to be providing parts of it. May I please have some guidance? Thanks! Peace, david --=20 David H. Wolfskill david@catwhisker.org Those who would murder in the name of God or prophet are blasphemous coward= s. See http://www.catwhisker.org/~david/publickey.gpg for my public key. --D9qdZDjLhFh4Fk+E Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQF8BAEBCgBmBQJYGzJ/XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRDQ0I3Q0VGOTE3QTgwMUY0MzA2NEQ3N0Ix NTM5Q0M0MEEwNDlFRTE3AAoJEBU5zECgSe4Xq1sIAJ9Z3EEZ/z4yjQMn6DOjnhrp fCB6zrGB1l9Lhyzb3HJjvplZa6uvb5vNgdSYczF2SStRXALIFFG/X9nbnHtrRGnd cXifvbuUCYPIfY+Qxsj2EbPyuHi0alKhojcFTwkxGIgDV0JRyXyz8qwVcCO6jJ6e SmMxMKKyCreoGSiQea7PxhYrQwQCs1g9N9mYmVA+/QzSitd7uJVRAXBk6OOwHET4 pzuPezvhIARRP/ZVWyS7rVoPOY8QsZosGlCCUfp+DEIrkCCMluAvAV9IqUcwsAJ9 ftRour+m+v1w0H1HsCguEsV6wHMVqvGAb25ycBrDCs/eyVPpClWpgVVG1adxxGY= =lMCg -----END PGP SIGNATURE----- --D9qdZDjLhFh4Fk+E--