Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
/kde-frameworks/breeze-icons fails to compile
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
javeree
Guru
Guru


Joined: 29 Jan 2006
Posts: 458

PostPosted: Thu Feb 27, 2025 2:57 pm    Post subject: /kde-frameworks/breeze-icons fails to compile Reply with quote

I'm trying to
emerge -1u kde-frameworks/breeze-icons (as lxqt-meta needs it), and everytime I get an error

Code:
FAILED: src/lib/CMakeFiles/KF6BreezeIcons.dir/qrc_breeze-icons.cpp.o
/usr/bin/i686-pc-linux-gnu-g++ -DKF6BreezeIcons_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_KEYWORDS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_URL_CAST_FROM_STRING -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/var/tmp/portage/kde-frameworks/breeze-icons-6.10.0/work/breeze-icons-6.10.0_build/src/lib -I/var/tmp/portage/kde-frameworks/breeze-icons-6.10.0/work/breeze-icons-6.10.0/src/lib -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isystem /usr/lib/qt6/mkspecs/linux-g++ -O2 -pipe -march=bonnell -mmmx -msse -msse2 -msse3 -mssse3 -msahf -mmovbe -mfxsr --param l1-cache-size=24 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=bonnell -D_FILE_OFFSET_BITS=64 -O2 -pipe -march=bonnell -mmmx -msse -msse2 -msse3 -mssse3 -msahf -mmovbe -mfxsr --param l1-cache-size=24 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=bonnell -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Werror=undef -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -pedantic -Wzero-as-null-pointer-constant -Wmissing-include-dirs -fdiagnostics-color=always -std=c++20 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -MD -MT src/lib/CMakeFiles/KF6BreezeIcons.dir/qrc_breeze-icons.cpp.o -MF src/lib/CMakeFiles/KF6BreezeIcons.dir/qrc_breeze-icons.cpp.o.d -o src/lib/CMakeFiles/KF6BreezeIcons.dir/qrc_breeze-icons.cpp.o -c /var/tmp/portage/kde-frameworks/breeze-icons-6.10.0/work/breeze-icons-6.10.0_build/src/lib/qrc_breeze-icons.cpp
virtual memory exhausted: Cannot allocate memory
ninja: build stopped: subcommand failed.




I don't get how I would not have enough virtual memory given that:
Code:
# swapon
NAME                                                       TYPE        SIZE   USED PRIO
/mnt/Windows/swapfile                                      file      224.6M 222.2M   10
/dev/sdc6                                                  partition   2.1G 262.8M    0
/mnt/hd/3da8d1d7-b223-41e2-866b-7904ef021e7f-ext4/swapfile file         32G 105.5M    5
# free -h
               total        used        free      shared  buff/cache   available
Mem:           1.9Gi       375Mi       1.6Gi       9.8Mi       132Mi       1.5Gi
Swap:           34Gi       590Mi        33Gi


Any suggestion what could be done here ?


Further information:

emerge --info: https://pastebin.com/1W3G0kSx
cat /var/tmp/portage/kde-frameworks/breeze-icons-6.10.0/temp/build.log: https://pastebin.com/ng3f3psk

Mod edit: [code] tags added for clarity. — JRG
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54957
Location: 56N 3W

PostPosted: Sat Mar 01, 2025 11:31 am    Post subject: Reply with quote

javeree,

Not all virtual memory space is equal. Sometimes only real physical RAM will do.
Code:
MAKEOPTS="-j2 -l2"


Some make jobs need 2G or occasionally more real RAM and you only have 2G.

For big jobs, use
Code:
MAKEOPTS="-j1"
You can set MAKEOPTS on a per package basis. It's evet an example on the Wiki
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2192

PostPosted: Sat Mar 01, 2025 11:50 am    Post subject: Reply with quote

No, I think it genuinely exceeds the limit on 32-bit systems because of the size of the icons.
Back to top
View user's profile Send private message
javeree
Guru
Guru


Joined: 29 Jan 2006
Posts: 458

PostPosted: Mon Mar 03, 2025 12:41 pm    Post subject: Reply with quote

Indeed, I tried it with MAKEOPTS="-j1" and it failed in the same way.
However, I am quite surprised that 'the size of the icons' can cause such an issue. I am probably naive, but I would assume this package mainly installs a bunch of icon files, and that individual icons are not that big that they would require several 100Mb. So I assume that would mean the build for some reason tries to load all icons simultaneously in memory (to do what ?).
Of all packages, an icon package would be the last one I expect to fail.

I guess I'll have to cheat and either work with emerge --provided, or create a custom ebuild that doesn't depend on breeze-icons and try to select a different icon set manually.
Back to top
View user's profile Send private message
Ralphred
l33t
l33t


Joined: 31 Dec 2013
Posts: 740

PostPosted: Mon Mar 03, 2025 5:01 pm    Post subject: Reply with quote

How would one go about compiling this for javeree with a view to publishing a gpkg binary for him?
I have a script to build for different --march= that outputs, for example, this
Code:
USE="-test" CFLAGS="-march=sandybridge -O2 -pipe" CXXFLAGS="-march=sandybridge -O2 -pipe" FCFLAGS="-march=sandybridge -O2 -pipe" FFLAGS="-march=sandybridge -O2 -pipe" PKGDIR="/var/cache/binpkgs/laptop" emerge -B -v =kde-frameworks/breeze-icons-6.10.0:6/6.10::gentoo
Can I just update it to match javeree's config and include CHOST= on the command line, or do I need to use crossdev to do it properly?
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2192

PostPosted: Mon Mar 03, 2025 6:18 pm    Post subject: Reply with quote

javeree wrote:
Indeed, I tried it with MAKEOPTS="-j1" and it failed in the same way.
However, I am quite surprised that 'the size of the icons' can cause such an issue. I am probably naive, but I would assume this package mainly installs a bunch of icon files, and that individual icons are not that big that they would require several 100Mb. So I assume that would mean the build for some reason tries to load all icons simultaneously in memory (to do what ?).
Of all packages, an icon package would be the last one I expect to fail.

I guess I'll have to cheat and either work with emerge --provided, or create a custom ebuild that doesn't depend on breeze-icons and try to select a different icon set manually.


C before C23 and C++ before C++26 don't support 'embed' which means projects use various hacks to embed data in binaries. If you file a Gentoo bug (and ideally an upstream one too), we can see if anyone has ideas.
Back to top
View user's profile Send private message
javeree
Guru
Guru


Joined: 29 Jan 2006
Posts: 458

PostPosted: Mon Mar 03, 2025 9:34 pm    Post subject: Reply with quote

I understand from your comments that these icons are not just a set of files, but a set of files embedded in a binary, so that's why it is needed to be this big. I do have the option to compile on a different machine with more memory/muuuuch better cpu. Just need to get at it and check what is currently on it (it had gentoo in the past but that may have been removed).
Regardless, I have all the packages I need, as I just removed lxqt-meta and compiled the separate lxqt packages instead. In that way I don't have the dependency.

Thanks anyway for enlightenment.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum