xz memory limit override

Matthias Andree matthias.andree at gmx.de
Fri Aug 13 08:24:08 UTC 2010


Am 12.08.2010, 15:11 Uhr, schrieb Matthias Andree:

> Warren Block wrote on 2010-08-01:
>
>> xz(1) has a built-in protective notion about limiting memory usage that  
>> prevents port building on relatively low-memory computers.  Users have  
>> experienced this in the wild[1].
>>
>> Matthias Andree pointed out[2] that there are existing ways to limit  
>> memory usage: "They can use ulimit(1) -- or whatever their favourite  
>> login shell offers -- to set soft memory limits."
>>
>> I submitted ports/148250[3] to add the "-Mmax" option to port xz  
>> extractions.  There haven't been any squawks of outrage, peeps of  
>> agreement, or even acks of, uh, acknowledgement.  Hence this message,  
>> to bring it up again for a status check.
>
> I'm in favour of adding such a command line option to extraction,  
> because it appears that upstream solutions are stalled or progressing  
> slowly (I haven't checked the xz git repo though), and it's critical to  
> the build process that we can actually extract.


Actually, relevant upstream changes are in xz's Git repository since last  
Saturday, however no tags/releases were made after that date, and the  
snapshot linked on the xz front page is two months old.

Taken from git://ctrl.tukaani.org/xz.git (instructions at  
http://tukaani.org/xz/):

commit 792331bdee706aa852a78b171040ebf814c6f3ae
Author: Lasse Collin <lasse.collin at tukaani.org>
Date:   Sat Aug 7 20:45:18 2010 +0300

     Disable the memory usage limiter by default.

     For several people, the limiter causes bigger problems that
     it solves, so it is better to have it disabled by default.
     Those who want to have a limiter by default need to enable
     it via the environment variable XZ_DEFAULTS.

     Support for environment variable XZ_DEFAULTS was added. It is
     parsed before XZ_OPT and technically identical with it. The
     intended uses differ quite a bit though; see the man page.

     Support for environment variable XZ_DEFAULTS was added. It is
     parsed before XZ_OPT and technically identical with it. The
     intended uses differ quite a bit though; see the man page.

     The memory usage limit can now be set separately for
     compression and decompression using --memlimit-compress and
     --memlimit-decompress. To set both at once, -M or --memlimit
     can be used. --memory was retained as a legacy alias for
     --memlimit for backwards compatibility.

     The semantics of --info-memory were changed in backwards
     incompatible way. Compatibility wasn't meaningful due to
     changes in the memory usage limiter functionality.

     The memory usage limiter info is no longer shown at the
     bottom of xz --long -help.

     The memory usage limiter support for removed completely from xzdec.

     xz's man page was updated to match the above changes. Various
     unrelated fixes were also made to the man page.



-- 
Matthias Andree


More information about the freebsd-ports mailing list