MAKEPKG Tweaks

Hello!

May I use makepkg tweaks from Archwiki without destroying my system?
The reason I'm asking is because my building/ complying time is very slow in C# written AUR packages.

Sysinfo
─λ inxi -Fxxxza
System:    Kernel: 5.10.7-111-tkg-pds x86_64 bits: 64 compiler: gcc v: 10.2.1
           parameters: intel_pstate=passive BOOT_IMAGE=/@/boot/vmlinuz-linux-tkg-pds-nehalem
           root=UUID=3d6644cc-3196-4afd-a8d6-95fb20e38c4b rw [email protected] quiet splash
           loglevel=3 rd.udev.log_priority=3 vt.global_cursor_default=0
           systemd.unified_cgroup_hierarchy=1
           Desktop: KDE Plasma 5.20.5 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 dm: SDDM
           Distro: Garuda Linux
Machine:   Type: Laptop System: Hewlett-Packard product: HP EliteBook 8540p v: N/A
           serial: <filter> Chassis: type: 10 serial: <filter>
           Mobo: Hewlett-Packard model: 1521 v: KBC Version 32.36 serial: <filter>
           UEFI: Hewlett-Packard v: 68CVD Ver. F.60 date: 11/11/2015
Battery:   ID-1: BAT0 charge: 57.4 Wh condition: 58.2/58.2 Wh (100%) volts: 16.3/14.4
           model: Hewlett-Packard Primary type: Li-ion serial: <filter> status: Unknown
CPU:       Info: Quad Core model: Intel Core i7 Q 840 bits: 64 type: MT MCP arch: Nehalem
           family: 6 model-id: 1E (30) stepping: 5 microcode: A L2 cache: 8 MiB
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 29828
           Speed: 1661 MHz min/max: 1199/1867 MHz boost: enabled Core speeds (MHz): 1: 1661
           2: 1655 3: 1315 4: 1731 5: 1293 6: 1904 7: 1262 8: 1811
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
           Type: mds
           status: Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable
           Type: meltdown mitigation: PTI
           Type: spec_store_bypass
           mitigation: Speculative Store Bypass disabled via prctl and seccomp
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
           Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW,
           STIBP: conditional, RSB filling
           Type: srbds status: Not affected
           Type: tsx_async_abort status: Not affected
