pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bulk build to use mksh or ksh instead of sh (UnixWare 7 Definitive)



Hello,

Thanks, I should have stated the OS is UnixWare 7 Definitive, pkgsrc from CVS from 04 January 2022 7 AM MST

On Thursday 2022-02-24 09:42, Chavdar Ivanov wrote:
On Thu, 24 Feb 2022 at 08:53, Boyd Lynn Gerber <gerberb%zenez.com@localhost> wrote:

I'm finding many build failures because of the first line in the files
using sh.

#!/bin/sh

If it uses either of the 2 below things build.
#!/bin/ksh
#!/usr/pkg/bin/mksh

Is there something I may do to have pkgsrc use either of the above in
bulk builds instead of the #!/bin/sh

I would suggest trying to figure out why the bulk build fails when
/bin/sh is in use and file a pr. There have been some recent /bin/sh
changes in -current, backported to the release versions, something
might have gone unnoticed.

I am on UnixWare 7 Definitive I set these enviroment variables and export them.

CONFIG_SHELL=/bin/ksh
WRAPPER_SHELL=/bin/ksh

I see during

./bootstrap --full --prefer-pkgsrc=yes

The shell is changed to

#!/usr/pkg/bin/mksh

I know that on UnixWare 7 the /bin/sh has many deficiencies resulting in
syntax errors.  Here is an example

UX:sh (./src/inline.sh): ERROR: ./src/inline.sh: Syntax error at line 26: `byte_vals=$' unexpected

On every file I edit the first line and change it from sh to ksh and the the systax errors are resolved.

Another issue (Not sure it is realted for ruby the configure is getting

/home/build/pkgsrc_build/lang/ruby27-base/work/ruby-2.7.5/

configure Issues

checking for size_t... no configure: error: size_t is signed

But in sys/types.h says "typedef unsigned int size_t"

The configure tests failing with the following
conftest.c: In function 'main': conftest.c:201:30: error: expected expression before ')' token if (sizeof ((struct timezone)))
...
configure:18926: gcc -c -DUNIXWARE -O2 -I/usr/pkg/include/db4 -D_REENTRANT -I/usr/include -I/usr/pkg/include -DUNIXWARE -I/usr/pkg/include/db4 -D_REENTRANT -I/usr/include -I/usr/pkg/include conftest.c >&5 conftest.c: In function 'main': conftest.c:211:21: error: expected expression before ')' token if (sizeof ((size_t))) ^

I would like to do the same thing bootstrap does. Changing the first line to a known shell that works. bootstrap changes it to

#!/usr/pkg/bin/mksh

if it left it at #!/bin/sh it also fails with syntax errors. There is no syntax error using a good shell. For example

#!/usr/pkg/bin/mksh
#!/bin/ksh

Regards,

--
Boyd Gerber <gerberb%zenez.com@localhost> 801 849-0213
ZENEZ   1042 East Fort Union #135, Midvale Utah  84047



Home | Main Index | Thread Index | Old Index