public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
* Cross compiling ARM on X86 system
@ 2025-10-13 15:48 ummeegge
  2025-10-16 16:19 ` Michael Tremer
  0 siblings, 1 reply; 3+ messages in thread
From: ummeegge @ 2025-10-13 15:48 UTC (permalink / raw)
  To: development

Hi all,

I'm trying to cross-compile IPFire for aarch64 on an HP ProDesk running
Kali Linux. As a first step, I installed qemu-user-static and binfmt-
support to enable ARM binary execution during the build process.

When running sudo ./make.sh --target=aarch64 build, the build proceeds
successfully through stage1 and binutils:

`Full toolchain compilation
stage1                                                                
[        0 ][ DONE ]
binutils (2.45) PASS=1                                                
[     1:36 ][ DONE ]`

However, it fails during the zlib-ng build with the following error:

`zlib-ng-2.2.5.tar.gz checksum OK
====================================== Installing zlib-ng-2.2.5 ...
# Build the regular version
cd /home/ummeegge/development/dev-aarch/ipfire-
2.x/build_aarch64/usr/src/zlib-ng-2.2.5 && mkdir -pv build
mkdir: created directory 'build'
cd /home/ummeegge/development/dev-aarch/ipfire-
2.x/build_aarch64/usr/src/zlib-ng-2.2.5/build && ../configure \
				--prefix=/tools_aarch64
Checking for compiler... cc
Checking for Symbol versioning... Yes.
Compiler error reporting is too harsh for ../configure (perhaps remove
-Werror).
** ../configure aborting.
make: *** [zlib-ng:80: /home/ummeegge/development/dev-aarch/ipfire-
2.x/log_aarch64/zlib-ng-2.2.5-tools] Error 1
make: Leaving directory '/home/ummeegge/development/dev-aarch/ipfire-
2.x/lfs'`

Could this be related to a compatibility issue between the new
toolchain and zlib-ng 2.2.5? Or is it possibly a misconfiguration in
the cross-compilation environment?

Any hints or suggestions would be greatly appreciated.

Best

Erik


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Cross compiling ARM on X86 system
  2025-10-13 15:48 Cross compiling ARM on X86 system ummeegge
@ 2025-10-16 16:19 ` Michael Tremer
  2025-10-17  9:44   ` ummeegge
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Tremer @ 2025-10-16 16:19 UTC (permalink / raw)
  To: ummeegge; +Cc: development

Hello Erik,

> On 13 Oct 2025, at 16:48, ummeegge <ummeegge@ipfire.org> wrote:
> 
> Hi all,
> 
> I'm trying to cross-compile IPFire for aarch64 on an HP ProDesk running
> Kali Linux. As a first step, I installed qemu-user-static and binfmt-
> support to enable ARM binary execution during the build process.

Yes, those are packages that you will need.

> When running sudo ./make.sh --target=aarch64 build, the build proceeds
> successfully through stage1 and binutils:
> 
> `Full toolchain compilation
> stage1                                                                
> [        0 ][ DONE ]
> binutils (2.45) PASS=1                                                
> [     1:36 ][ DONE ]`
> 
> However, it fails during the zlib-ng build with the following error:
> 
> `zlib-ng-2.2.5.tar.gz checksum OK
> ====================================== Installing zlib-ng-2.2.5 ...
> # Build the regular version
> cd /home/ummeegge/development/dev-aarch/ipfire-
> 2.x/build_aarch64/usr/src/zlib-ng-2.2.5 && mkdir -pv build
> mkdir: created directory 'build'
> cd /home/ummeegge/development/dev-aarch/ipfire-
> 2.x/build_aarch64/usr/src/zlib-ng-2.2.5/build && ../configure \
> --prefix=/tools_aarch64
> Checking for compiler... cc
> Checking for Symbol versioning... Yes.
> Compiler error reporting is too harsh for ../configure (perhaps remove
> -Werror).
> ** ../configure aborting.
> make: *** [zlib-ng:80: /home/ummeegge/development/dev-aarch/ipfire-
> 2.x/log_aarch64/zlib-ng-2.2.5-tools] Error 1
> make: Leaving directory '/home/ummeegge/development/dev-aarch/ipfire-
> 2.x/lfs'`
> 
> Could this be related to a compatibility issue between the new
> toolchain and zlib-ng 2.2.5? Or is it possibly a misconfiguration in
> the cross-compilation environment?

