From mboxrd@z Thu Jan 1 00:00:00 1970 From: Catonano Subject: Re: runpath validation Date: Sun, 23 Apr 2017 10:37:26 +0200 Message-ID: References: <87fuh35wjd.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=f403045c189880c316054dd1661a Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40168) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d2D1P-0004t3-3o for help-guix@gnu.org; Sun, 23 Apr 2017 04:37:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d2D1O-0003Wj-2t for help-guix@gnu.org; Sun, 23 Apr 2017 04:37:31 -0400 In-Reply-To: <87fuh35wjd.fsf@gnu.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: help-guix --f403045c189880c316054dd1661a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 2017-04-20 10:10 GMT+02:00 Ludovic Court=C3=A8s : > > You should grep for RUNPATH, and I guess that will show that > /gnu/store/zv2c9mbs4q7f75p9xlgxs62fb5wmp3ac-granite-0.4.0.1/lib is *not* > in there, even though it should (if it=E2=80=99s not in RUNPATH, then lau= nching > =E2=80=98granite-demo=E2=80=99 will result in a =E2=80=9Clibrary not foun= d=E2=80=9D error, which is what > this validation phase wants to avoid.) > and instead what I found is that ...granite/lib *is* there > > HTH! If needed, we can discuss it further on IRC. > Thanks ! If I find you on line I'll ping you about this For now, let me report my last findings The build fails in the validate-runpath phase With "#:validate-runpath? #f" iit succeeds AND this is what I find on the resulting built artifact me@my-machine /gnu/store/wzbjl4mjqdq38jyllb4ny2mn1kkqqikv-granite-0.4.0.1$ objdump -a -x bin/granite-demo | grep RUNPATH RUNPATH /gnu/store/wzbjl4mjqdq38jyllb4ny2mn1kkqqikv-granite-0.4.0.1/lib :/gnu/store/rmjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib ... I installed granite with ./pre-inst-env guix package -i granite I got this advice The following environment variable definitions may be needed: export LIBRARY_PATH=3D"/home/catonano/.guix-profile/lib:/home/catonano/.guix-profi= le/lib64${LIBRARY_PATH:+:}$LIBRARY_PATH" I don't know why, I don't touch search paths in the granite package recipe Anyway I followed the suggestion ~$ echo $LIBRARY_PATH /home/me.guix-profile/lib :/home/me/.guix-profile/lib64 :/home/me/.guix-profile/lib and this is what I get ~$ granite-demo granite-demo: error while loading shared libraries: libgranite.so.3: cannot open shared object file: No such file or directory This is the state of the art, for now See you around ! ;-) --f403045c189880c316054dd1661a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
2017-04-20 10:10 GMT+02:00 Ludovic Court=C3=A8s <ludo@gnu.org= >:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">
You should grep for RUNPATH, and I guess that will show that
/gnu/store/zv2c9mbs4q7f75p9xlgxs62fb5wmp3ac-granite-0.4.0.1/lib i= s *not*
in there, even though it should (if it=E2=80=99s not in RUNPATH, then launc= hing
=E2=80=98granite-demo=E2=80=99 will result in a =E2=80=9Clibrary not found= =E2=80=9D error, which is what
this validation phase wants to avoid.)

= and instead what I found is that ...granite/lib *is* there
=C2=A0<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex"> HTH!=C2=A0 If needed, we can discuss it further on IRC.

Thanks !
If I find you on line I'll ping you about= this

For now, let me report my last findings

The build fails in the validate-runpath phase

Wit= h "#:validate-runpath? #f" iit succeeds

AND th= is is what I find on the resulting built artifact

me@my-machine /gnu= /store/wzbjl4mjqdq38jyllb4ny2mn1kkqqikv-granite-0.4.0.1$ objdump -a -x bin/= granite-demo | grep RUNPATH
=C2=A0 RUNPATH=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
/gnu/store/wzbjl4mjqdq= 38jyllb4ny2mn1kkqqikv-granite-0.4.0.1/lib
:/gnu/store/rmjlycdgiq8pfy5hfi= 42qhw3k7p6kdav-glibc-2.25/lib
...

I installed granite = with

./pre-inst-env guix package -i granite

=
I got this advice

The following environment variable definition= s may be needed:
=C2=A0=C2=A0 export LIBRARY_PATH=3D"/home/catonano= /.guix-profile/lib:/home/catonano/.guix-profile/lib64${LIBRARY_PATH:+:}$LIB= RARY_PATH"

I don't know why, I don't touch s= earch paths in the granite package recipe

Anyw= ay I followed the suggestion

~$ echo $LIBRARY_PATH
/home/me.guix-= profile/lib
:/home/me/.guix-profile/lib64
:/home/me/.guix-profile/lib=


and this is what I get

~$ granite-demo
gr= anite-demo: error while loading shared libraries: libgranite.so.3: cannot o= pen shared object file: No such file or directory

<= div>This is the state of the art, for now

See you around = ! ;-)
--f403045c189880c316054dd1661a--