qt-build icon indicating copy to clipboard operation
qt-build copied to clipboard

Provide qt-build images for raspberry pi

Open jamesee opened this issue 6 years ago • 3 comments

Hi darkmattercoder

I came across qt-build and would like to use it for raspberry pi (armf)

Have you build qt-build docker for raspberry?

James

jamesee avatar Oct 16 '19 05:10 jamesee

I thought about providing arm images several times but simply have had no time so far to dig into it. It should be not that hard because I also build several arm toolchain crosscompiled qt images at work.

Unfortunately, I do not expect to get this done quickly because of the lack of spare time. However I would appreciate help with that.

darkmattercoder avatar Oct 16 '19 13:10 darkmattercoder

Hi darkmattercoder

What kind of help you need? I am willing to try if you are able to provide guidance/instructions. I have some basic knowledge of docker and had tried to install Qt 5.12 on raspi before.

jamesee avatar Oct 16 '19 16:10 jamesee

Well, since the images should be portable, I think the way to go is to target cross compilation. This typically involves installing the appropriate toolchain and configure everything accordingly.

I can't give exact instructions, but I would try those or similar steps:

  1. fork the repo
  2. copy the dockerfile and name the copy Dockerfile.raspiX (or Dockerfile.armhf, I do not know if a special toolchain is required for raspi or if a standard one will work)
  3. Install the selected toolchain inside the image
  4. Now I would first try to build the image up to that point, start it and compile a simple basic c++ binary, that you can use to confirm that the toolchain produced a suitable binary for the target system
  5. If successful, try to compile a relatively new qt (e.g. 5.12.4 or whatever is stable at that time) by hand (mounted volumes), to see whether the build process passes successfully.
  6. If successful, try the same during the build process of the dockerfile with the configure file modified accordingly.
  7. build the tests
  8. run the tests on a raspi to verify
  9. figure out a way to run the tests in travis infrastructure on an appropriate architecture (probably tricky, but they provide beta alpha arm runners since 10/2019 https://blog.travis-ci.com/2019-10-07-multi-cpu-architecture-support)
  10. Put everything together and see how the ci performs.
  11. Adjust where necessary
  12. Cross fingers

--> probably a lot of files in the repo will change during the process, so probably we should consider using a dedicated arm/raspi branch for this (?) 8.

darkmattercoder avatar Oct 22 '19 21:10 darkmattercoder