Graphics:  Device-1: NVIDIA GF106GLM [Quadro 2000M] vendor: Hewlett-Packard driver: nvidia
           v: 390.138 alternate: nouveau,nvidia_drm bus ID: 01:00.0 chip ID: 10de:0dda
           Device-2: Chicony HP Webcam [2 MP Macro] type: USB driver: uvcvideo bus ID: 1-1.5:5
           chip ID: 04f2:b15e
           Display: x11 server: X.Org 1.20.10 compositor: kwin_x11 driver: loaded: nvidia
           display ID: :0 screens: 1
           Screen-1: 0 s-res: 1366x768 s-dpi: 102 s-size: 340x191mm (13.4x7.5")
           s-diag: 390mm (15.4")
           Monitor-1: LVDS-0 res: 1366x768 hz: 60 dpi: 101 size: 344x194mm (13.5x7.6")
           diag: 395mm (15.5")
           OpenGL: renderer: Quadro 2000M/PCIe/SSE2 v: 4.6.0 NVIDIA 390.138 direct render: Yes
Audio:     Device-1: Intel 5 Series/3400 Series High Definition Audio vendor: Hewlett-Packard
           driver: snd_hda_intel v: kernel bus ID: 00:1b.0 chip ID: 8086:3b56
           Device-2: NVIDIA GF106 High Definition Audio vendor: Hewlett-Packard
           driver: snd_hda_intel v: kernel bus ID: 01:00.1 chip ID: 10de:0be9
           Sound Server: ALSA v: k5.10.7-111-tkg-pds
Network:   Device-1: Intel 82577LM Gigabit Network vendor: Hewlett-Packard driver: e1000e
           v: kernel port: 6020 bus ID: 00:19.0 chip ID: 8086:10ea
           IF: enp0s25 state: down mac: <filter>
           Device-2: Intel Centrino Advanced-N 6200 driver: iwlwifi v: kernel port: 5000
           bus ID: 44:00.0 chip ID: 8086:4239
           IF: wlo1 state: up mac: <filter>
Drives:    Local Storage: total: 931.51 GiB used: 33.93 GiB (3.6%)
           SMART Message: Unable to run smartctl. Root privileges required.
           ID-1: /dev/sda maj-min: 8:0 vendor: Crucial model: CT1000MX500SSD1 size: 931.51 GiB
           block size: physical: 512 B logical: 512 B speed: 3.0 Gb/s serial: <filter> rev: 023
Partition: ID-1: / raw size: 530.66 GiB size: 530.66 GiB (100.00%) used: 33.91 GiB (6.4%)
           fs: btrfs dev: /dev/sda2 maj-min: 8:2
           ID-2: /boot/efi raw size: 300 MiB size: 299.4 MiB (99.80%) used: 25.8 MiB (8.6%)
           fs: vfat dev: /dev/sda1 maj-min: 8:1
           ID-3: /home raw size: 530.66 GiB size: 530.66 GiB (100.00%) used: 33.91 GiB (6.4%)
           fs: btrfs dev: /dev/sda2 maj-min: 8:2
           ID-4: /var/log raw size: 530.66 GiB size: 530.66 GiB (100.00%) used: 33.91 GiB (6.4%)
           fs: btrfs dev: /dev/sda2 maj-min: 8:2
           ID-5: /var/tmp raw size: 530.66 GiB size: 530.66 GiB (100.00%) used: 33.91 GiB (6.4%)
           fs: btrfs dev: /dev/sda2 maj-min: 8:2
Swap:      Alert: No Swap data was found.
Sensors:   System Temperatures: cpu: 67.0 C mobo: 0.0 C gpu: nvidia temp: 59 C
           Fan Speeds (RPM): N/A
Info:      Processes: 270 Uptime: 6h 03m wakeups: 2 Memory: 7.65 GiB used: 4 GiB (52.3%)
           Init: systemd v: 247 Compilers: gcc: 10.2.0 Packages: pacman: 1597 lib: 490
           Shell: fish v: 3.1.2 running in: alacritty inxi: 3.2.02

I'm not sure how deep you want to go, but anything that ups the cores involved can help a lot without requiring much alteration or potential troubles. I mean MAKEFLAGS and multi-core compression in particular have shown no downsides for me (and it makes for pretty displays on my conkys too!).

You can usually assume that Archwiki knows...

2 Likes

Yes. However,

makepkg.conf tweaks are unlikely to help with C#/CLR/Mono programs.

2 Likes

1st I love so much Garuda and I'm very appreciated your help/suggestions :slight_smile:
2nd How deep did you make? :smiley:
I mean, I can modify this lines without trouble, right?( I have 4 core with 8 threads )

from #MAKEFLAGS="-j2" to MAKEFLAGS="-j9"

COMPRESSXZ=(xz -c -z -) to COMPRESSXZ=(xz -c -T 8 -z -)

What about Gentoo:Safe CFLAGS?
Can I use them like this?

CFLAGS="-march=nehalem -O2 -pipe"
CXXFLAGS="${CFLAGS}"

And if I follow the compression changes in package-build does it have any affect on timeshift snaps? :thinking: Like

PKGEXT= from .tar to .lzo COMPRESSGZ= from gzip to pigz ...

And which line is strongly not recommended to change?

1 Like

Yes. Also consider MAKEFLAGS="-j$(nproc)" .

You should be using ZSTD as the pkgext instead.

Stick to the default flags here. It's generally pointless compiling for a specific microarchitecture.

No, those things are unrelated.

Again, stick with .pkg.tar.zst unless you have a specific reason not to.

3 Likes

Thank You jonathon! :)))

1 Like