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