hard links in llvm39 and binutils
Brooks Davis
brooks at freebsd.org
Fri Jan 27 07:58:11 UTC 2017
On Thu, Jan 26, 2017 at 10:18:19AM -0800, john at TheUsGroup.com wrote:
> In your message you wrote:
> > ...
> >On Wed, Jan 25, 2017 at 10:54:27PM -0800, john--- via freebsd-ports
> >wrote: > Both llvm39 and binutils failed to install recently because
> >they both have > hard links that cross directories. On this machine,
> >those directories, both > in /usr/local on on different zfs filesystems.
> >> > I've had this directory structure for several years without issue,
> >so this use > of hard links is new. > > Is this use of hard links
> >something I should expect to see looking forward or > is it an error?
> >
> >Some cross directory hardlinks in llvm## have been around since at least
> >October 2013. Without a specific example I can't say more.
> >
> >-- Brooks
> >
>
> Here's one example:
>
> # ls -il /usr/ports/devel/llvm39/work/stage/usr/local/llvm39/bin/lit
> 4797459 -r-xr-xr-x 4 root wheel 82 Jan 24 10:17 lit
>
> # ls -il /usr/ports/devel/llvm39/work/stage/usr/local/bin/llvm-lit39
> 4797459 -r-xr-xr-x 4 root wheel 82 Jan 24 10:17 llvm-lit39
>
> As I stated above llvm37 and the previous version of binutils both installed
> without issue.
>
> # pkg info llvm\*
> llvm33-3.3_10
> llvm34-3.4.2_1
> llvm35-3.5.2
> llvm36-3.6.2_2
> llvm37-3.7.1_3
>
> # pkg info llvm37
> Name : llvm37
> Version : 3.7.1_3
> Installed on : Fri Sep 23 09:09:32 2016 PDT
> Origin : devel/llvm37
> Architecture : freebsd:10:x86:64
> Prefix : /usr/local
> Categories : devel lang
> Licenses :
> Maintainer : brooks at FreeBSD.org
> WWW : http://llvm.org/
> Comment : LLVM and Clang
> Options :
> CLANG : on
> COMPILER_RT : on
> DOCS : off
> EXTRAS : on
> GOLD : on
> LIT : on
>
> Checking /usr/local/llvm37/bin shows no file named "lit", so I assume these
> hard links came with files that didn't exist in llvm37.
>
> John Theus
> TheUs Group
> LLD : on
> LLDB : on
> OPENMP : on
>
I can only guess that you don't have them because an older version of pkg
failed to tell you that they weren't installed because llvm37 definitely
does create such a link in the port. Something has definitely gone wrong
on your system, but I'm at a lost a to what it it. Here's what I'd
expect to see:
$ ls -li /usr/local/bin/*lit*37 /usr/local/llvm37/bin/*lit*
1580744 -r-xr-xr-x 4 root wheel 82 Dec 27 05:29 /usr/local/bin/lit37
1580744 -r-xr-xr-x 4 root wheel 82 Dec 27 05:29 /usr/local/bin/llvm-lit37
1580744 -r-xr-xr-x 4 root wheel 82 Dec 27 05:29 /usr/local/llvm37/bin/lit
1580744 -r-xr-xr-x 4 root wheel 82 Dec 27 05:29 /usr/local/llvm37/bin/llvm-lit
That being said, I could switch them to symlinks. In general I don't
like this as a precedent. I'm definitely not willing to support arbitrary
filesystem hierarchies so if we're going to do this, we need some sort
of principles for splits that we're willing to support.
-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20170127/d2f48009/attachment.sig>
More information about the freebsd-ports
mailing list