For discussion of Alpine Linux development and developer support

5 3

[alpine-devel] How to Qt 5 packages are built for architecture aarch64 (i.e. Raspberry Pi 3)

Pablo Rogina
Details
Message ID
<CAL5OxRsuCdk1STjkFVko+UDYz5JMGBONpbuP9nbX--w1vHiHZg@mail.gmail.com>
Sender timestamp
1557089399
DKIM signature
missing
Download raw message
Hi,

I like to ask please how the packages Qt5* (i.e. qt5-base [1],
qt5-qtlocation [2]) are built for architecture aarch64, are they build
natively in real Raspberry Pi devices or are they cross-compiled in
some other architecture (i.e. X86_64)?

Best regards,

Pablo J. Rogina

[1] https://pkgs.alpinelinux.org/package/v3.9/community/aarch64/qt5-qtbase
[2] https://pkgs.alpinelinux.org/package/v3.9/community/aarch64/qt5-qtlocation


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Milan P. Stanić
Details
Message ID
<20190505212004.GA31072@arya.arvanta.net>
In-Reply-To
<CAL5OxRsuCdk1STjkFVko+UDYz5JMGBONpbuP9nbX--w1vHiHZg@mail.gmail.com> (view parent)
Sender timestamp
1557091204
DKIM signature
missing
Download raw message
Hi,

On Sun, 2019-05-05 at 17:49, Pablo Rogina wrote:
> I like to ask please how the packages Qt5* (i.e. qt5-base [1],
> qt5-qtlocation [2]) are built for architecture aarch64, are they build
> natively in real Raspberry Pi devices or are they cross-compiled in
> some other architecture (i.e. X86_64)?

Alpine build packages native, i.e. not cross build.
Although it is not RPi3 for aarch64 but some more powerful ARM64
machines.

> [1] https://pkgs.alpinelinux.org/package/v3.9/community/aarch64/qt5-qtbase
> [2] https://pkgs.alpinelinux.org/package/v3.9/community/aarch64/qt5-qtlocation
> 
> 
> ---
> Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
> Help:         alpine-devel+help@lists.alpinelinux.org
> ---
> 


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Pablo Rogina
Details
Message ID
<CAL5OxRvWFXcYbVK2_bub27H7SP1EbhiCms8N+=uoaPDCBMJ+Sw@mail.gmail.com>
In-Reply-To
<20190505212004.GA31072@arya.arvanta.net> (view parent)
Sender timestamp
1557153651
DKIM signature
missing
Download raw message
Hi Milan, thank you for your reply.

> Alpine build packages native, i.e. not cross build.
> Although it is not RPi3 for aarch64 but some more powerful ARM64
> machines.

Given I don't have "more powerful ARM64 machines" at hand:
1. could it be possible to cross-compile those packages under a X86_64
machine using the Linario binary toolchain [1]?
2 do I need to do something special because musl library?

[1] https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Rasmus Thomsen
Details
Message ID
<mxHN1_fEUEEwaUqLMqMvQO_68O9v1Af3lStBLS33Kx5mgLr7406YAqexq6Ps-zi8u_gh991t0Tvhq4yZVUUy5j3bIe0WlBCKO3jeGLm2UaA=@cogitri.dev>
In-Reply-To
<CAL5OxRvWFXcYbVK2_bub27H7SP1EbhiCms8N+=uoaPDCBMJ+Sw@mail.gmail.com> (view parent)
Sender timestamp
1557154535
DKIM signature
missing
Download raw message
Hello,

1.
since crosscompiling isn't really tested on Alpine (nor supported) I can suggest you to instead compile in a virtual machine (via Qemu, you can use the scripts from here if you want to: http://arvanta.net/mps/)
2.
I don't think you can use these since they're most likely linked against glibc. Maybe they'll work with gcompat though.

Regards,

Rasmus Thomsen

-------- Original Message --------
On 6 May 2019, 16:40, Pablo Rogina wrote:

