Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
endintgg my make.conf
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
c2
n00b
n00b


Joined: 14 Mar 2025
Posts: 37

PostPosted: Fri May 16, 2025 4:47 pm    Post subject: endintgg my make.conf Reply with quote

hello so i just feel like i've done alot of weird stuff on my make.conf file and i wanted a santity check.
i know alot of flags for use are reduntant ebecuase of the system profile

Code:

c2@gentoobtw ~ $ cat /etc/portage/make.conf
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.

COMMON_FLAGS="-march=native -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
ACCEPT_LICENSE="*"
#RUSTFLAGS="-C opt-level=3"
 
LC_MESSAGES=C.utf8
MAKEOPTS="-j30 -l30"
EMERGE_DEFAULT_OPTS="--jobs 30 --load-average=30"

VIDEO_CARDS=" amdgpu radeonsi"
ABI_X86="64 32"

USE="dist-kernel initramfs udisks encode lm-sensors plasma qt6 vaapi discord vulkan wayland alsa pipewire systemd aom dav1d svt-av1 vpx x264 x265 fdk-aac libmp3lame libvorbis libopus ffmpeg -gtk -gnome  qt vlc aac faad fdk mp4 -openrc systemd-boot rocm -cuda openmp kde hip colord osmesa hdr hip amr amrenc lame openmpt flac speex zimg shaderc snappy jack opencl vdpau drm epub"
CPU_FLAGS_X86="aes avx avx2 avx512_bf16 avx512_bitalg avx512_vbmi2 avx512_vnni avx512_vp2intersect avx512_vpopcntdq avx512bw avx512cd avx512dq avx512f avx512ifma avx512vbmi avx512vl f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq"
L10N="en en-US ja"

FEATURES="parallel-fetch parallel-install nodoc noman noinfo"

#CCACHE_DIR="/run/media/ssds/ccache/"
#CCACHE_SIZE="300G"
DISTDIR=/run/media/ssds/distfiles
PORTAGE_TMPDIR="/run/media/ssds/tmp"
PORTDIR_OVERLAY="/usr/local/portage/overlay"
LLVM_TARGETS="X86 AMDGPU"

CARGO_BUILD_JOBS="30"
PYTHON_COMPILE_JOBS="30"

LDFLAGS="$ -fuse-ld=mold"

#LDFLAGS="-fuse-ld=lld -Wl,--threads=30"

ADAFLAGS=${COMMON_FLAGS}
DFLAGS=${COMMON_FLAGS}
OBJCFLAGS=${COMMON_FLAGS}
OBJCXXFLAGS=${COMMON_FLAGS}
RUSTFLAGS="-C target-cpu=native -C opt-level=3 -C codegen-units=30"
GOAMD64="v4" 
GOFLAGS="-v -trimpath"
GHCFLAGS="-O2 -j30 -optc-march=native -optc-O2"
ZIGFLAGS='-Drelease-safe=true -mcpu=native'

CPPFLAGS="-D_FORTIFY_SOURCE=2"


c2@gentoobtw ~ $
Back to top
View user's profile Send private message
rfx
Apprentice
Apprentice


Joined: 19 Apr 2023
Posts: 161
Location: de-by

PostPosted: Fri May 16, 2025 6:38 pm    Post subject: Reply with quote

Stuff as USE-flag like "plasma qt6 pipwire systemd" are not needed. They get set by the profile you have choosen.

You can check some by yourself, delete 2-3 Useflags, then check with "emerge -avuDU world" if something got changed. I deleted some not needed useflags on my system a few weeks ago

MAKEOPTS="-j30" AND EMERGE_DEFAULT_OPTS="-j30" are not good together.

MAKEOPTS specifies how many jobs are executed per build process for a package and EMERGE_DEFAULT_OPTS specifies the maximum number of packages that can be started simultaneously in the build process. In your configuration, you allow your system to compile 30 packages simultaneously with 30 threats each, which in theory is 900 tasks at the same time. Please also bear in mind that each individual build process can take up to 2 GB of RAM, especially with large packages.

How you configure this for yourself is a personal preference. One possibility would be MAKEOPTS=“-j15” + EMERGE_DEFAULT_OPTS=“-j2”. Personally, I prefer only EMERGE_DEFAULT_OPTS=“-j1” and give my system all available MAKEOPTS jobs so that each package is completed individually as quickly as possible one after the other. This makes it easier for me to check how long a major update with genlop will take. In addition, my PC recently had little joy when firefox, thunderbird and libreoffice wanted to rebuild at the same time during the python update...

The parallel-fetch and parallel-install features are also no longer necessary as they date back to the past.
Back to top
View user's profile Send private message
c2
n00b
n00b


Joined: 14 Mar 2025
Posts: 37

PostPosted: Fri May 16, 2025 7:55 pm    Post subject: Reply with quote

rfx wrote:
Stuff as USE-flag like "plasma qt6 pipwire systemd" are not needed. They get set by the profile you have choosen.

You can check some by yourself, delete 2-3 Useflags, then check with "emerge -avuDU world" if something got changed. I deleted some not needed useflags on my system a few weeks ago

MAKEOPTS="-j30" AND EMERGE_DEFAULT_OPTS="-j30" are not good together.

MAKEOPTS specifies how many jobs are executed per build process for a package and EMERGE_DEFAULT_OPTS specifies the maximum number of packages that can be started simultaneously in the build process. In your configuration, you allow your system to compile 30 packages simultaneously with 30 threats each, which in theory is 900 tasks at the same time. Please also bear in mind that each individual build process can take up to 2 GB of RAM, especially with large packages.

How you configure this for yourself is a personal preference. One possibility would be MAKEOPTS=“-j15” + EMERGE_DEFAULT_OPTS=“-j2”. Personally, I prefer only EMERGE_DEFAULT_OPTS=“-j1” and give my system all available MAKEOPTS jobs so that each package is completed individually as quickly as possible one after the other. This makes it easier for me to check how long a major update with genlop will take. In addition, my PC recently had little joy when firefox, thunderbird and libreoffice wanted to rebuild at the same time during the python update...

The parallel-fetch and parallel-install features are also no longer necessary as they date back to the past.


the default opts are fine as i am using L which stops emerge from compling a new package if there are 42 threads being used
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 23452

PostPosted: Fri May 16, 2025 9:49 pm    Post subject: Reply with quote

No, --load-average directs Portage not to start any new packages when the system load average exceeds the specified level. Load average is a trailing indicator, and cannot protect you from certain adverse workloads. As rfx alludes at the end of the quoted post, if several large packages all get scheduled to start at about the same time, none of them will raise the load average by a large enough amount in a short enough time to prevent Portage scheduling the rest of them. If the individual packages do not respect the Make option --load-average, you could substantially overcommit your system resources.
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



OSZAR »