Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Nov 2016 05:50:07 -0700
From:      David Wolfskill <david@catwhisker.org>
To:        freebsd-ports@freebsd.org
Subject:   devel/llvm38 install seems to be missing files (e.g., FileCheck)
Message-ID:  <20161103125007.GP1203@albert.catwhisker.org>

next in thread | raw e-mail | index | archive | help

--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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161103125007.GP1203>