From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: 'libstdc++.so.6' cannot be found in RUNPATH () Date: Tue, 26 Jun 2018 13:43:01 +0200 Message-ID: <878t716aey.fsf@gnu.org> References: <603614f230c34b95bb3605c455d2f16b@esss.se> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35844) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fXmNH-00011t-D0 for help-guix@gnu.org; Tue, 26 Jun 2018 07:43:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fXmNE-00008n-8a for help-guix@gnu.org; Tue, 26 Jun 2018 07:43:07 -0400 In-Reply-To: <603614f230c34b95bb3605c455d2f16b@esss.se> (Hinko Kocevar's message of "Mon, 25 Jun 2018 18:45:18 +0000") 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: Hinko Kocevar Cc: "help-guix@gnu.org" Hinko Kocevar skribis: > The package builds fine, but validate-runpath phase fails with messages: > > starting phase `validate-runpath' > validating RUNPATH of 10 binaries in "/gnu/store/i7qkw5j3d0rm00l2k88p0bba= j6b204fh-epics-adandor-R2-7/lib"... > /gnu/store/i7qkw5j3d0rm00l2k88p0bbaj6b204fh-epics-adandor-R2-7/lib/linux-= x86_64-debug/libandor.so: error: depends on 'libstdc++.so.6', which cannot = be found in RUNPATH () What this phase does is traverse all the binaries and make sure that every shared library they depend on (the =E2=80=98NEEDED=E2=80=99 entry of = the ELF file) can be found in their =E2=80=98RUNPATH=E2=80=99. IOW, that=E2=80=99s a QA = check that we make on packages by default. Packages built on systems that follow the file system hierarchy standard (FHS) typically don=E2=80=99t do that because they assume that things like libstdc++.so can be found in the =E2=80=9Cstandard location=E2=80=9D=E2=80= =94i.e., /usr/lib or similar. Anyway, you can forcefully bypass this check if you think it=E2=80=99s unne= eded, by adding: #:validate-runpath? #f to the =E2=80=98arguments=E2=80=99 field of your package. HTH, Ludo=E2=80=99.