From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Hinsen Subject: bug#39079: SBCL CFFI from Guix unable to find dynamic libraries Date: Tue, 14 Jan 2020 06:52:06 +0100 Message-ID: References: <87v9pfm2fq.fsf@gmail.com> <87o8v7yp23.fsf@ambrevar.xyz> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:47340) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1irF8R-0006kz-10 for bug-guix@gnu.org; Tue, 14 Jan 2020 00:53:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1irF8P-0004e1-VB for bug-guix@gnu.org; Tue, 14 Jan 2020 00:53:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:54633) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1irF8P-0004dr-O5 for bug-guix@gnu.org; Tue, 14 Jan 2020 00:53:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1irF8P-0002qe-ME for bug-guix@gnu.org; Tue, 14 Jan 2020 00:53:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87o8v7yp23.fsf@ambrevar.xyz> Content-Language: fr-classic List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: Pierre Neidhardt , Evan Straw Cc: 39079@debbugs.gnu.org Hi Pierre and Evan, > This seems to be a red herring, as Guix does not change how CFFI loa > libraries. The only thing that changes is where the libraries are found> with Guix packages. I don't know about the details of SBCL and its CFFI, but there is a difference in how Guix handles shared libraries that I discovered recently and which might be related. Programs compiled under Guix don't use the search path feature for shared libraries (via Guix' own copy of ldd.so). All references to shared libraries use the full path to the store. So if you compile sbcl under Guix, it will never look for libraries that are referenced by name only (without the full path). The foreign distro probably relies on that lookup, as most Linux distros do. Note that this is a feature, not a bug, so if that's the cause of the problem, there is nothing to do about it. You'd have to compile sbcl with the toolchain of the foreign distro. Cheers, Konrad.