Closed Sirfanas closed 4 years ago
This sound like #1095 but I can't fix this. I already try to install libssl-dev and pyopenssl in the Dockerfile but nothing change I also try to remove every data and restart compilation but doesn't fix it
Nice if you have a Dockerfile that reproduce your issue, please share it
yes, just take the current master file:
# Dockerfile for providing buildozer
#
# Build with:
# docker build --tag=kivy/buildozer .
#
# In order to give the container access to your current working directory
# it must be mounted using the --volume option.
# Run with (e.g. `buildozer --version`):
# docker run \
# --volume "$HOME/.buildozer":/home/user/.buildozer \
# --volume "$PWD":/home/user/hostcwd \
# kivy/buildozer --version
#
# Or for interactive shell:
# docker run --interactive --tty --rm \
# --volume "$HOME/.buildozer":/home/user/.buildozer \
# --volume "$PWD":/home/user/hostcwd \
# --entrypoint /bin/bash \
# kivy/buildozer
#
# If you get a `PermissionError` on `/home/user/.buildozer/cache`,
# try updating the permissions from the host with:
# sudo chown $USER -R ~/.buildozer
# Or simply recreate the directory from the host with:
# rm -rf ~/.buildozer && mkdir ~/.buildozer
FROM ubuntu:18.04
ENV USER="user"
ENV HOME_DIR="/home/${USER}"
ENV WORK_DIR="${HOME_DIR}/hostcwd" \
SRC_DIR="${HOME_DIR}/src" \
PATH="${HOME_DIR}/.local/bin:${PATH}"
# configures locale
RUN apt update -qq > /dev/null && \
apt install -qq --yes --no-install-recommends \
locales && \
locale-gen en_US.UTF-8
ENV LANG="en_US.UTF-8" \
LANGUAGE="en_US.UTF-8" \
LC_ALL="en_US.UTF-8"
# system requirements to build most of the recipes
RUN apt install -qq --yes --no-install-recommends \
autoconf \
automake \
build-essential \
ccache \
cmake \
gettext \
git \
libffi-dev \
libltdl-dev \
libtool \
openjdk-8-jdk \
patch \
pkg-config \
python2.7 \
python3-pip \
python3-setuptools \
sudo \
unzip \
zip \
zlib1g-dev
# prepares non root env
RUN useradd --create-home --shell /bin/bash ${USER}
# with sudo access and no password
RUN usermod -append --groups sudo ${USER}
RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
USER ${USER}
WORKDIR ${WORK_DIR}
COPY --chown=user:user . ${SRC_DIR}
# installs buildozer and dependencies
RUN pip3 install --user --upgrade Cython==0.28.6 wheel pip virtualenv ${SRC_DIR}
ENTRYPOINT ["buildozer"]
Here's my custom one with libssl-dev and pyopenssl (not working too)
# Dockerfile for providing buildozer
#
# Build with:
# docker build --tag=kivy/buildozer .
#
# In order to give the container access to your current working directory
# it must be mounted using the --volume option.
# Run with (e.g. `buildozer --version`):
# docker run \
# --volume "$HOME/.buildozer":/home/user/.buildozer \
# --volume "$PWD":/home/user/hostcwd \
# kivy/buildozer --version
#
# Or for interactive shell:
# docker run --interactive --tty --rm \
# --volume "$HOME/.buildozer":/home/user/.buildozer \
# --volume "$PWD":/home/user/hostcwd \
# --entrypoint /bin/bash \
# kivy/buildozer
#
# If you get a `PermissionError` on `/home/user/.buildozer/cache`,
# try updating the permissions from the host with:
# sudo chown $USER -R ~/.buildozer
# Or simply recreate the directory from the host with:
# rm -rf ~/.buildozer && mkdir ~/.buildozer
FROM ubuntu:18.04
ENV USER="user"
ENV HOME_DIR="/home/${USER}"
ENV WORK_DIR="${HOME_DIR}/hostcwd" \
SRC_DIR="${HOME_DIR}/src" \
PATH="${HOME_DIR}/.local/bin:${PATH}"
# configures locale
RUN apt update -qq > /dev/null && \
apt install -qq --yes --no-install-recommends \
locales && \
locale-gen en_US.UTF-8
ENV LANG="en_US.UTF-8" \
LANGUAGE="en_US.UTF-8" \
LC_ALL="en_US.UTF-8"
# system requirements to build most of the recipes
RUN apt install -qq --yes --no-install-recommends \
autoconf \
automake \
build-essential \
ccache \
cmake \
gettext \
git \
libssl-dev \
libffi-dev \
libltdl-dev \
libtool \
openjdk-8-jdk \
patch \
pkg-config \
python2.7 \
python3-pip \
python3-setuptools \
sudo \
unzip \
zip \
zlib1g-dev
# prepares non root env
RUN useradd --create-home --shell /bin/bash ${USER}
# with sudo access and no password
RUN usermod -append --groups sudo ${USER}
RUN echo "%sudo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
USER ${USER}
WORKDIR ${WORK_DIR}
COPY --chown=user:user . ${SRC_DIR}
# installs buildozer and dependencies
RUN pip3 install --user --upgrade Cython==0.28.6 wheel pip virtualenv pyopenssl ${SRC_DIR}
ENTRYPOINT ["buildozer"]
Good news I would say as I was able to reproduce too with that Dockerfile
:+1:
It must be another dependency that we miss. That's new actually, I will look into it later then.
Edit 1:
Actually yes this is expected as our docker image didn't have libssl-dev
indeed. We don't fully integration test on this one because it takes too long and it's already done on p4a side.
Anyway I'll give it a try on clean build with this dependency.
In the meantime please share your hostpython3 configure log: .buildozer/android/platform/build-*/build/other_builds/hostpython3/desktop/hostpython3/native-build/config.log
I confirm it's working by simply adding libssl-dev
and doing a buildozer android clean
before rebuilding again after. I could verify that one the Dockerfile just adding libssl-dev
. I'll pull request to add that dependency by default.
Something didn't go well with your clean
command probably. Please share the logs I mentioned above
Ok, I found what's wrong:
Adding libssl-dev
did work
But as you said, my clean
command didn't work well, I was missing some deps, I already made an issue at #1097 and I add a PR #1098
So after adding both libssl-dev
and requirements I add in the #1098 this works great ! :tada:
Let you close this with a libssl-dev
PR so ?
Yes exactly, I have the code for the PR ready, but I also wanted to integration test on top. Thing is it would conflict with another one of my PR. So I was waiting to submit it. But yes fuck it I'll do the PR at least partly
Hi andre, I have the same issue. Where can I find the dockerfile
Versions
Description
Just try to compile HelloWorld Kivy app
buildozer.spec
Command:
Spec file:
Logs