From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id SBv7HmQtJGARYQAA0tVLHw (envelope-from ) for ; Wed, 10 Feb 2021 19:00:52 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id YLvOGmQtJGAVPAAAB5/wlQ (envelope-from ) for ; Wed, 10 Feb 2021 19:00:52 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 95D359405D1 for ; Wed, 10 Feb 2021 19:00:51 +0000 (UTC) Received: from localhost ([::1]:46384 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9ujK-0003nn-Jq for larch@yhetil.org; Wed, 10 Feb 2021 14:00:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45762) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9uhz-0003L7-Kk for help-guix@gnu.org; Wed, 10 Feb 2021 13:59:27 -0500 Received: from tobias.gr ([2a02:c205:2020:6054::1]:48062) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9uhu-0002De-Hy for help-guix@gnu.org; Wed, 10 Feb 2021 13:59:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tobias.gr; s=2018; bh=rh64zpt4GQUmVU2aAhIF/v9o7ZzTtlpcJUvVJmhtFRw=; h=date:in-reply-to: references:subject:cc:to:from; b=EffV9QPlgBAuGpnEV5r24F1tneBSrnOVfUd7M cw6mAamxkGGQen0LAAjVuidC7SQehIomkjLHfE/GTQo1jkpE2XFZR+NcKyTnckl6h+6sPb dgQE4CKvpQcRdNmYzaxSzNU3yZgaqPAw5j2knc2PYe5Y8Zj5bNpU36SZ0X3XYVtiHz9PMC lCD4BfHylrbepWic4l9uqOa/qQ/NTcoL/aoi/4LXy982e05pFFeq1bHOHayZI3keU+z6Vb UDSowVSnsuw90lxHtZ44PjvN0nX+SDtpJhakhSX3L/llsNFdPEOv0xM0E7kzn+dSqTll6d VBbAcLh10RHRntAmOyIWSYPiw== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 2edb56e0 (TLSv1.2:ECDHE-ECDSA-AES256-GCM-SHA384:256:NO); Wed, 10 Feb 2021 19:00:04 +0000 (UTC) BIMI-Selector: v=BIMI1; s=default; From: Tobias Geerinckx-Rice To: Christophe Pisteur Cc: help-guix@gnu.org Subject: Re: Appimage: cannot run binary file References: In-reply-to: Date: Wed, 10 Feb 2021 19:59:17 +0100 Message-ID: <875z2zzr3u.fsf@nckx> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=2a02:c205:2020:6054::1; envelope-from=me@tobias.gr; helo=tobias.gr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -4.66 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=tobias.gr header.s=2018 header.b=EffV9QPl; dmarc=pass (policy=reject) header.from=tobias.gr; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Queue-Id: 95D359405D1 X-Spam-Score: -4.66 X-Migadu-Scanner: scn1.migadu.com X-TUID: XBeRQWxepB5X --=-=-= Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Bonjour Christophe! Christophe Pisteur =E5=86=99=E9=81=93=EF=BC=9A > bash: .:=20 > /home/christophe/T=C3=A9l=C3=A9chargements/FreeCAD_0.19-23578-Linux- > Conda_glibc2.12-x86_64.AppImage : ne peut ex=C3=A9cuter le fichier=20 > binaire This unclear error message means that the dynamic linker/loader=20 was not found. It's an absolute file name, hard-coded in the executable. In this=20 case: =CE=BB file FreeCAD_0.19-23578-Linux-Conda_glibc2.12-x86_64.AppImage=20 ...ELF 64-bit LSB executable, x86-64, version 1 (SYSV)... ...dynamically linked, interpreter=20 /lib64/ld-linux-x86-64.so.2... ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Like Flatpaks (and all binaries, really), AppImages are=20 distro-specific: they expect this file to exist at this exact=20 location or they won't be able to start. It won't run on my Guix=20 System even though I have a compatibility symlink in /lib: (service special-files-service-type `(("/lib/ld-linux-x86-64.so.2" ,(file-append (canonical-package glibc) "/lib/ld-linux-x86-64.so.2")) ...)) After adding one for /lib64 as well, this happens: =CE=BB ./FreeCAD_0.19-23578-Linux-Conda_glibc2.12-x86_64.AppImage=20 ...: error while loading shared libraries: libz.so.1: cannot=20 open shared object file: No such file or directory Of course: there is no libz.so in /lib{,64} either! Rather than add more compatibility links for every library and its=20 sister, we create a Guix environment and hackily point our=20 AppImage towards it: =CE=BB guix environment --ad-hoc zlib fuse -- bash -c \ 'LD_LIBRARY_PATH=3D$GUIX_ENVIRONMENT/lib \ ./FreeCAD_0.19-23578-Linux-Conda_glibc2.12-x86_64.AppImage' fusermount: mounting over filesystem type 0xca451a4e is=20 forbidden Cannot mount AppImage, please check your FUSE setup. You might still be able to extract the contents of this AppImage=20 if you run it with the --appimage-extract option.=20 See https://github.com/AppImage/AppImageKit/wiki/FUSE=20 for more information open dir error: No such file or directory At this point I got a disgusting hunch: ~/linux =CE=BB grep -r 0xca451a4e * ... #define BCACHEFS_STATFS_MAGIC 0xca451a4e A hard-coded file system whitelist[0]! What could go wrong? You'll probably get a different error on your system; it might=20 even work. You could try extracting it: /tmp/squashfs-root =CE=BB ./AppRun=20 bash: ./AppRun: /bin/bash: bad interpreter: No such file or=20 directory /tmp/squashfs-root =CE=BB bash ./AppRun=20 .../bin/freecad: error while loading shared libraries:=20 libGL.so.1: cannot open shared object file: No such file or directory And so on until you have fun. Much cross-distro; very universal.=20 I tried adding mesa; didn't work. Instead, I strongly recommend writing your own Guix package (using=20 inherit) or looking for a less byzantine download format. > (=3D cannot run binary file). (Tip: you can submit =E2=80=98normalised=E2=80=99 bug reports by setting=20 LC_ALL=3DC.) Good luck, T G-R [0]: I don't know if it's in AppImage of FUSE, nor do I much care. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCYCQtBQ0cbWVAdG9iaWFz LmdyAAoJEA2w/4hPVW15k5kBALMeaAghyAro35OycMdUBsoAR1Rj8iMvc7swQtBn fyzPAQDk0jH8xYZPTmaI5TEW137fxzmHt/k/542XuKwXD5uHCQ== =ER4+ -----END PGP SIGNATURE----- --=-=-=--