From debbugs-submit-bounces@debbugs.gnu.org Sun May 05 18:38:02 2019 Received: (at 35591) by debbugs.gnu.org; 5 May 2019 22:38:02 +0000 Received: from localhost ([127.0.0.1]:55135 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hNPlh-0008Vo-Ug for submit@debbugs.gnu.org; Sun, 05 May 2019 18:38:02 -0400 Received: from world.peace.net ([64.112.178.59]:33642) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hNPlg-0008VX-Ij for 35591@debbugs.gnu.org; Sun, 05 May 2019 18:38:00 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hNPla-0003RE-IR; Sun, 05 May 2019 18:37:54 -0400 From: Mark H Weaver To: "Jonathan Frederickson" Subject: Re: bug#35591: Segfault on flatpak remote-add References: <12034386-e609-4dec-997f-bbf6614d8482@www.fastmail.com> Date: Sun, 05 May 2019 18:36:06 -0400 In-Reply-To: <12034386-e609-4dec-997f-bbf6614d8482@www.fastmail.com> (Jonathan Frederickson's message of "Sun, 05 May 2019 16:05:25 -0400") Message-ID: <87muk0sf4e.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 35591 Cc: 35591@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Jonathan, "Jonathan Frederickson" writes: > I'm attempting to use Flatpak on my Guix system, and I'm experiencing > segfaults when attempting to add a remote repo. Provided below are the > output of the command I'm attempting to run, as well as some info > about my system. My knowledge of Flatpak is weak, but in general, foreign pre-compiled binaries will not work on Guix unless they are statically linked. Traditional dynamically-linked executables expect to find a dynamic linker and system shared libraries in /lib or /lib64, which do not exist on a Guix system. It is also fairly common for foreign binaries to depend on standard files and programs in /usr, /bin, and /sbin, none of which are present on a Guix system except for /bin/sh. Having said that, if you must run foreign pre-compiled binaries on Guix, there are various hacks to do it. One approach is to install symlinks in /lib*, /usr, /bin, /sbin, etc, pointing to the needed components in /run/current-system. Another is to modify the pre-compiled binaries to look for components in the right place using 'patchelf'. We use the latter approach to bootstrap GHC (Glasgow Haskell Compiler), which can only be compiled by itself. I'm sorry I don't have a better answer for you, but Guix was not designed to run foreign pre-compiled binaries. If that's important to you, it might be that Guix is not a good fit for you. However, if your goal is to run Guix-compiled programs in a sandbox, that's something we are certainly very interested in, and we could use help. We have "guix container" as a building block, and I know that some Guix users have experimented with running e.g. GNU IceCat within a container. I don't know the current status of those efforts. Hopefully someone more knowledgable in this area will chime in. Regards, Mark