-
-
Notifications
You must be signed in to change notification settings - Fork 885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Binaries compiled for glibc fail with "not found" #355
Comments
This is the same as the issue with rust. I'll turn this into a tracking issue. |
Oh, that's a brilliant pointer. I'll try and get it working in a glibc chroot and report back (if I can get the chroot process to work with this update). |
The solution is to either find a way to build glibc for 32-bit musl, or switch to ubuntu. Neither is really easy. |
To update this issue with chroot progress, I followed this guide to create a chroot, but it currently fails with a missing syscall 191 at the stage of starting the chroot, which is entirely understandable. Issue has been filed separately for that. |
Try compiling this for 32 bit perhaps. |
This is a working solution: https://hub.docker.com/r/econcz/x86-alpine-glibc |
@econcz how did you get docker working? Or do you mean that you got this glibc container running on another machine? |
I built a glibc-based Alpine filesystem in Docker. Actually the mentioned apps are not working in iSH, they return illegal instructions (but it’s a problem inside the iSH App from what I understand since everything works in Docker). |
Okay, so the docker image was on running on an iOS device in iSH? I read the wiki pages, but they were not very illuminating. My understanding from #63 was that docker was not yet functional on iSH |
No-no, everything is much simpler: 1) you need to install Docker on your PC/Mac/Linux machine, 2) pull the image with glibc that I created from the Docker Hub, 3) create a container (preferably with privileged access) from it and install the software that you require into this container, 4) export the container as a filesystem, 5) import the filesystem into iSH. The whole process including the commands is described here: The Docker daemon indeed does not start on iSH, hence the workaround. PS The glibc works but the iSH App may not support all software, for example, Calibre and Stata produce illegal instructions, see the list of issues (but both work well on a non-iOS device inside a Docker container). Illegal instructions are tbodt's domain :-) PSS Builds in Docker are faster than builds in the iSH App. For example, if you wish to say rebuild ffmpeg, I recommend the former. |
Hey @econcz Thanks for sharing the docker file. I'm trying to install miniconda following this instruction on the README https://github.com/ish-app/ish/wiki/Transferring-filesystems-between-iSH-and-Docker and this docker file https://github.com/Docker-Hub-frolvlad/docker-alpine-miniconda3/blob/master/Dockerfile but I'm getting an error Just wondering if you happen to have a docker file available on how to install miniconda ? Thank you! |
Hi! You need to alter the |
Thanks @econcz . I managed to install miniconda by using an older version (4.5.12) but encountered similar Illegal Instruction errors. Guess gotta have to wait until this issue gets fixed. Thank you! |
I updated my post, please check the last sentence. Juno is a nice app. So is Carnets. |
Updated iSH glibc to 3.14 |
When attempting to
make install
the GHC bindist, the install process fails saying that a file (utils/ghc-cabal/dist-install/build/tmp/ghc-cabal
) is not found. The file definitely exists. It's quite a confusing one, as I don't see why it would happen.You can reproduce as follows, assuming a fresh installation of iSH:
apk add coreutils findutils binutils bash gcc sed tar curl
curl -sSL https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-i386-deb9-linux.tar.xz > ghc-8.6.4.tar.xz
tar -xvf ghc-8.6.4.tar.xz
cd ghc-8.6.4
./configure
(this will fail if you havegawk
installed with an error about not being able to open a file-
for writing)make install
The only output in dmesg from a running
make install
alone is 51 (dmesg | wc -l
) repetitions ofunknown ioctl 5413
.I know that this isn't a lot to go on so far, so I'm mainly opening this PR in order to potentially get some pointers for how to investigate further.
The text was updated successfully, but these errors were encountered: