Open Nadav-Ruskin opened 6 years ago
Use a PI3 or Scaleway as a build machine might be less frustrating? ;)
Is this a dead no? That's sad. I can cross compile and pack C++ but not Python? That just sounds wrong!
My company has access to AWS, and I've already configured it to play nice with Jenkins and whatnot. I'm trying to add as few elements to this development-deployment system as possible.
I'd like to report success using qemu. I've installed the qemu-user-static
and binfmt-support
packages, and use the following dockerfile:
FROM arm32v7/debian:latest
RUN apt-get update ; apt-get -y upgrade ; apt-get update
RUN apt-get -y install python3 sudo debhelper dh-virtualenv dpkg-dev python3-venv
It only seems to work sometimes however. I read that qemu is buggy so maybe I'm not doing anything wrong, it seems to fail every few tries...
The resulting package works 100% fine, however.
I'd like to keep this issue open until I get a definitive answer from dh-vertualenv's owner.
@nailor the above seems like a worthwhile addition to the docs.
@Nadav-Ruskin without a log of the 'sometimes' failures it is hard to say why. network issues (to the repos) can play a role, too (which is why increasing apt timeouts in dockerfiles is not a shabby idea).
I didn't expand on it because I haven't researched it fully yet. I'll report further conclusions later. I might even find a different solution.
Adding this to the docs sounds really neat idea! Anyone up for crafting a PR for some Tips&Tricks on cross-arch builds?
I'm also in the boat of intermittent failures being due to qemu/docker/something else. Probably can be sorted out with more digging, but at least I've had all kinds of fun with qemu back in the days..
On the topic of tips & tricks, do we have "official" docs on excluding manylinux1
stuff and so on? That I could do…
Also, I'll likely add "build package in container" to the above project soon, so I can build Stretch on my Ubuntu workstation.
Speaking of docs, want
https://speakerdeck.com/jhermann/devops-karlsruhe-meetup-2018-02-20
added as a link to the README?
Nice presentation! Yeah, there could be some sort of 'In the wild' section. I got a talk or two to add there too 👍
And while it, no, we have not touched the manylinux1
stuff at all and I bet people have similar battles as you do
See above issue link. I'll leave the README to you.
Haven't looked further into qemu problems yet, but I did make a public example version of my project: https://github.com/Nadav-Ruskin/configsite
I feel like it has value to people wanting to use dh-virtualenv
, please consider adding a link to it in the readme or wiki.
Is this working? I tried the minimal Dockerfile posted above and I got cryptic error:
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM arm32v7/debian:latest
---> a0f4bfa9bc90
Step 2/3 : RUN apt-get update ; apt-get -y upgrade ; apt-get update
---> Running in 611a17fa8ff7
standard_init_linux.go:211: exec user process caused "no such file or directory"
The command '/bin/sh -c apt-get update ; apt-get -y upgrade ; apt-get update' returned a non-zero code: 1
Have anybody dealt with this and has a recipe to do cross compile with dh-virtualenv at least for the following architectures i386, amd64 and arm? thank you!
hi, for those who ended up here and frustrated. I managed to create a Debian package using this Dockerfile on a Windows machine:
FROM arm64v8/ubuntu:18.04
RUN apt update
RUN apt install -y \
build-essential \
debhelper \
devscripts \
equivs \
python \
python3.6 \
python3-venv \
python3.6-dev \
dh-virtualenv
...
Does dh-virtualenv support cross packing at all? I find myself stuck in a loop here, using an amd64 Debian Stretch docker container:
python:armhf
overridesdh-virtualenv
and vice versa! What should I do? Should I tryqemu
?