> Hi Milan, thank you for your reply.
>
>> Alpine build packages native, i.e. not cross build.
>> Although it is not RPi3 for aarch64 but some more powerful ARM64
>> machines.
>
> Given I don't have "more powerful ARM64 machines" at hand:
> 1. could it be possible to cross-compile those packages under a X86_64
> machine using the Linario binary toolchain [1]?
> 2 do I need to do something special because musl library?
>
> [1] https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/
>
> ---
> Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org
> Help: alpine-devel+help@lists.alpinelinux.org
> ---
Milan P. Stanić
Details
Message ID
<20190506190548.GA18384@arya.arvanta.net>
In-Reply-To
<CAL5OxRvWFXcYbVK2_bub27H7SP1EbhiCms8N+=uoaPDCBMJ+Sw@mail.gmail.com> (view parent)
Sender timestamp
1557169549
DKIM signature
missing
Download raw message
Hi,

On Mon, 2019-05-06 at 11:40, Pablo Rogina wrote:
> Hi Milan, thank you for your reply.
> > Alpine build packages native, i.e. not cross build.
> > Although it is not RPi3 for aarch64 but some more powerful ARM64
> > machines.
> Given I don't have "more powerful ARM64 machines" at hand:
> 1. could it be possible to cross-compile those packages under a X86_64
> machine using the Linario binary toolchain [1]?
> 2 do I need to do something special because musl library?
> 
> [1] https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/

Sorry if was not more clear answering your question. I thought you ask
how Alpine builds packages.

Of course, you can build them on RPi3 or other smaller boxes and (as
Rasmus wrote in response to you) under qemu.
Personally I built a lot of them on small ARM SBC's with 1GB RAM, one or
two CPU's and filesystem on SD cards. For smaller packages it works fine
although not fine as on big boxes.

Big packages require more RAM and some tweaks. For example I've built
llvm, rust lang, crystal lang, firefox and some other on ARM64 with 4GB
RAM with help form zram swap and stopping all other processes (Xwin and
similar) and build set to just one job (i.e. not paralel, 'make -j1').
It is slow for such big packages but it works, and slowness is mostly
becuase filesystem is on SD cards. I tried also with SSD attached over
USB-C and then it is somewhat faster.

Now I have both arm machines (arm32 and arm64) with 4GB and eMMC cards
so it is easier for me, but remember when I built most of them under
qemu.

-- 
regards


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Pablo Rogina
Details
Message ID
<CAL5OxRsPov69YW398joZ7AJJmpf_-PTxM1NFBFUO3+sLuQ2LAg@mail.gmail.com>
In-Reply-To
<20190506190548.GA18384@arya.arvanta.net> (view parent)
Sender timestamp
1558101522
DKIM signature
missing
Download raw message
Guys, thank you very much for the tips and details about packages
building approach for RPi devices.

I'm not sure I have enough spare time but I might give the qemu based
scenario a try.

Regards. Pablo

On Mon, May 6, 2019 at 4:06 PM Milan P. Stanić <mps@arvanta.net> wrote:
>
> Hi,
>
> On Mon, 2019-05-06 at 11:40, Pablo Rogina wrote:
> > Hi Milan, thank you for your reply.
> > > Alpine build packages native, i.e. not cross build.
> > > Although it is not RPi3 for aarch64 but some more powerful ARM64
> > > machines.
> > Given I don't have "more powerful ARM64 machines" at hand:
> > 1. could it be possible to cross-compile those packages under a X86_64
> > machine using the Linario binary toolchain [1]?
> > 2 do I need to do something special because musl library?
> >
> > [1] https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/
>
> Sorry if was not more clear answering your question. I thought you ask
> how Alpine builds packages.
>
> Of course, you can build them on RPi3 or other smaller boxes and (as
> Rasmus wrote in response to you) under qemu.
> Personally I built a lot of them on small ARM SBC's with 1GB RAM, one or
> two CPU's and filesystem on SD cards. For smaller packages it works fine
> although not fine as on big boxes.
>
> Big packages require more RAM and some tweaks. For example I've built
> llvm, rust lang, crystal lang, firefox and some other on ARM64 with 4GB
> RAM with help form zram swap and stopping all other processes (Xwin and
> similar) and build set to just one job (i.e. not paralel, 'make -j1').
> It is slow for such big packages but it works, and slowness is mostly
> becuase filesystem is on SD cards. I tried also with SSD attached over
> USB-C and then it is somewhat faster.
>
> Now I have both arm machines (arm32 and arm64) with 4GB and eMMC cards
> so it is easier for me, but remember when I built most of them under
> qemu.
>
> --
> regards
>
>
> ---
> Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
> Help:         alpine-devel+help@lists.alpinelinux.org
> ---
>


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---