tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Packages using more than their assigned MAKE_JOBS



On Tue, Oct 27, 2026 at 10:23:52AM +0100, Jonathan Perkin wrote:
> Caught mkvtoolnix using way more than its allocation:
> 
>   $ bob-trunk-x86_64 status -o make_jobs mkvtoolnix
>   MAKE_JOBS
>           4
> 
>   $ ptree 481522
>     121932 bob -c /data/pkgsrc/pkgsrc-eng/pbulk/conf/trunk-x86_64/bob.lua build
>       481522 /bin/sh -c bob_logdir=/data/bob/trunk-x86_64/logs bob_make=/opt/local/bin/bmake
>         481614 /opt/local/bin/bmake -C /data/jenkins/workspace/pkgsrc-trunk-x86_64/multimedia/
>           482184 /usr/bin/bash /tmp/make8WGtzD
>             482195 /opt/local/bin/bmake _MAKE=/opt/local/bin/bmake NATIVE_LOWER_OPSYS=solaris LOWE
>               482715 /usr/bin/bash /tmp/makeh_WKBD
>                 482724 /opt/local/bin/ruby34 /opt/local/bin/rake34
>                   557139 sh -c g++ -Wall -Wno-comment -Wfatal-errors -D_FILE_OFFSET_BITS=64 -DQT_NO_KEYW
>                     557172 /tmp/work/multimedia/mkvtoolnix/work/.gcc/bin/g++ -m64 -fstack-protector-strong
>                       557183 /opt/local/gcc13/libexec/gcc/x86_64-sun-solaris2.11/13.4.0/cc1plus -quiet -I /t
>                       557195 /opt/local/bin/gas -I /tmp/work/multimedia/mkvtoolnix/work/.buildlink/include -
>                   560728 sh -c g++ -Wall -Wno-comment -Wfatal-errors -D_FILE_OFFSET_BITS=64 -DQT_NO_KEYW
>                     560749 /tmp/work/multimedia/mkvtoolnix/work/.gcc/bin/g++ -m64 -fstack-protector-strong
>                       560781 /opt/local/gcc13/libexec/gcc/x86_64-sun-solaris2.11/13.4.0/cc1plus -quiet -I /t
>                       560825 /opt/local/bin/gas -I /tmp/work/multimedia/mkvtoolnix/work/.buildlink/include -
>     [..]
> 
>   $ ptree 481522 | grep bin/g++ | wc -l
>   36
> 
> Presumably this is some ruby-based build system that is completely ignoring
> MAKE_JOBS.  Not sure how many other packages it is affecting.

This is using rake to build. Its -h includes:

    -j, --jobs [NUMBER]              Specifies the maximum number of tasks to execute in parallel. (default is number of CPU cores + 4)

Either we change the RAKE definition in lang/ruby/rubyversion.mk to
already include a -j argument, or we'll have to adapt the users (at
least multimedia/mkvtools/Makefile and lang/ruby/gem.mk, but probably
more) to pass one.

taca@, what do you think?
 Thomas


Home | Main Index | Thread Index | Old Index