From owner-freebsd-ports@freebsd.org Fri Jan 27 07:58:11 2017 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 D0DCCCC3CB5 for ; Fri, 27 Jan 2017 07:58:11 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (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 8FD6AEBC; Fri, 27 Jan 2017 07:58:11 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 5EC1E5A9F12; Fri, 27 Jan 2017 07:58:09 +0000 (UTC) Date: Fri, 27 Jan 2017 07:58:09 +0000 From: Brooks Davis To: john@TheUsGroup.com Cc: Brooks Davis , freebsd-ports@freebsd.org Subject: Re: hard links in llvm39 and binutils Message-ID: <20170127075809.GA80000@spindle.one-eyed-alien.net> References: <20170126065427.F0705CAC@mail.theusgroup.com> <20170126101306.GA51107@spindle.one-eyed-alien.net> <20170126181819.6872DDDE@mail.theusgroup.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="cNdxnHkX5QqsyA0e" Content-Disposition: inline In-Reply-To: <20170126181819.6872DDDE@mail.theusgroup.com> User-Agent: Mutt/1.7.2 (2016-11-26) 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: Fri, 27 Jan 2017 07:58:11 -0000 --cNdxnHkX5QqsyA0e Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jan 26, 2017 at 10:18:19AM -0800, john@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 > > >=20 > Here's one example: >=20 > # 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 >=20 > # 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 >=20 > As I stated above llvm37 and the previous version of binutils both instal= led > without issue. >=20 > # 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 >=20 > # 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 :=20 > Maintainer : brooks@FreeBSD.org > WWW : http://llvm.org/ > Comment : LLVM and Clang > Options : > CLANG : on > COMPILER_RT : on > DOCS : off > EXTRAS : on > GOLD : on > LIT : on >=20 > Checking /usr/local/llvm37/bin shows no file named "lit", so I assume the= se > hard links came with files that didn't exist in llvm37. >=20 > John Theus > TheUs Group > LLD : on > LLDB : on > OPENMP : on >=20 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/ll= vm-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 --cNdxnHkX5QqsyA0e Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJYiv2QAAoJEKzQXbSebgfAGeUIAJGdQ8jJV2JW1EK7yuWndFhi d3IVrOGrg8YdkLpcybyldbgXeKwQJJR2vwaL9WgpPJzgSssWDcSUFSoPIbOmrNLe AkUhQzs0GnA1tB7J+l53QlkamI+HeOyEEBbke6yXY3AQHjR4u+OHHf36WDEVoc24 wdyTdOHkoTpFjvdi07Q0GrU1BNLqoQrji5yYZY+XiBo1+YRXljCCkA99WvlOZdTn Sl1rx3EAc9qIlyPgEOBMbYvjz8kAsyli75+CVlRX6MHbc82JbumHxMzJ7K7CDe1Z Cpm121WD954Sm8ISxW+05cIq2uaNftQxQZV+u39uftp9zv4WzRTL96ryt1Vkh2A= =vAPE -----END PGP SIGNATURE----- --cNdxnHkX5QqsyA0e--