Discussion:
distclean 'Recipe has too many lines' on an older system
Kevin R. Bulgrien via curl-library
2021-05-26 17:14:31 UTC
Permalink
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`.

Making distclean in lib
make[1]: Entering directory '/csdi/src/sco507/curl/curl-7.77.0/lib'
test -z "libcurl.la" || rm -f libcurl.la
rm -f ./so_locations
rm -rf .libs _libs
rm -rf vauth/.libs vauth/_libs
rm -rf vquic/.libs vquic/_libs
rm -rf vssh/.libs vssh/_libs
rm -rf vtls/.libs vtls/_libs
test -z "" || rm -f
rm -f *.o
rm -f vauth/*.o
rm -f vauth/*.lo
rm -f vquic/*.o
rm -f vquic/*.lo
rm -f vssh/*.o
rm -f vssh/*.lo
rm -f vtls/*.o
rm -f vtls/*.lo
rm -f *.lo
rm -f *.tab.c
test -z "libcurl.vers" || rm -f libcurl.vers
test . = "." || test -z "" || rm -f
rm -f vauth/.deps/.dirstamp
rm -f vauth/.dirstamp
rm -f vquic/.deps/.dirstamp
rm -f vquic/.dirstamp
rm -f vssh/.deps/.dirstamp
rm -f vssh/.dirstamp
rm -f vtls/.deps/.dirstamp
rm -f vtls/.dirstamp
rm -f curl_config.h stamp-h1
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
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.

--

This does not affect a local build for the platform as it
hasn't interfered with making curl on the platform, so
perhaps its not really something worth looking at, but
it seemed reasonable to at least put this out there.

--

Kevin R. Bulgrienwhich
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.se/mail/etiquet
Kevin R. Bulgrien via curl-library
2021-05-26 20:59:41 UTC
Permalink
----- Original Message -----
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: h

Loading...