I would recommend to download the toolchain unless you really have to re-compile it. Cross-compiling with an emulator is not that easy and I suppose some extra things (maybe a static version of libc of the host system) would be required.

I suggest to run:

  ./make.sh —-target=aarch64 gettoolchain
  ./make.sh —-target=aarch64 clean

And then restart the build as usual with:

  ./make.sh —-target=aarch64 build

> Any hints or suggestions would be greatly appreciated.
> 
> Best
> 
> Erik
> 



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Cross compiling ARM on X86 system
  2025-10-16 16:19 ` Michael Tremer
@ 2025-10-17  9:44   ` ummeegge
  0 siblings, 0 replies; 3+ messages in thread
From: ummeegge @ 2025-10-17  9:44 UTC (permalink / raw)
  To: Michael Tremer; +Cc: development

Hello Michael,
thanks for the information. Am using now the precompiled toolchain and
it simply works :D .

All the best,

Erik

Am Donnerstag, dem 16.10.2025 um 17:19 +0100 schrieb Michael Tremer:
> Hello Erik,
> 
> > On 13 Oct 2025, at 16:48, ummeegge <ummeegge@ipfire.org> wrote:
> > 
> > Hi all,
> > 
> > I'm trying to cross-compile IPFire for aarch64 on an HP ProDesk
> > running
> > Kali Linux. As a first step, I installed qemu-user-static and
> > binfmt-
> > support to enable ARM binary execution during the build process.
> 
> Yes, those are packages that you will need.
> 
> > When running sudo ./make.sh --target=aarch64 build, the build
> > proceeds
> > successfully through stage1 and binutils:
> > 
> > `Full toolchain compilation
> > stage1                                                             
> >    
> > [        0 ][ DONE ]
> > binutils (2.45)
> > PASS=1                                                
> > [     1:36 ][ DONE ]`
> > 
> > However, it fails during the zlib-ng build with the following
> > error:
> > 
> > `zlib-ng-2.2.5.tar.gz checksum OK
> > ====================================== Installing zlib-ng-2.2.5 ...
> > # Build the regular version
> > cd /home/ummeegge/development/dev-aarch/ipfire-
> > 2.x/build_aarch64/usr/src/zlib-ng-2.2.5 && mkdir -pv build
> > mkdir: created directory 'build'
> > cd /home/ummeegge/development/dev-aarch/ipfire-
> > 2.x/build_aarch64/usr/src/zlib-ng-2.2.5/build && ../configure \
> > --prefix=/tools_aarch64
> > Checking for compiler... cc
> > Checking for Symbol versioning... Yes.
> > Compiler error reporting is too harsh for ../configure (perhaps
> > remove
> > -Werror).
> > ** ../configure aborting.
> > make: *** [zlib-ng:80: /home/ummeegge/development/dev-aarch/ipfire-
> > 2.x/log_aarch64/zlib-ng-2.2.5-tools] Error 1
> > make: Leaving directory '/home/ummeegge/development/dev-
> > aarch/ipfire-
> > 2.x/lfs'`
> > 
> > Could this be related to a compatibility issue between the new
> > toolchain and zlib-ng 2.2.5? Or is it possibly a misconfiguration
> > in
> > the cross-compilation environment?
> 
> I would recommend to download the toolchain unless you really have to
> re-compile it. Cross-compiling with an emulator is not that easy and
> I suppose some extra things (maybe a static version of libc of the
> host system) would be required.
> 
> I suggest to run:
> 
>   ./make.sh —-target=aarch64 gettoolchain
>   ./make.sh —-target=aarch64 clean
> 
> And then restart the build as usual with:
> 
>   ./make.sh —-target=aarch64 build
> 
> > Any hints or suggestions would be greatly appreciated.
> > 
> > Best
> > 
> > Erik
> > 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-10-17  9:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-13 15:48 Cross compiling ARM on X86 system ummeegge
2025-10-16 16:19 ` Michael Tremer
2025-10-17  9:44   ` ummeegge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox