Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Feb 2021 21:21:21 -0700
From:      Gary Aitken <>
To:        Pete Wright <>, FreeBSD Mailing List <>
Subject:   Re: which linux
Message-ID:  <>
In-Reply-To: <>
References:  <> <> <> <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
I'm still trying to get my head around what's going on here.
I *thought* the /compat/linux stuff was meant to work with fbsd stuff
to some extent...

On 2/9/21 9:03 PM, Pete Wright wrote:
> On 2/9/21 7:23 PM, Gary Aitken wrote:
>> Is there a way to run /compat/linux/usr/bin/ldd to figure out what
>> it is really looking for?  I get the same error whether the symlink
>> for is present or not.  If I try to run the linux ldd
>> I get:
>> $ /compat/linux/usr/bin/ldd
>> PrusaSlicer-2.3.0+linux-x64-202101111322.AppImage bash:
>> /compat/linux/usr/bin/ldd: /usr/bin/bash: bad interpreter: No such
>> file or directory
>> There is no /usr/bin/bash (it's in /usr/local/bin/bash), but there
>> is a /compat/linux/usr/bin/bash.
> you might want to chroot into the /compat/linux environment like this
> for example: $ sudo chroot /compat/linux /usr/bin/bash
> that should make tools like ldd friendlier while you debug.

Not sure if this is friendlier or not :-(:

$ sudo chroot /compat/linux /usr/bin/bash
/$ cd /home/garya/
/home/garya$ ./PrusaSlicer-2.3.0+linux-x64-202101111322.AppImage
dlopen(): error loading

AppImages require FUSE to run.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.

/home/garya$ ldd PrusaSlicer-2.3.0+linux-x64-202101111322.AppImage
ELF binary type "3" not known.
/bin/ldd: line 161: /lib/ cannot execute binary file
         not a dynamic executable

So, I exploded the .AppImage, which leaves a subtree squashfs-root with
a script "AppRun" which basically runs usr/bin/prusa-slicer.  So

/home/garya$ cd squashfs-root/
/home/garya/squashfs-root$ ./AppRun
/home/garya/squashfs-root/usr/bin/bin/prusa-slicer: error while loading shared libraries: cannot open shared object file: No such file or directory
/home/garya/squashfs-root$ ldd /usr/bin/prusa-slicer
ELF binary type "3" not known.
/bin/ldd: line 161: /lib/ cannot execute binary file
         not a dynamic executable

I don't understand why bin/ldd is a script in compat/linux, which tries to
execute a shared library, but even if that made sense...

It appears the binary file prusa-slicer is looking for, which is
not in the /compat/linux tree.  Am I correct that running with this linux
compatibility mode is restricted to stuff in /compat/linux?

If the .AppImage is supposed to be a self-contained binary executable which
can run on any linux system, then what does "self-contained" mean?  Does it
mean "only self-contained enough that libraries we think are on all linux
systems by default are not included."?

> you also might want to give setting your LD_LIBRARY_PATH when
> executing the command from freebsd to include the linux locations and
> see how far you get: $
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/compat/linux/lib:/compat/linux/lib64
> PrusaSlicer...

my default environment has no LD_LIBRARY_PATH; I think that's normal in fbsd,
correct?  In any case, the following still does not find libfuse when run
from fbsd:

$ LD_LIBRARY_PATH=/compat/linux/lib:/compat/linux/lib64:/usr/local/lib:/usr/lib ./PrusaSlicer-2.3.0+linux-x64-202101111322.AppImage
dlopen(): error loading

This feels like the whole concept of .AppImage doesn't play well with the
compat/linux environment.

I guess it is time to upgrade to 12.x and try the ubuntu linuxulator...


Want to link to this message? Use this URL: <>