devel/llvm38 install seems to be missing files (e.g., FileCheck)
David Wolfskill
david at catwhisker.org
Thu Nov 3 12:50:16 UTC 2016
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:
| ...
| ===> Cleaning for rust-1.12.1
| ===> License APACHE20 MIT accepted by the user
| ===> Found saved configuration for rust-1.9.0_1
| ===> rust-1.12.1 depends on file: /usr/local/sbin/pkg - found
| ===> Fetching all distfiles required by rust-1.12.1 for building
| ===> Extracting for rust-1.12.1
| => SHA256 Checksum OK for rustc-1.12.1-src.tar.gz.
| => 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
| /common/ports/lang/rust/work/rustc-1.12.1/dl
| ===> Patching for rust-1.12.1
| ===> Applying FreeBSD patches for rust-1.12.1
| ===> rust-1.12.1 depends on executable: cmake - found
| ===> rust-1.12.1 depends on file: /usr/local/llvm38/bin/FileCheck - not found
| ===> Installing for llvm38-3.8.1_5
| ===> llvm38-3.8.1_5 depends on file: /usr/local/bin/python2.7 - found
| ===> llvm38-3.8.1_5 depends on package: perl5>=5.24<5.25 - found
| ===> llvm38-3.8.1_5 depends on shared library: libedit.so.0 - found (/usr/local/lib/libedit.so.0)
| ===> Checking if llvm38 already installed
| ===> 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-replacements
-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 -> lldb-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 -> llvm-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]
So I checked the configure options:
g1-252(11.0-S)[1] make -C /usr/ports/devel/llvm38 showconfig
===> The following configuration options are available for llvm38-3.8.1_5:
CLANG=on: Build clang
COMPILER_RT=on: Sanitizer libraries
DOCS=on: Build and/or install documentation
EXTRAS=on: Extra clang tools
GOLD=on: Build the LLVM Gold plugin for LTO
LIT=on: Install lit and FileCheck test tools
LLD=on: Install lld, the LLVM linker
LLDB=on: Install lldb, the LLVM debugger (ignored on 9.x)
OPENMP=on: Install libomp, the LLVM OpenMP runtime library
===> Use 'make config' to modify these settings
g1-252(11.0-S)[2]
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 r308245M/308250:1100506: Thu Nov 3 04:08:09 PDT 2016 root at g1-252.catwhisker.org:/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]
I see that FileCheck does show up in pkg-plist:
g1-252(11.0-S)[4] grep FileCheck /usr/ports/devel/llvm38/pkg-plist
%%LIT%%bin/FileCheck38
%%LIT%%llvm38/bin/FileCheck
g1-252(11.0-S)[5]
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
|
| Number of packages to be removed: 1
|
| 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%
|
| ===> 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
--
David H. Wolfskill david at catwhisker.org
Those who would murder in the name of God or prophet are blasphemous cowards.
See http://www.catwhisker.org/~david/publickey.gpg for my public key.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 603 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20161103/65dd3155/attachment.sig>
More information about the freebsd-ports
mailing list