curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Re: distclean 'Recipe has too many lines' on an older system

From: Kevin R. Bulgrien via curl-library <curl-library_at_cool.haxx.se>
Date: Wed, 26 May 2021 15:59:41 -0500 (CDT)

----- Original Message -----
> From: "Kevin R. Bulgrien via curl-library" <curl-library_at_cool.haxx.se>
> Sent: Wednesday, May 26, 2021 12:14:31 PM
>
> Having recently submitted patches now in curl 7.77.0, and being
> interested in seeing if the new version builds without local
> patches, the new release was run through a local build process
> for SCO OpenServer 5.0.7. A fault was noted during a build
> procedure. This isn't new to 7.77.0, however, as I now see it
> also occurred while building 7.65.3 and 7.63.0.
>
> The fault occurs when running `make distclean`.
>
...
> Makefile:4282: *** Recipe has too many lines (96405d). Stop.
> make[1]: Leaving directory '/csdi/src/sco507/curl/curl-7.77.0/lib'
> make: *** [Makefile:1267: distclean-recursive] Error 1
>
> As I did not know if using bash vs. the native sh would make a
> difference, I tried adding CONFIG_SHELL to force use of BASH,
> but it does not make a difference with respect to this error.
>
> --
>
> $ make --version
> GNU Make 4.2.1
> Built for i686-pc-sco3.2v5.0.7
> Copyright (C) 1988-2016 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
>
> $ bash --version
> GNU bash, version 4.3.30(1)-release (i586-pc-sco3.2v5.0)
> Copyright (C) 2013 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html>
>
> This is free software; you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.

$ su -c "scodb -w"
Password:
dumpfile = /dev/mem
namelist = /unix
stunfile = /etc/conf/pack.d/scodb/defs/stun.def
varifile = /etc/conf/pack.d/scodb/defs/vari.def
PID 2CBF: scodb -w
scodb:1> maxexecargs=100000
100000
scodb:2> q
$ getconf ARG_MAX
1048576

This does not eliminate the issue. Also tried:

$ getconf ARG_MAX
16777216

Note, I have no idea that ARG_MAX is or is not relevant.
This documents something I did try based on a page that
came up in searches:

https://www.in-ulm.de/~mascheck/various/argmax/

[osr5] Bela Lubkin points out:
The limit on SCO OpenServer 5.0.x is set by 'unsigned int maxexecargs = 1024*1024;'
in /etc/conf/pack.d/kernel/space.c. It can also be changed on a live system with the `scodb` kernel debugger:

   # scodb -w
   scodb> maxexecargs=1000000
   scodb> q
(0x1000000 = 16MiB.) This is the max size of a new temporary allocation during each exec(), so it's safe to change on the fly.

Exceeding the limit generates a kernel warning:

   WARNING: table_grow - exec data table page limit of 256 pages (MAXEXECARGS) exceeded by 1 pages
   WARNING: Reached MAXEXECARGS limit while adding arguments for executable "ls"
Some `configure` scripts trigger this message as they deliberately probe the limit.
Raising `maxexecargs' will not fix this as the probe will simply try harder.

--
Kevin R. Bulgrien
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2021-05-26