cygport pkg pkg_info:__list_deps() xargs: cannot fit single argument within argument list size limit

Mark Geisert mark@maxrnd.com
Mon Dec 30 02:03:45 GMT 2024


Hi again :),

On Sun, 29 Dec 2024, Brian Inglis via Cygwin-apps wrote:

> On 2024-12-28 17:56, Mark Geisert via Cygwin-apps wrote:
>> Hi Brian,
>> 
>> On Sat, 28 Dec 2024, Brian Inglis via Cygwin-apps wrote:
>>> Hi folks,
>>> 
>>> Packaging bash-completion I noticed during cygport pkg running 
>>> pkg_info:__list_deps() (I think) produces the error message:
>>> 
>>>     xargs: cannot fit single argument within argument list size limit
>>> 
>>> but does not stop the build or affect the results as far as I can see.
>>> 
>>> The scallywag noarch build log for 9116 showing the error message is:
>>> 
>>> https://github.com/cygwin/scallywag/actions/runs/12529311037/job/34944818784
>>> 
>>> I have attached the cygport --debug pkg.log as I can not spot which arg is 
>>> causing xargs to fail when trying to find requires for bash-completion 
>>> binary subpackage.
>>> 
>>> Hopefully if someone else has some time over the holidays they can see 
>>> what I have failed to narrow in on.
>> 
>> I copy/pasted the pkg.log into a temp file and took a look with vim.
>> (I assume Firefox is not truncating the lines...)
>> Starting at the line with the "xargs:" error I backed up a few lines.
>> 
>> The line starting with "echo" is 58029 chars long. It has many many 
>> duplicate strings in it, FWIW.
>> 
>> The line starting with "xargs" is 28836 chars long. It, too, has many many 
>> duplicate arg strings in it, though they do start with '^' and end with '$' 
>> as reasonable for -e arg strings.
>> 
>> I'm not enough of a shell debugging guy to know which line-expressions are 
>> pipe starters or pipe members, so that's as far as I can go.
>
> Thanks Mark,
>
> That's where I'm at too - but there are sort -u commands which should 
> eliminate the duplicates!?
[...useful info about arg size limits elided...]

Ah, in that case the problem seems to be that 'sort' is being handed a 
single line by 'echo'.  There needs to be something added to the pipe 
expression to split the 'echo' result at ' ' chars.  Something like:
     tr ' ' '\n'
Then 'sort -u' cuts the number of arg strings from 530 down to 110.

..mark


More information about the Cygwin-apps mailing list