Bug 268021 - Many port builds run out of memory on armv7
Summary: Many port builds run out of memory on armv7
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-toolchain (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-27 21:31 UTC by Yuri Victorovich
Modified: 2022-11-28 00:50 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Antoine Brodin freebsd_committer freebsd_triage 2022-11-27 21:44:14 UTC
The builders for armv7 have plenty of ram.

I believe that the problem is that those ports often do not build fine for 32bits architectures.

pkgmgr can not help here.
Comment 2 Yuri Victorovich freebsd_committer freebsd_triage 2022-11-27 21:59:31 UTC
This must be a toolchain (clang) problem because a dozen different ports all fail with out of memory error on only armv7.
Comment 3 Mark Millard 2022-11-28 00:32:06 UTC
(In reply to Yuri Victorovich from comment #2)

I’m not aware of clang or gcc requiring all builds to work
inside the likes of “only” around 2 GiByte or 3 GiByte
process size limitations.

Aarch64 machines that can execute armv7/aarch32 code in the
likes of a chroot can have smaller process size limits than
some non-aarch64 armv7 machines do in native FreeBSD use.

None of the FreeBSD buildservers are such 32-bit only armv7
machines.
Comment 4 Mark Millard 2022-11-28 00:38:16 UTC
(In reply to Mark Millard from comment #3)

Going in the other direction, far less builds under
qemu on amd64 or the like so the current status is a
big, fairly recent, improvement to the armv7/v6 port
builds.
Comment 5 Mark Millard 2022-11-28 00:50:55 UTC
(In reply to Mark Millard from comment #4)

I should not have mentioned armv6. Those still are qemu based.

FreeBSD does not support armv6 chroots or the like on aarch64
that can do such, at least without modification of some FreeBSD
source code. The simple way to enable armv6 disables armv7.
Allowing both would be a bigger change.

(I once helped someone make a kernel that supported armv6 instead
of armv7 on the aarch64 system. Swapping kernel boot choices
allowed swapping between the 2 kinds of support.)