RPI Zero : ExitCode: 139
Closed this issue · 75 comments
i have checked your work on github and tried to deploy your docker image on pyriot os running on raspberry pi zero w with armhf architecture. The problem is that docker container is restarting and giving error 139. do you have an idea put what kind of problem i am facing ... thank you for your contribution to the community.
{
"Id": "ec7141eab08963d0b12d3c518a601e4bfd0ce4c9bcf2f332f1858acff05e85b6",
"Created": "2019-01-31T20:41:14.024259674Z",
"Path": "tini",
"Args": [
"--",
"/opt/JDownloader/daemon.sh"
],
"State": {
"Status": "restarting",
"Running": true,
"Paused": false,
"Restarting": true,
"OOMKilled": false,
"Dead": false,
"Pid": 0,
"ExitCode": 139,
"Error": "",
"StartedAt": "2019-01-31T21:13:55.832230457Z",
"FinishedAt": "2019-01-31T21:13:56.805807634Z"
},
"Image": "sha256:c9a9856275c004e19622f5badb3618100d1aad609b63f71ce8f241271ec45b2a",
"ResolvConfPath": "/var/lib/docker/containers/ec7141eab08963d0b12d3c518a601e4bfd0ce4c9bcf2f332f1858acff05e85b6/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/ec7141eab08963d0b12d3c518a601e4bfd0ce4c9bcf2f332f1858acff05e85b6/hostname",
"HostsPath": "/var/lib/docker/containers/ec7141eab08963d0b12d3c518a601e4bfd0ce4c9bcf2f332f1858acff05e85b6/hosts",
"LogPath": "/var/lib/docker/containers/ec7141eab08963d0b12d3c518a601e4bfd0ce4c9bcf2f332f1858acff05e85b6/ec7141eab08963d0b12d3c518a601e4bfd0ce4c9bcf2f332f1858acff05e85b6-json.log",
"Name": "/jdownloader",
"RestartCount": 39,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": [
"/root/Downloads:/root/Downloads",
"/root/jdownloader/cfg:/opt/JDownloader/cfg"
],
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "default",
"PortBindings": {},
"RestartPolicy": {
"Name": "always",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "shareable",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DiskQuota": 0,
"KernelMemory": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": 0,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/ad62fcf6673b84728615d41b86a61c5accf9c9f0381cf45988deb0bfcd626993-init/diff:/var/lib/docker/overlay2/ea48ef0fae0b7f10d6af8fe3c56ef343080aacd67a110148d641a7bb5a3e22cb/diff:/var/lib/docker/overlay2/5674f282c23e754f0ed82fe7e7a2a233a556d98b831f1a308bd040b2eba7204e/diff:/var/lib/docker/overlay2/496b6788b317846976393194828d96a07bd9f88ec2d3ff489875c6f056cbcba1/diff:/var/lib/docker/overlay2/595da174beaabf03a68816f7e2023b3c81dd90772132b679e898d6c9909b1a5b/diff:/var/lib/docker/overlay2/8ced3058defcc877db6ea5a4238ac4d848a0cd10ad922eaf189539e4b7d9eae3/diff:/var/lib/docker/overlay2/a4029a222c94277e4e1d162c1dc6fa7a615d28e454b53c75575c5c6dd533142b/diff:/var/lib/docker/overlay2/183f2b210aa4a16f2c89070d7ad8c50d182d6d1688c7a766fa3d55730cc9e49f/diff:/var/lib/docker/overlay2/cd7995beddf2d5800f5d40d41ca8d1d1e5a4180e42dbaa6cf1615440955195b4/diff:/var/lib/docker/overlay2/0640dbf0f2b72ebf1d5f5105d9b801fffc98b7fbb0c1b6935fbd41c020c2800e/diff:/var/lib/docker/overlay2/957c62de477cbba46011ab99fb9d92de41590de7a3d56e97e85bc341cd1dcd52/diff:/var/lib/docker/overlay2/8d52c81116ac62c26ee5a5aa91753263d747aa74c8153839b868b0c6920a5ae1/diff:/var/lib/docker/overlay2/867eb6551f821bc750052dafc1ece676f1068ac3e04bf7fe79b934ba69975dcc/diff:/var/lib/docker/overlay2/b529c27391c5034aa70afc643f6fde940e9d9d4db7c1b8da46b1f17b24ff566c/diff:/var/lib/docker/overlay2/24681d6dfe3b74396deff2e8fdb550647ce453d64d4884717e403a58931acea6/diff",
"MergedDir": "/var/lib/docker/overlay2/ad62fcf6673b84728615d41b86a61c5accf9c9f0381cf45988deb0bfcd626993/merged",
"UpperDir": "/var/lib/docker/overlay2/ad62fcf6673b84728615d41b86a61c5accf9c9f0381cf45988deb0bfcd626993/diff",
"WorkDir": "/var/lib/docker/overlay2/ad62fcf6673b84728615d41b86a61c5accf9c9f0381cf45988deb0bfcd626993/work"
},
"Name": "overlay2"
},
"Mounts": [
{
"Type": "bind",
"Source": "/root/jdownloader/cfg",
"Destination": "/opt/JDownloader/cfg",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
},
{
"Type": "bind",
"Source": "/root/Downloads",
"Destination": "/root/Downloads",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
"Config": {
"Hostname": "ec7141eab089",
"Domainname": "",
"User": "0:0",
"AttachStdin": false,
"AttachStdout": true,
"AttachStderr": true,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/jdk/bin",
"JAVA_VERSION=8",
"JAVA_UPDATE=73",
"JAVA_BUILD=02",
"JAVA_HOME=/opt/jdk",
"LD_LIBRARY_PATH=/lib;/lib32;/usr/lib",
"LANG=C.UTF-8",
"LC_ALL=C.UTF-8"
],
"Cmd": [
"tini",
"--",
"/opt/JDownloader/daemon.sh"
],
"ArgsEscaped": true,
"Image": "jaymoulin/jdownloader",
"Volumes": null,
"WorkingDir": "/opt/JDownloader",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"Description": "This image is used as base image for my explorations of running JAVA/Node applications on a Raspberry Pi 2 cluster.",
"Version": "0.1",
"maintainer": "Jay MOULIN jaymoulin@gmail.com https://twitter.com/MoulinJay",
"version": "0.6.1-armhf"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "0ed47901869e0f3764f54834d19ceec75d502135b6789be76c1c7df9d96c0af2",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/0ed47901869e",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "53d32f9dc72d2a51bc75156cd5736c796e4052cd0f0f4a5a466d57dceb2fbdc8",
"EndpointID": "",
"Gateway": "",
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "",
"DriverOpts": null
}
}
}
}
Can you please give required information?
Description
Command line I used to start the container
Steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
Provide some logs (docker logs jdownloader
)
(paste logs)
Output of docker inspect jdownloader --format='{{index .Config.Labels.version}}'
:
(paste your output here)
I have run the following command:
docker run -d --restart=always -v ~/Downloads:/root/Downloads -v ~/jdownloader/cfg:/opt/JDownloader/cfg --name jdownloader -u $UID:$(id -g) [jaymoulin/jdownloader]
Then when run this:
$ docker ps
The output of the above command:
CONTAINER ID |
IMAGE |
COMMAND |
CREATED |
STATUS |
PORTS |
NAMES
|
9594701f8c16 |
jaymoulin/jdownloader |
"tini -- /opt/JDownl…" |
8 minutes ago |
Restarting (139) About a minute ago |
|
jdownloader |
when run
docker inspect jdownloader --format='{{index .Config.Labels.version}}'
output was
0.6.1-armhf
What docker logs jdownloader
displays?
Can you check that $UID:$(id -g)
are expected value for ~/Downloads
and ~/jdownloader/cfg
folder rights?
how can be see the logs ?
Execute docker logs jdownloader
, paste result here
Can you check that
$UID:$ (id -g) are expected value for ~/Downloads and ~/jdownloader/cfg folder rights?
Simpler way :
docker rm -f jdownloader
docker run -d --restart=always -v ~/Downloads:/root/Downloads -v ~/jdownloader/cfg:/opt/JDownloader/cfg --name jdownloader jaymoulin/jdownloader
- then follow README.md instructions for configuration
ok thank you i will try that.
excuse me , i think on raspberry pi zero not working because i do what you told me and also not working everytime restarting, and i tried your docker image on raspberry pi 3 b+ worked and everything is ok.
If I'm not mistaking, raspberry pi zero is armv6 not armhf
yes armv6 but armhf work on raspberry pi zero
Your issue says no ;)
Can you try with jaymoulin/jdownloader:0.6.1-arm32v6
instead? It should fit better.
Ok,can you please send the link
docker rm -f jdownloader
docker run -d --restart=always -v ~/Downloads:/root/Downloads -v ~/jdownloader/cfg:/opt/JDownloader/cfg --name jdownloader jaymoulin/jdownloader:0.6.1-arm32v6
- then follow README.md instructions for configuration
I don't have a Rpi zero to be able to test and no log to tell you what's going on.
What docker version are you using? docker -v
Can portainer/portainer
be responsible of this error?
Docker version 18.04.0-ce, build 3d479c0
I'm using Docker version 18.09.0, build 4d60db4
. Try updating docker.
Can portainer/portainer be responsible of this error?
excuse me if you want, i have teamviewer
No, I'm not doing customer support, I'm just trying to fix a bug with one of "my product" (just the docker image, I'm neither part of jdownloader, java, nor docker teams) that may affect users.
ok no problem i'm sorry
You don't have to. but please provide me with required information if you want me to be able to help
Hello jay
I am so sorry to answer you too late because i tried many cases to reduce all posibilities for the problem
I tried to build the docker image on docker 18.4.0 using rapsberry pi 3b+ and everything went ok
and i also tried to upgrade the docker to version 18.9.0 but upgrading caused problems on raspberry zero . I also tried to run jdownloader on BalenaOS with raspberry pi zero but it happens to make same problem (service is restarting ) luckily on balena os i did find what logs says
standard_init_linux.go:195: exec user process caused "exec format error"
I know that i can run jdownloader on raspberry pi 3 but it is a very interesting topic to make a 5$ jdownloader on raspberry pi zero
Thank you for your collaboration
standard_init_linux.go:195: exec user process caused "exec format error"
means wrong image for the actual architecture. Did you try with the arm32v6 image?
I will try the arm32v6 image on balenaOS just wait 5 mins and i will reply to you
same error occurred when running arm32v6 image
Can you try building your own image?
- git clone https://github.com/jaymoulin/docker-jdownloader
- cd docker-jdownloader
- edit
Dockerfile
with this content :
FROM openjdk:jre-alpine as builder
ARG ARCH=armhf
ARG VERSION="0.6.1"
LABEL maintainer="Jay MOULIN <jaymoulin@gmail.com> <https://twitter.com/MoulinJay>"
LABEL version="${VERSION}-${ARCH}"
COPY ./${ARCH}/*.jar /opt/JDownloader/libs/
# archive extraction uses sevenzipjbinding library
# which is compiled against libstdc++
RUN mkdir -p /opt/JDownloader/ && \
apk add --update libstdc++ ffmpeg && \
apk add wget --virtual .build-deps && \
wget -O /opt/JDownloader/JDownloader.jar "http://installer.jdownloader.org/JDownloader.jar?$RANDOM" && \
chmod +x /opt/JDownloader/JDownloader.jar && \
wget -O /usr/bin/tini "https://github.com/krallin/tini/releases/download/v0.18.0/tini-static-${ARCH}" --no-check-certificate && \
chmod +x /usr/bin/tini && \
chmod 777 /opt/JDownloader/ -R && \
apk del wget --purge .build-deps && \
rm /usr/bin/qemu-*-static
ENV LD_LIBRARY_PATH=/lib;/lib32;/usr/lib
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
COPY daemon.sh /opt/JDownloader/
COPY default-config.json.dist /opt/JDownloader/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json.dist
COPY configure.sh /usr/bin/configure
WORKDIR /opt/JDownloader
CMD ["tini", "--", "/opt/JDownloader/daemon.sh"]
- docker build -t jaymoulin/jdownloader .
- then try recreating your container.
ok chief
it did not work on raspberry pi zero but i did rebuild the image and deploy it on raspberry pi 3 and it worked
But i have a question why are you specifying ARG ARCH=armhf where PI zero is not armhf
Copy/paste typo. This has no impact for you since jdownloader libs are the same for arm32v6 and armhf.
The reason may be an issue with the qemu libs that I use for cross building. I'm glad your issue is resolved
But it is still not working on raspberry pi zero
Still same error message?
yes chief
Does docker run --rm -ti openjdk:jre-alpine sh
works?
We are builiding the image using balena CLI and then we are pushing it to raspberry
I don't get your workflow.
My point is :
- if
docker run --rm -ti openjdk:jre-alpine sh
does not work, then the image downloaded (the base from my image) is incorrect and the issue you're experiencing is related to this base. - if it's working, it may (and it should not work for arm32v6 images) be an issue with tini on you arch, and I can suggest you another
Dockerfile
to work on rpi zero.
Does balena CLI runs on your rpi zero?
I am using BalenaCloud and Git to push build then push the repository on raspberryPI zero
https://www.balena.io/docs/learn/welcome/introduction/
Can you give us another Dockerfile to work on rpi zero
I can't if you don't provide me required informations.
Using git does not push images, it pushes code. I'm suggesting that Balena is building your images somewhere.
If the image is build from another machine, then it's probably not loading the correct base image
Can you try with this Dockerfile
?
FROM openjdk:jre-alpine as builder
ARG ARCH=arm32v6
ARG VERSION="0.6.1"
LABEL maintainer="Jay MOULIN <jaymoulin@gmail.com> <https://twitter.com/MoulinJay>"
LABEL version="${VERSION}-${ARCH}"
COPY ./${ARCH}/*.jar /opt/JDownloader/libs/
# archive extraction uses sevenzipjbinding library
# which is compiled against libstdc++
RUN mkdir -p /opt/JDownloader/ && \
apk add --update libstdc++ ffmpeg && \
apk add wget --virtual .build-deps && \
wget -O /opt/JDownloader/JDownloader.jar "http://installer.jdownloader.org/JDownloader.jar?$RANDOM" && \
chmod +x /opt/JDownloader/JDownloader.jar && \
chmod +x /usr/bin/tini && \
chmod 777 /opt/JDownloader/ -R && \
apk del wget --purge .build-deps && \
rm /usr/bin/qemu-*-static
ENV LD_LIBRARY_PATH=/lib;/lib32;/usr/lib
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
COPY daemon.sh /opt/JDownloader/
COPY default-config.json.dist /opt/JDownloader/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json.dist
COPY configure.sh /usr/bin/configure
WORKDIR /opt/JDownloader
CMD ["/opt/JDownloader/daemon.sh"]
ok cheif
[main] Step 6/15 : COPY ./${ARCH}/*.jar
/opt/JDownloader/libs/`
[main]
No source files were specified`
Sorry, you'll have to put ARG ARCH=armhf
back
I removed arm32v6 and put armhf but the docker didn't compile succesfuly so i figured out they you removed the tini but you forget to remove chmod +x /usr/bin/tini && \
so i removed this code
I did compile but it gives the old error standard_init_linux.go:195: exec user process caused "exec format error"
Did you compile from Balena or from rpi zero?
i compile from my pc and deployed on RPI zero
i will retry on hyperiot
After trying everything on hyperiot and rebuilding both Dockerfiles found above. I find that the first docker with tini command didn't work but the second docker file without tini works perfectly after compiling it on Raspberry zero but with slight modifications
FROM openjdk:jre-alpine as builder
ARG ARCH=armhf
ARG VERSION="0.6.1"
LABEL maintainer="Jay MOULIN <jaymoulin@gmail.com> <https://twitter.com/MoulinJay>"
LABEL version="${VERSION}-${ARCH}"
COPY ./${ARCH}/*.jar /opt/JDownloader/libs/
# archive extraction uses sevenzipjbinding library
# which is compiled against libstdc++
RUN mkdir -p /opt/JDownloader/ && \
apk add --update libstdc++ ffmpeg && \
apk add wget --virtual .build-deps && \
wget -O /opt/JDownloader/JDownloader.jar "http://installer.jdownloader.org/JDownloader.jar?$RANDOM" && \
chmod +x /opt/JDownloader/JDownloader.jar && \
chmod 777 /opt/JDownloader/ -R && \
apk del wget --purge .build-deps
ENV LD_LIBRARY_PATH=/lib;/lib32;/usr/lib
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
COPY daemon.sh /opt/JDownloader/
COPY default-config.json.dist
/opt/JDownloader/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json.dist COPY configure.sh /usr/bin/configure
WORKDIR /opt/JDownloader
CMD ["/opt/JDownloader/daemon.sh"]
Can you finish the process completely and tell me if everything is working as expected (connected on my.jdownloader.com + can download file)?
ok chief but still up to now updating.
hello chief, after long time updating,there is new problem, that is logos:
pi zero jdownloader.txt
Did you follow configuration in README.md
?
no just logos
you talking about this
docker exec jdownloader configure my email my password
i did that also
I know it's armhf based but can you try with this Dockerfile
?
FROM larmog/armhf-alpine-java:jdk-8u73
ARG ARCH=armhf
ARG VERSION="0.6.1"
LABEL maintainer="Jay MOULIN <jaymoulin@gmail.com> <https://twitter.com/MoulinJay>"
LABEL version="${VERSION}-${ARCH}"
COPY ./${ARCH}/*.jar /opt/JDownloader/libs/
# archive extraction uses sevenzipjbinding library
# which is compiled against libstdc++
RUN mkdir -p /opt/JDownloader/ && \
apk add --update libstdc++ ffmpeg && \
apk add wget --virtual .build-deps && \
wget -O /opt/JDownloader/JDownloader.jar "http://installer.jdownloader.org/JDownloader.jar?$RANDOM" && \
chmod +x /opt/JDownloader/JDownloader.jar && \
chmod 777 /opt/JDownloader/ -R && \
apk del wget --purge .build-deps
ENV LD_LIBRARY_PATH=/lib;/lib32;/usr/lib
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
COPY daemon.sh /opt/JDownloader/
COPY default-config.json.dist /opt/JDownloader/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json.dist
COPY configure.sh /usr/bin/configure
WORKDIR /opt/JDownloader
CMD ["/opt/JDownloader/daemon.sh"]
Ok Chief, tomorrow i will do it, Good night.
Bad news. Can you try building this directly from your RPI zero? It will take several hours to compile but I have no other clue/nor way and can't confirm this will compile nor work.
FROM arm32v6/alpine
ARG ARCH=armhf
ARG VERSION="0.6.1"
LABEL maintainer="Jay MOULIN <jaymoulin@gmail.com> <https://twitter.com/MoulinJay>"
LABEL version="${VERSION}-${ARCH}"
ENV JAVA_VERSION=8 \
JAVA_UPDATE=73 \
JAVA_BUILD=02 \
JAVA_HOME="/opt/jdk" \
PATH=$PATH:${PATH}:/opt/jdk/bin
COPY ./${ARCH}/*.jar /opt/JDownloader/libs/
# archive extraction uses sevenzipjbinding library
# which is compiled against libstdc++
RUN wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz &&\
tar -xzf glibc-2.28.tar.gz &&\
cd glibc-2.28 &&\
mkdir glibc-build &&\
cd glibc-build &&\
apk add --no-cache make gcc gawk bison linux-headers libc-dev &&\
../configure --prefix=/usr \
--disable-profile --enable-add-ons \
--libexecdir=/usr/lib --with-headers=/usr/include \
--without-cvs --enable-static-pie &&\
cat > /etc/ld.so.conf << "EOF"\
/usr/local/lib\
/opt/lib\
/usr/lib\
/usr/lib64\
/usr/libexec\
EOF &&\
make &&\
make install &&\
wget -q --header "Cookie: oraclelicense=accept-securebackup-cookie;" "http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION}u${JAVA_UPDATE}-b${JAVA_BUILD}/jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-arm32-vfp-hflt.tar.gz" && \
tar -xzf jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-arm32-vfp-hflt.tar.gz && \
echo "" > /etc/nsswitch.conf && \
mkdir /opt && \
mv jdk1.${JAVA_VERSION}.0_${JAVA_UPDATE} /opt/jdk-${JAVA_VERSION}u${JAVA_UPDATE}-b${JAVA_BUILD} && \
ln -s /opt/jdk-${JAVA_VERSION}u${JAVA_UPDATE}-b${JAVA_BUILD} /opt/jdk && \
ln -s /opt/jdk/jre/bin/java /usr/bin/java && \
/usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib /opt/jdk/lib /opt/jdk/jre/lib /opt/jdk/jre/lib/arm /opt/jdk/jre/lib/arm/jli && \
echo "hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4" >> /etc/nsswitch.conf && \
rm -f glibc-*.apk jdk*.tar.gz /opt/jdk/src.zip && \
rm -rf $JAVA_HOME/jre/bin/jjs \
$JAVA_HOME/jre/bin/keytool \
$JAVA_HOME/jre/bin/orbd \
$JAVA_HOME/jre/bin/pack200 \
$JAVA_HOME/jre/bin/policytool \
$JAVA_HOME/jre/bin/rmid \
$JAVA_HOME/jre/bin/rmiregistry \
$JAVA_HOME/jre/bin/servertool \
$JAVA_HOME/jre/bin/tnameserv \
$JAVA_HOME/jre/bin/unpack200 && \
mkdir -p /opt/JDownloader/ && \
apk add --update libstdc++ ffmpeg && \
apk add wget --virtual .build-deps && \
wget -O /opt/JDownloader/JDownloader.jar "http://installer.jdownloader.org/JDownloader.jar?$RANDOM" && \
chmod +x /opt/JDownloader/JDownloader.jar && \
chmod 777 /opt/JDownloader/ -R && \
apk del wget --purge .build-deps
ENV LD_LIBRARY_PATH=/lib;/lib32;/usr/lib
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
COPY daemon.sh /opt/JDownloader/
COPY default-config.json.dist /opt/JDownloader/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json.dist
COPY configure.sh /usr/bin/configure
WORKDIR /opt/JDownloader
CMD ["/opt/JDownloader/daemon.sh"]
Ok Chief, no problem, i will do it.
Still not giving up but I tried the hardest things past days (for information purpose if anyone comes to this page, I tried compiling glibc on alpine for arm32v6. The compilation seems to work but installation seg faults (core dumped). unable to check tests since test suite tries the linking part (wich segfaults). maybe I'll continue investigating...)
Anyway, can you try this on your rpi zero and tell me if it works : docker run --rm -ti arm32v7/debian:stable-slim echo "works"
what is the purpose of this command what are you trying to accomplish?
If RPI zero can execute arm32v7 arch docker images, it will display "works". If not, you should have one of the defect you already gave
Here is the thing:
RPI zero is only compatible with arm32v6 arch (not armhf/armv7).
JDownloader requires java JDK 8 to work (not openjdk)
Java JDK 8 requires glibc to work (not musl)
I unfortunately was not able (yet) to build + install glibc for arm32v6 which implies all the chain to fail
since jdownloader requires java 8 are there any way to run glibc on arm32v6 and recompile the whole chain?
I unfortunately was not able (yet) to build + install glibc for arm32v6 which implies all the chain to fail
short answer: no
ok no problem Chief, thanks for help us.
should work with jaymoulin/jdownloader:0.7.0-arm32v6