kmscon icon indicating copy to clipboard operation
kmscon copied to clipboard

Unifont data grew from 2MiB to 33MiB

Open Vogtinator opened this issue 10 months ago • 0 comments

Since "chore: update Unifont hex data to 16.0.01", the unifont data grew more than 10x, causing builds to run out of memory because the generated .c source is >200MiB!

[3/12] cc -Isrc/mod-unifont.so.p -Isrc -I../src -Iexternal -I../external -I/usr/include/libxkbcommon -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=gnu99 -O2 -g -ffast-math -fno-strict-aliasing -ffunction-sections -fdata-sections -fstack-protector -fvisibility=hidden -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L -include /kmscon/build/config.h -fPIC -MD -MQ src/mod-unifont.so.p/meson-generated_font_unifont_data.bin.c.o -MF src/mod-unifont.so.p/meson-generated_font_unifont_data.bin.c.o.d -o src/mod-unifont.so.p/meson-generated_font_unifont_data.bin.c.o -c src/mod-unifont.so.p/font_unifont_data.bin.c
FAILED: src/mod-unifont.so.p/meson-generated_font_unifont_data.bin.c.o 
cc -Isrc/mod-unifont.so.p -Isrc -I../src -Iexternal -I../external -I/usr/include/libxkbcommon -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=gnu99 -O2 -g -ffast-math -fno-strict-aliasing -ffunction-sections -fdata-sections -fstack-protector -fvisibility=hidden -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L -include /kmscon/build/config.h -fPIC -MD -MQ src/mod-unifont.so.p/meson-generated_font_unifont_data.bin.c.o -MF src/mod-unifont.so.p/meson-generated_font_unifont_data.bin.c.o.d -o src/mod-unifont.so.p/meson-generated_font_unifont_data.bin.c.o -c src/mod-unifont.so.p/font_unifont_data.bin.c

cc1: out of memory allocating 268435436 bytes after a total of 163532800 bytes
ninja: build stopped: subcommand failed.
90bfd7965820:/kmscon/build # ll -h src/mod-unifont.so.p/font_unifont_data.bin.c
-rw-r--r-- 1 root root 207M Feb 27 12:38 src/mod-unifont.so.p/font_unifont_data.bin.c
90bfd7965820:/kmscon/build # ll -h src/font_unifont_data
-rw-r--r-- 1 root root 33M Feb 27 12:38 src/font_unifont_data

With "chore: update Unifont hex data to 16.0.01" reverted:

90bfd7965820:/kmscon/build # ll -h src/mod-unifont.so.p/font_unifont_data.bin.c
-rw-r--r-- 1 root root 13M Feb 27 12:42 src/mod-unifont.so.p/font_unifont_data.bin.c
90bfd7965820:/kmscon/build # ll -h src/font_unifont_data
-rw-r--r-- 1 root root 2.1M Feb 27 12:32 src/font_unifont_data

FWICT previously unifont only went up to 0xFFFF, i.e. the BMP (Plane 0) only, while the included .hex file now includes all of unifont.

Vogtinator avatar Feb 27 '25 12:02 Vogtinator