Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to build on Alpine #743

Open
xorrvin opened this issue Apr 14, 2024 · 2 comments · May be fixed by #745
Open

Unable to build on Alpine #743

xorrvin opened this issue Apr 14, 2024 · 2 comments · May be fixed by #745
Labels
buildfail Does not compile

Comments

@xorrvin
Copy link

xorrvin commented Apr 14, 2024

Hi, probably known issue, but for some reason I cannot build both 1.0.8 and latest master (2e8aeee968a4d58fda0d95b2aba6b629e9cd46b1) on Alpine Linux (musl libc).

The error I'm having is this (compiling with GCC):

+ cc -D_BLD_DLL -fPIC -D_BLD_ast -Os -fno-strict-aliasing -I. -I/ksh/src/lib/libast -Icomp -I/ksh/src/lib/libast/comp -Istring -I/ksh/src/lib/libast/string -Iinclude -I/ksh/src/lib/libast/include -Istd -I/ksh/src/lib/libast/std -c /ksh/src/lib/libast/string/strmode.c

# src/lib/libast/Mamfile: 885-891: make strlcat.o
+ compile /ksh/src/lib/libast/string/strlcat.c
+ s=/ksh/src/lib/libast/string/strlcat.c
+ shift
+ cc -D_BLD_DLL -fPIC -D_BLD_ast -Os -fno-strict-aliasing -I. -I/ksh/src/lib/libast -Icomp -I/ksh/src/lib/libast/comp -Iinclude -I/ksh/src/lib/libast/include -Istd -I/ksh/src/lib/libast/std -c /ksh/src/lib/libast/string/strlcat.c
In file included from /usr/include/fortify/stdlib.h:33,
                 from ./ast_sys.h:5,
                 from /ksh/src/lib/libast/include/ast_std.h:66,
                 from /ksh/src/lib/libast/include/ast.h:32,
                 from /ksh/src/lib/libast/string/strlcat.c:25:
/usr/include/fortify/string.h:165:1: error: 'strlcat' undeclared here (not in a function); did you mean 'strncat'?
  165 | _FORTIFY_FN(strlcat) size_t strlcat(char * _FORTIFY_POS0 __d,
      | ^~~~~~~~~~~
In file included from ./ast_sys.h:10:
/usr/include/fortify/string.h: In function 'strlcat':
/usr/include/fortify/string.h:172:16: error: called object '__orig_strlcat' is not a function or function pointer
  172 |         return __orig_strlcat(__d, __s, __n);
      |                ^~~~~~~~~~~~~~
/usr/include/fortify/string.h:165:1: note: declared here
  165 | _FORTIFY_FN(strlcat) size_t strlcat(char * _FORTIFY_POS0 __d,
      | ^~~~~~~~~~~
mamake [lib/libast]: *** exit code 1 making strlcat.o
mamake: *** exit code 1 making lib/libast
mamake: *** exit code 1 making all
package: make failed at Sun Apr 14 12:02:19 UTC 2024 in /ksh/arch/linux.i386-64

or this (compiling with Clang)

+ cc -D_BLD_DLL -fPIC -D_BLD_ast -Os -fno-strict-aliasing -I. -I/ksh/src/lib/libast -Icomp -I/ksh/src/lib/libast/comp -Imisc -I/ksh/src/lib/libast/misc -Iinclude -I/ksh/src/lib/libast/include -Istd -I/ksh/src/lib/libast/std -c /ksh/src/lib/libast/path/pathgetlink.c
In file included from /ksh/src/lib/libast/path/pathgetlink.c:24:
In file included from /ksh/src/lib/libast/misc/univlib.h:41:
In file included from /ksh/src/lib/libast/include/ast.h:32:
In file included from /ksh/src/lib/libast/include/ast_std.h:66:
In file included from ./ast_sys.h:11:
/usr/include/fortify/unistd.h:121:13: error: use of undeclared identifier 'readlink'; did you mean 'readlinkat'?
  121 | _FORTIFY_FN(readlink) ssize_t readlink(const char *__p,
      |             ^
/usr/include/unistd.h:65:9: note: 'readlinkat' declared here
   65 | ssize_t readlinkat(int, const char *__restrict, char *__restrict, size_t);
      |         ^
In file included from /ksh/src/lib/libast/path/pathgetlink.c:24:
In file included from /ksh/src/lib/libast/misc/univlib.h:41:
In file included from /ksh/src/lib/libast/include/ast.h:32:
In file included from /ksh/src/lib/libast/include/ast_std.h:66:
In file included from ./ast_sys.h:11:
/usr/include/fortify/unistd.h:128:38: error: too few arguments to function call, expected 4, have 3
  128 |         return __orig_readlink(__p, __s, __n);
      |                ~~~~~~~~~~~~~~~              ^
/usr/include/fortify/unistd.h:121:1: note: '__orig_readlink' declared here
  121 | _FORTIFY_FN(readlink) ssize_t readlink(const char *__p,
      | ^~~~~~~~~~~~~~~~~~~~~
/usr/include/fortify/fortify-headers.h:43:25: note: expanded from macro '_FORTIFY_FN'
   43 | #define _FORTIFY_FN(fn) _FORTIFY_FNB(fn); _FORTIFY_INLINE
      |                         ^~~~~~~~~~~~~~~~
/usr/include/fortify/fortify-headers.h:42:26: note: expanded from macro '_FORTIFY_FNB'
   42 | #define _FORTIFY_FNB(fn) _FORTIFY_ORIG(__USER_LABEL_PREFIX__,fn)
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/fortify/fortify-headers.h:41:44: note: expanded from macro '_FORTIFY_ORIG'
   41 | #define _FORTIFY_ORIG(p,fn) __typeof__(fn) __orig_##fn __asm__(_FORTIFY_STR(p) #fn)
      |                                            ^~~~~~~~~~~
<scratch space>:81:1: note: expanded from here
   81 | __orig_readlink
      | ^~~~~~~~~~~~~~~
2 errors generated.
mamake [lib/libast]: *** exit code 1 making pathgetlink.o
mamake: *** exit code 1 making lib/libast
mamake: *** exit code 1 making all

How to reproduce:

docker run --rm -it alpine:latest /bin/sh
# (inside the container)
# apk update && apk add alpine-sdk clang git
# git clone https://github.com/ksh93/ksh
# cd ksh && bin/package make

Now to the interesting part: ksh is packaged for Gentoo and there's no issue there. I've test it on glibc and musl 1.23 and 1.24 with both gcc and clang, on amd64 and arm64, each of them is able to build latest master commit. Gentoo does patch musl (https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-libs/musl/musl-1.2.4-r1.ebuild), but it looks like these patches are not relevant.

@JohnoKing
Copy link

JohnoKing commented Apr 14, 2024

I have successfully reproduced the build error(s), though only after apk add alpine-sdk clang. (A fresh install that just has the musl-dev gcc packages doesn't exhibit these build errors.) The strlcat error, as well as various other errors that occur later in the build process with readlink and poll, are cause by a bunch of macro-related compatibility cruft (most of which is ancient code for pre-POSIX systems, as indicated by the readlink compatibility code returning int rather than ssize_t). Deleting that old code fixes the build on Alpine for me, but I currently lack time to test this patch thoroughly on other systems.

fix-alpine-fortified-build.patch
diff --git a/src/cmd/ksh93/features/poll b/src/cmd/ksh93/features/poll
index 691c25482..3e4bd11e4 100644
--- a/src/cmd/ksh93/features/poll
+++ b/src/cmd/ksh93/features/poll
@@ -123,12 +123,6 @@ tst	socketpair_shutdown_mode note{ fchmod() after socketpair() shutdown() }end e
 	}
 }end
 cat{
-	#if _lib_poll
-	#   define poll _SYS_poll
-	#else
-	#   undef _hdr_poll
-	#   undef _sys_poll
-	#endif /* _lib_poll */
 	#if _hdr_poll
 	#    include    <poll.h>
 	#else
@@ -136,10 +130,6 @@ cat{
 	#	include    <sys/poll.h>
 	#   endif /* _sys_poll */
 	#endif /* _hdr_poll */
-	#if _lib_poll
-	#   undef poll
-	    extern int poll(struct pollfd*,unsigned long,int);
-	#endif /* _lib_poll */
 	#if _lib_select
 	#   ifndef FD_ZERO
 	#	define FD_ZERO(x)	(*(x)=0)
diff --git a/src/lib/libast/Mamfile b/src/lib/libast/Mamfile
index 0af0b6f8e..fc6228afe 100644
--- a/src/lib/libast/Mamfile
+++ b/src/lib/libast/Mamfile
@@ -2746,24 +2746,6 @@ make install virtual
 			exec - compile ${<}
 		done
 
-		make readlink.o
-			make comp/readlink.c
-				prev include/error.h
-				prev comp/fakelink.h implicit
-				prev include/ast.h
-			done
-			exec - compile ${<}
-		done
-
-		make symlink.o
-			make comp/symlink.c
-				prev include/error.h
-				prev comp/fakelink.h
-				prev include/ast.h
-			done
-			exec - compile ${<}
-		done
-
 		make getpgrp.o
 			make comp/getpgrp.c
 				prev include/ast_std.h
@@ -3103,14 +3085,6 @@ make install virtual
 			exec - compile ${<}
 		done
 
-		make realpath.o
-			make comp/realpath.c
-				prev ast_map.h
-				prev include/ast.h
-			done
-			exec - compile ${<}
-		done
-
 		make regcmp.o
 			make comp/regcmp.c
 				prev align.h
diff --git a/src/lib/libast/comp/fakelink.h b/src/lib/libast/comp/fakelink.h
deleted file mode 100644
index aa2d70874..000000000
--- a/src/lib/libast/comp/fakelink.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/***********************************************************************
-*                                                                      *
-*               This software is part of the ast package               *
-*          Copyright (c) 1985-2011 AT&T Intellectual Property          *
-*          Copyright (c) 2020-2022 Contributors to ksh 93u+m           *
-*                      and is licensed under the                       *
-*                 Eclipse Public License, Version 2.0                  *
-*                                                                      *
-*                A copy of the License is available at                 *
-*      https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html      *
-*         (with md5 checksum 84283fa8859daf213bdda5a9f8d1be1d)         *
-*                                                                      *
-*                 Glenn Fowler <[email protected]>                  *
-*                  David Korn <[email protected]>                   *
-*                   Phong Vo <[email protected]>                    *
-*                  Martijn Dekker <[email protected]>                   *
-*                                                                      *
-***********************************************************************/
-/*
- * AT&T Bell Laboratories
- *
- * fake symbolic link private interface
- */
-
-#ifndef _FAKELINK_H
-#define _FAKELINK_H
-
-#define FAKELINK_MAGIC	"!<symlink>"
-
-#endif
diff --git a/src/lib/libast/comp/readlink.c b/src/lib/libast/comp/readlink.c
deleted file mode 100644
index eee804e8a..000000000
--- a/src/lib/libast/comp/readlink.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/***********************************************************************
-*                                                                      *
-*               This software is part of the ast package               *
-*          Copyright (c) 1985-2012 AT&T Intellectual Property          *
-*          Copyright (c) 2020-2022 Contributors to ksh 93u+m           *
-*                      and is licensed under the                       *
-*                 Eclipse Public License, Version 2.0                  *
-*                                                                      *
-*                A copy of the License is available at                 *
-*      https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html      *
-*         (with md5 checksum 84283fa8859daf213bdda5a9f8d1be1d)         *
-*                                                                      *
-*                 Glenn Fowler <[email protected]>                  *
-*                  David Korn <[email protected]>                   *
-*                   Phong Vo <[email protected]>                    *
-*                  Martijn Dekker <[email protected]>                   *
-*                                                                      *
-***********************************************************************/
-
-#include <ast.h>
-
-#if _lib_readlink
-
-NoN(readlink)
-
-#else
-
-#include "fakelink.h"
-
-#include <error.h>
-
-int
-readlink(const char* path, char* buf, int siz)
-{
-	int	fd;
-	int	n;
-
-	if (siz > sizeof(FAKELINK_MAGIC))
-	{
-		if ((fd = open(path, O_RDONLY|O_cloexec)) < 0)
-			return -1;
-		if (read(fd, buf, sizeof(FAKELINK_MAGIC)) == sizeof(FAKELINK_MAGIC) && !strcmp(buf, FAKELINK_MAGIC) && (n = read(fd, buf, siz)) > 0 && !buf[n - 1])
-		{
-			close(fd);
-			return n;
-		}
-		close(fd);
-	}
-	errno = ENOSYS;
-	return -1;
-}
-
-#endif
diff --git a/src/lib/libast/comp/realpath.c b/src/lib/libast/comp/realpath.c
deleted file mode 100644
index 2c792536b..000000000
--- a/src/lib/libast/comp/realpath.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/***********************************************************************
-*                                                                      *
-*               This software is part of the ast package               *
-*          Copyright (c) 1985-2011 AT&T Intellectual Property          *
-*          Copyright (c) 2020-2023 Contributors to ksh 93u+m           *
-*                      and is licensed under the                       *
-*                 Eclipse Public License, Version 2.0                  *
-*                                                                      *
-*                A copy of the License is available at                 *
-*      https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html      *
-*         (with md5 checksum 84283fa8859daf213bdda5a9f8d1be1d)         *
-*                                                                      *
-*                 Glenn Fowler <[email protected]>                  *
-*                  David Korn <[email protected]>                   *
-*                   Phong Vo <[email protected]>                    *
-*                  Martijn Dekker <[email protected]>                   *
-*            Johnothan King <[email protected]>             *
-*                                                                      *
-***********************************************************************/
-/*
- * realpath implementation
- */
-
-#define realpath	______realpath
-#define resolvepath	______resolvepath
-
-#include <ast.h>
-
-#undef	realpath
-#undef	resolvepath
-
-#undef	_def_map_ast
-#include <ast_map.h>
-
-extern int		resolvepath(const char*, char*, size_t);
-
-extern char*
-realpath(const char* file, char* path)
-{
-	/* @lkoutsofios: path may be NULL */
-	if (!path) {
-	    	if (!(path = malloc (PATH_MAX)))
-        		return NULL;
-	}
-	return resolvepath(file, path, PATH_MAX) > 0 ? path : NULL;
-}
diff --git a/src/lib/libast/comp/symlink.c b/src/lib/libast/comp/symlink.c
deleted file mode 100644
index bd103e56a..000000000
--- a/src/lib/libast/comp/symlink.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/***********************************************************************
-*                                                                      *
-*               This software is part of the ast package               *
-*          Copyright (c) 1985-2012 AT&T Intellectual Property          *
-*          Copyright (c) 2020-2022 Contributors to ksh 93u+m           *
-*                      and is licensed under the                       *
-*                 Eclipse Public License, Version 2.0                  *
-*                                                                      *
-*                A copy of the License is available at                 *
-*      https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html      *
-*         (with md5 checksum 84283fa8859daf213bdda5a9f8d1be1d)         *
-*                                                                      *
-*                 Glenn Fowler <[email protected]>                  *
-*                  David Korn <[email protected]>                   *
-*                   Phong Vo <[email protected]>                    *
-*                  Martijn Dekker <[email protected]>                   *
-*                                                                      *
-***********************************************************************/
-
-#include <ast.h>
-
-#if _lib_symlink
-
-NoN(symlink)
-
-#else
-
-#include "fakelink.h"
-
-#include <error.h>
-
-int
-symlink(const char* a, char* b)
-{
-	if (*a == '/' && (*(a + 1) == 'd' || *(a + 1) == 'p' || *(a + 1) == 'n') && (!strncmp(a, "/dev/tcp/", 9) || !strncmp(a, "/dev/udp/", 9) || !strncmp(a, "/proc/", 6) || !strncmp(a, "/n/", 3)))
-	{
-		int	n;
-		int	fd;
-
-		if ((fd = open(b, O_CREAT|O_TRUNC|O_WRONLY|O_cloexec, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)) < 0)
-			return -1;
-		n = strlen(a) + 1;
-		n = (write(fd, FAKELINK_MAGIC, sizeof(FAKELINK_MAGIC)) != sizeof(FAKELINK_MAGIC) || write(fd, a, n) != n) ? -1 : 0;
-		close(fd);
-		return n;
-	}
-	errno = ENOSYS;
-	return -1;
-}
-
-#endif
diff --git a/src/lib/libast/features/map.c b/src/lib/libast/features/map.c
index 627e05a47..6d743cc90 100644
--- a/src/lib/libast/features/map.c
+++ b/src/lib/libast/features/map.c
@@ -231,9 +231,6 @@ main(void)
 	printf("#define re_comp		_ast_re_comp\n");
 	printf("#undef	re_exec\n");
 	printf("#define re_exec		_ast_re_exec\n");
-	printf("#undef	realpath\n");
-	printf("#define realpath	_ast_realpath\n");
-	printf("extern char*		realpath(const char*, char*);\n");
 #endif
 	/* Override the native regex library in favor of libast's regex functions */
 	printf("#undef	regaddclass\n");
diff --git a/src/lib/libast/string/strlcat.c b/src/lib/libast/string/strlcat.c
index 0ccee0394..a4918fd26 100644
--- a/src/lib/libast/string/strlcat.c
+++ b/src/lib/libast/string/strlcat.c
@@ -20,12 +20,8 @@
  * strlcat implementation
  */
 
-#define strlcat		______strlcat
-
 #include <ast.h>
 
-#undef	strlcat
-
 #undef	_def_map_ast
 #include <ast_map.h>
 
diff --git a/src/lib/libast/string/strlcpy.c b/src/lib/libast/string/strlcpy.c
index 20428aafc..2cbb69af7 100644
--- a/src/lib/libast/string/strlcpy.c
+++ b/src/lib/libast/string/strlcpy.c
@@ -20,12 +20,8 @@
  * strlcpy implementation
  */
 
-#define strlcpy		______strlcpy
-
 #include <ast.h>
 
-#undef	strlcpy
-
 #undef	_def_map_ast
 #include <ast_map.h>
 
diff --git a/src/lib/libcmd/uname.c b/src/lib/libcmd/uname.c
index a64917f43..6b7b8194d 100644
--- a/src/lib/libcmd/uname.c
+++ b/src/lib/libcmd/uname.c
@@ -66,11 +66,6 @@ static const char usage[] =
 "	\bsysconf\b(3), \bsysinfo\b(2)]"
 ;
 
-#define getdomainname	______getdomainname
-#define gethostid	______gethostid
-#define gethostname	______gethostname
-#define sethostname	______sethostname
-
 #include <cmd.h>
 #include <ctype.h>
 #include <stdio.h>
@@ -84,24 +79,6 @@ static const char usage[] =
 # include <sys/utsname.h>
 #endif
 
-#undef	getdomainname
-#undef	gethostid
-#undef	gethostname
-#undef	sethostname
-
-#if _lib_getdomainname
-extern int	getdomainname(char*, size_t);
-#endif
-#if _lib_gethostid
-extern long	gethostid(void);
-#endif
-#if _lib_gethostname
-extern int	gethostname(char*, size_t);
-#endif
-#if _lib_sethostname
-extern int	sethostname(const char*, size_t);
-#endif
-
 #ifndef HOSTTYPE
 #define HOSTTYPE	"unknown"
 #endif

@McDutchie McDutchie added the buildfail Does not compile label Apr 14, 2024
@xorrvin
Copy link
Author

xorrvin commented Apr 15, 2024

@JohnoKing thanks for prompt reply and quick patch! I dug a little deeper, and it turns out that both alpine-sdk and clang packages also pull in fortify-headers from here: http://git.2f30.org/fortify-headers . I think that's why you weren't having an issue with just musl-dev and gcc.

I was able to compile and run tests, however I also had to extend your patch with this:

diff --git a/src/lib/libast/misc/univlib.h b/src/lib/libast/misc/univlib.h
index 324322c9..a0c62581 100644
--- a/src/lib/libast/misc/univlib.h
+++ b/src/lib/libast/misc/univlib.h
@@ -33,9 +33,7 @@
 #define _UNIVLIB_H
 
 #define getuniverse	______getuniverse
-#define readlink	______readlink
 #define setuniverse	______setuniverse
-#define symlink		______symlink
 #define universe	______universe
 
 #include <ast.h>
@@ -49,9 +47,7 @@
 #endif
 
 #undef	getuniverse
-#undef	readlink
 #undef	setuniverse
-#undef	symlink
 #undef	universe
 
 #if _cmd_universe
@@ -73,9 +69,7 @@ extern char		univ_env[];
 #endif
 
 extern int		getuniverse(char*);
-extern int		readlink(const char*, char*, int);
 extern int		setuniverse(int);
-extern int		symlink(const char*, const char*);
 extern int		universe(int);
 
 #endif
test run

# src/cmd/ksh93/Mamfile: 1322-1325: make test.ksh
+ cd /ksh/src/cmd/ksh93/tests
+ ./shtests
test alias begins at 2024-04-15+09:18:06
test alias passed at 2024-04-15+09:18:06 [ 47 tests 0 errors ]
test alias(C.UTF-8) begins at 2024-04-15+09:18:06
test alias(C.UTF-8) passed at 2024-04-15+09:18:06 [ 47 tests 0 errors ]
test alias(shcomp) begins at 2024-04-15+09:18:06
test alias(shcomp) passed at 2024-04-15+09:18:06 [ 47 tests 0 errors ]
test append begins at 2024-04-15+09:18:06
test append passed at 2024-04-15+09:18:06 [ 19 tests 0 errors ]
test append(C.UTF-8) begins at 2024-04-15+09:18:06
test append(C.UTF-8) passed at 2024-04-15+09:18:06 [ 19 tests 0 errors ]
test append(shcomp) begins at 2024-04-15+09:18:06
test append(shcomp) passed at 2024-04-15+09:18:06 [ 19 tests 0 errors ]
test arith begins at 2024-04-15+09:18:06
test arith passed at 2024-04-15+09:18:06 [ 263 tests 0 errors ]
test arith(C.UTF-8) begins at 2024-04-15+09:18:06
test arith(C.UTF-8) passed at 2024-04-15+09:18:06 [ 263 tests 0 errors ]
test arith(shcomp) begins at 2024-04-15+09:18:06
test arith(shcomp) passed at 2024-04-15+09:18:06 [ 263 tests 0 errors ]
test arrays begins at 2024-04-15+09:18:06
test arrays passed at 2024-04-15+09:18:07 [ 185 tests 0 errors ]
test arrays(C.UTF-8) begins at 2024-04-15+09:18:07
test arrays(C.UTF-8) passed at 2024-04-15+09:18:07 [ 185 tests 0 errors ]
test arrays(shcomp) begins at 2024-04-15+09:18:07
test arrays(shcomp) passed at 2024-04-15+09:18:07 [ 185 tests 0 errors ]
test arrays2 begins at 2024-04-15+09:18:07
test arrays2 passed at 2024-04-15+09:18:08 [ 70 tests 0 errors ]
test arrays2(C.UTF-8) begins at 2024-04-15+09:18:08
test arrays2(C.UTF-8) passed at 2024-04-15+09:18:08 [ 70 tests 0 errors ]
test arrays2(shcomp) begins at 2024-04-15+09:18:08
test arrays2(shcomp) passed at 2024-04-15+09:18:08 [ 70 tests 0 errors ]
test attributes begins at 2024-04-15+09:18:08
test attributes passed at 2024-04-15+09:18:08 [ 170 tests 0 errors ]
test attributes(C.UTF-8) begins at 2024-04-15+09:18:08
test attributes(C.UTF-8) passed at 2024-04-15+09:18:08 [ 170 tests 0 errors ]
test attributes(shcomp) begins at 2024-04-15+09:18:08
test attributes(shcomp) passed at 2024-04-15+09:18:08 [ 170 tests 0 errors ]
test basic begins at 2024-04-15+09:18:08
/ksh/src/cmd/ksh93/tests/basic.sh[932]: join: not found
	basic.sh[933]: FAIL: pipeline fails with illegal seek error (expected $'1\n2', got '')
test basic failed at 2024-04-15+09:18:13 with exit code 1 [ 147 tests 1 error ]
test basic(C.UTF-8) begins at 2024-04-15+09:18:13
/ksh/src/cmd/ksh93/tests/basic.sh[932]: join: not found
	basic.sh[933]: FAIL: pipeline fails with illegal seek error (expected $'1\n2', got '')
test basic(C.UTF-8) failed at 2024-04-15+09:18:17 with exit code 1 [ 147 tests 1 error ]
test basic(shcomp) begins at 2024-04-15+09:18:17
/tmp/ksh93.shtests.27670.498/shcomp-basic.ksh[932]: join: not found
	shcomp-basic.ksh[933]: FAIL: pipeline fails with illegal seek error (expected $'1\n2', got '')
test basic(shcomp) failed at 2024-04-15+09:18:22 with exit code 1 [ 147 tests 1 error ]
test bracket begins at 2024-04-15+09:18:22
	bracket.sh[75]: warning: running as root: skipping tests involving r/w permissions
test bracket passed at 2024-04-15+09:18:23 [ 201 tests 0 errors ]
test bracket(C.UTF-8) begins at 2024-04-15+09:18:23
	bracket.sh[75]: warning: running as root: skipping tests involving r/w permissions
test bracket(C.UTF-8) passed at 2024-04-15+09:18:24 [ 201 tests 0 errors ]
test bracket(shcomp) begins at 2024-04-15+09:18:24
	shcomp-bracket.ksh[75]: warning: running as root: skipping tests involving r/w permissions
test bracket(shcomp) passed at 2024-04-15+09:18:25 [ 201 tests 0 errors ]
test builtins begins at 2024-04-15+09:18:25
	builtins.sh[967]: warning: running as root: skipping tests involving directory search (x) permission
	builtins.sh[1278]: warning: running as root: skipping test if cd fails on directory without execute permission
test builtins passed at 2024-04-15+09:18:34 [ 287 tests 0 errors ]
test builtins(C.UTF-8) begins at 2024-04-15+09:18:34
	builtins.sh[967]: warning: running as root: skipping tests involving directory search (x) permission
	builtins.sh[1278]: warning: running as root: skipping test if cd fails on directory without execute permission
test builtins(C.UTF-8) passed at 2024-04-15+09:18:42 [ 287 tests 0 errors ]
test builtins(shcomp) begins at 2024-04-15+09:18:42
	shcomp-builtins.ksh[967]: warning: running as root: skipping tests involving directory search (x) permission
	shcomp-builtins.ksh[1278]: warning: running as root: skipping test if cd fails on directory without execute permission
test builtins(shcomp) passed at 2024-04-15+09:18:50 [ 287 tests 0 errors ]
test case begins at 2024-04-15+09:18:50
test case passed at 2024-04-15+09:18:50 [ 70 tests 0 errors ]
test case(C.UTF-8) begins at 2024-04-15+09:18:50
test case(C.UTF-8) passed at 2024-04-15+09:18:50 [ 70 tests 0 errors ]
test case(shcomp) begins at 2024-04-15+09:18:50
test case(shcomp) passed at 2024-04-15+09:18:50 [ 70 tests 0 errors ]
test comvar begins at 2024-04-15+09:18:50
test comvar passed at 2024-04-15+09:18:50 [ 104 tests 0 errors ]
test comvar(C.UTF-8) begins at 2024-04-15+09:18:50
test comvar(C.UTF-8) passed at 2024-04-15+09:18:50 [ 104 tests 0 errors ]
test comvar(shcomp) begins at 2024-04-15+09:18:50
test comvar(shcomp) passed at 2024-04-15+09:18:50 [ 104 tests 0 errors ]
test comvario begins at 2024-04-15+09:18:50
test comvario passed at 2024-04-15+09:18:52 [ 72 tests 0 errors ]
test comvario(C.UTF-8) begins at 2024-04-15+09:18:52
test comvario(C.UTF-8) passed at 2024-04-15+09:18:54 [ 72 tests 0 errors ]
test comvario(shcomp) begins at 2024-04-15+09:18:54
test comvario(shcomp) passed at 2024-04-15+09:18:56 [ 72 tests 0 errors ]
test coprocess begins at 2024-04-15+09:18:56
test coprocess passed at 2024-04-15+09:18:59 [ 35 tests 0 errors ]
test coprocess(C.UTF-8) begins at 2024-04-15+09:18:59
test coprocess(C.UTF-8) passed at 2024-04-15+09:19:02 [ 35 tests 0 errors ]
test coprocess(shcomp) begins at 2024-04-15+09:19:02
test coprocess(shcomp) passed at 2024-04-15+09:19:06 [ 35 tests 0 errors ]
test cubetype begins at 2024-04-15+09:19:06
test cubetype passed at 2024-04-15+09:19:06 [ 68 tests 0 errors ]
test cubetype(C.UTF-8) begins at 2024-04-15+09:19:06
test cubetype(C.UTF-8) passed at 2024-04-15+09:19:06 [ 68 tests 0 errors ]
test cubetype(shcomp) begins at 2024-04-15+09:19:06
test cubetype(shcomp) passed at 2024-04-15+09:19:06 [ 68 tests 0 errors ]
test enum begins at 2024-04-15+09:19:06
test enum passed at 2024-04-15+09:19:06 [ 52 tests 0 errors ]
test enum(C.UTF-8) begins at 2024-04-15+09:19:06
test enum(C.UTF-8) passed at 2024-04-15+09:19:06 [ 52 tests 0 errors ]
test enum(shcomp) begins at 2024-04-15+09:19:06
test enum(shcomp) passed at 2024-04-15+09:19:06 [ 52 tests 0 errors ]
test exit begins at 2024-04-15+09:19:06
test exit passed at 2024-04-15+09:19:06 [ 43 tests 0 errors ]
test exit(C.UTF-8) begins at 2024-04-15+09:19:06
test exit(C.UTF-8) passed at 2024-04-15+09:19:06 [ 43 tests 0 errors ]
test exit(shcomp) begins at 2024-04-15+09:19:06
test exit(shcomp) passed at 2024-04-15+09:19:06 [ 43 tests 0 errors ]
test expand begins at 2024-04-15+09:19:06
test expand passed at 2024-04-15+09:19:06 [ 7 tests 0 errors ]
test expand(C.UTF-8) begins at 2024-04-15+09:19:06
test expand(C.UTF-8) passed at 2024-04-15+09:19:06 [ 7 tests 0 errors ]
test expand(shcomp) begins at 2024-04-15+09:19:06
test expand(shcomp) passed at 2024-04-15+09:19:06 [ 7 tests 0 errors ]
test functions begins at 2024-04-15+09:19:06
test functions passed at 2024-04-15+09:19:09 [ 138 tests 0 errors ]
test functions(C.UTF-8) begins at 2024-04-15+09:19:09
test functions(C.UTF-8) passed at 2024-04-15+09:19:11 [ 138 tests 0 errors ]
test functions(shcomp) begins at 2024-04-15+09:19:11
test functions(shcomp) passed at 2024-04-15+09:19:13 [ 138 tests 0 errors ]
test glob begins at 2024-04-15+09:19:13
test glob passed at 2024-04-15+09:19:13 [ 250 tests 0 errors ]
test glob(C.UTF-8) begins at 2024-04-15+09:19:13
test glob(C.UTF-8) passed at 2024-04-15+09:19:13 [ 250 tests 0 errors ]
test glob(shcomp) begins at 2024-04-15+09:19:13
test glob(shcomp) passed at 2024-04-15+09:19:13 [ 250 tests 0 errors ]
test grep begins at 2024-04-15+09:19:13
test grep passed at 2024-04-15+09:19:13 [ 1 test 0 errors ]
test grep(C.UTF-8) begins at 2024-04-15+09:19:13
test grep(C.UTF-8) passed at 2024-04-15+09:19:13 [ 1 test 0 errors ]
test grep(shcomp) begins at 2024-04-15+09:19:13
test grep(shcomp) passed at 2024-04-15+09:19:13 [ 1 test 0 errors ]
test heredoc begins at 2024-04-15+09:19:13
test heredoc passed at 2024-04-15+09:19:14 [ 44 tests 0 errors ]
test heredoc(C.UTF-8) begins at 2024-04-15+09:19:14
test heredoc(C.UTF-8) passed at 2024-04-15+09:19:16 [ 44 tests 0 errors ]
test heredoc(shcomp) begins at 2024-04-15+09:19:16
test heredoc(shcomp) passed at 2024-04-15+09:19:17 [ 44 tests 0 errors ]
test io begins at 2024-04-15+09:19:17
test io passed at 2024-04-15+09:19:19 [ 166 tests 0 errors ]
test io(C.UTF-8) begins at 2024-04-15+09:19:19
test io(C.UTF-8) passed at 2024-04-15+09:19:21 [ 166 tests 0 errors ]
test io(shcomp) begins at 2024-04-15+09:19:21
test io(shcomp) passed at 2024-04-15+09:19:23 [ 166 tests 0 errors ]
test jobs begins at 2024-04-15+09:19:23
	jobs.sh[74]: warning: skipping subshell job control test due to non-compliant 'ps'
test jobs passed at 2024-04-15+09:19:25 [ 26 tests 0 errors ]
test jobs(C.UTF-8) begins at 2024-04-15+09:19:25
	jobs.sh[74]: warning: skipping subshell job control test due to non-compliant 'ps'
test jobs(C.UTF-8) passed at 2024-04-15+09:19:27 [ 26 tests 0 errors ]
test jobs(shcomp) begins at 2024-04-15+09:19:27
	shcomp-jobs.ksh[74]: warning: skipping subshell job control test due to non-compliant 'ps'
test jobs(shcomp) passed at 2024-04-15+09:19:28 [ 26 tests 0 errors ]
test leaks begins at 2024-04-15+09:19:28
	leaks.sh[169]: warning: skipping test for known leak "defining associative array in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/94
	leaks.sh[354]: warning: skipping test for known leak "set PATH attribute in main shell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[362]: warning: skipping test for known leak "unset PATH in main shell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[375]: warning: skipping test for known leak "set PATH value in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[380]: warning: skipping test for known leak "run command with preceding PATH assignment in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[385]: warning: skipping test for known leak "set PATH attribute in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[390]: warning: skipping test for known leak "unset PATH in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[414]: warning: skipping test for known leak "variable with discipline function in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/404
test leaks passed at 2024-04-15+09:19:32 [ 36 tests 0 errors ]
test leaks(C.UTF-8) begins at 2024-04-15+09:19:32
	leaks.sh[169]: warning: skipping test for known leak "defining associative array in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/94
	leaks.sh[354]: warning: skipping test for known leak "set PATH attribute in main shell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[362]: warning: skipping test for known leak "unset PATH in main shell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[375]: warning: skipping test for known leak "set PATH value in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[380]: warning: skipping test for known leak "run command with preceding PATH assignment in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[385]: warning: skipping test for known leak "set PATH attribute in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[390]: warning: skipping test for known leak "unset PATH in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	leaks.sh[414]: warning: skipping test for known leak "variable with discipline function in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/404
test leaks(C.UTF-8) passed at 2024-04-15+09:19:37 [ 36 tests 0 errors ]
test leaks(shcomp) begins at 2024-04-15+09:19:37
	shcomp-leaks.ksh[169]: warning: skipping test for known leak "defining associative array in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/94
	shcomp-leaks.ksh[354]: warning: skipping test for known leak "set PATH attribute in main shell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	shcomp-leaks.ksh[362]: warning: skipping test for known leak "unset PATH in main shell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	shcomp-leaks.ksh[375]: warning: skipping test for known leak "set PATH value in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	shcomp-leaks.ksh[380]: warning: skipping test for known leak "run command with preceding PATH assignment in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	shcomp-leaks.ksh[385]: warning: skipping test for known leak "set PATH attribute in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	shcomp-leaks.ksh[390]: warning: skipping test for known leak "unset PATH in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/405
	shcomp-leaks.ksh[414]: warning: skipping test for known leak "variable with discipline function in subshell"; export DEBUG=y to test and help us fix it at: https://github.com/ksh93/ksh/issues/404
test leaks(shcomp) passed at 2024-04-15+09:19:41 [ 36 tests 0 errors ]
test libcmd begins at 2024-04-15+09:19:41
test libcmd passed at 2024-04-15+09:19:41 [ 139 tests 0 errors ]
test libcmd(C.UTF-8) begins at 2024-04-15+09:19:41
test libcmd(C.UTF-8) passed at 2024-04-15+09:19:42 [ 139 tests 0 errors ]
test libcmd(shcomp) begins at 2024-04-15+09:19:42
test libcmd(shcomp) passed at 2024-04-15+09:19:42 [ 139 tests 0 errors ]
test locale begins at 2024-04-15+09:19:42
	locale.sh[434]: warning: ja_JP locale or gencat not available - skipping issue 599 test
test locale passed at 2024-04-15+09:19:42 [ 45 tests 0 errors ]
test locale(shcomp) begins at 2024-04-15+09:19:42
	shcomp-locale.ksh[434]: warning: ja_JP locale or gencat not available - skipping issue 599 test
test locale(shcomp) passed at 2024-04-15+09:19:42 [ 45 tests 0 errors ]
test loop begins at 2024-04-15+09:19:42
test loop passed at 2024-04-15+09:19:42 [ 8 tests 0 errors ]
test loop(C.UTF-8) begins at 2024-04-15+09:19:42
test loop(C.UTF-8) passed at 2024-04-15+09:19:42 [ 8 tests 0 errors ]
test loop(shcomp) begins at 2024-04-15+09:19:42
test loop(shcomp) passed at 2024-04-15+09:19:42 [ 8 tests 0 errors ]
test math begins at 2024-04-15+09:19:42
test math passed at 2024-04-15+09:19:43 [ 17 tests 0 errors ]
test math(C.UTF-8) begins at 2024-04-15+09:19:43
test math(C.UTF-8) passed at 2024-04-15+09:19:45 [ 17 tests 0 errors ]
test math(shcomp) begins at 2024-04-15+09:19:45
test math(shcomp) passed at 2024-04-15+09:19:47 [ 17 tests 0 errors ]
test nameref begins at 2024-04-15+09:19:47
test nameref passed at 2024-04-15+09:19:47 [ 106 tests 0 errors ]
test nameref(C.UTF-8) begins at 2024-04-15+09:19:47
test nameref(C.UTF-8) passed at 2024-04-15+09:19:47 [ 106 tests 0 errors ]
test nameref(shcomp) begins at 2024-04-15+09:19:47
test nameref(shcomp) passed at 2024-04-15+09:19:47 [ 106 tests 0 errors ]
test namespace begins at 2024-04-15+09:19:47
test namespace passed at 2024-04-15+09:19:47 [ 30 tests 0 errors ]
test namespace(C.UTF-8) begins at 2024-04-15+09:19:47
test namespace(C.UTF-8) passed at 2024-04-15+09:19:47 [ 30 tests 0 errors ]
test namespace(shcomp) begins at 2024-04-15+09:19:47
test namespace(shcomp) passed at 2024-04-15+09:19:47 [ 30 tests 0 errors ]
test options begins at 2024-04-15+09:19:47
test options passed at 2024-04-15+09:19:51 [ 177 tests 0 errors ]
test options(C.UTF-8) begins at 2024-04-15+09:19:51
test options(C.UTF-8) passed at 2024-04-15+09:19:54 [ 177 tests 0 errors ]
test options(shcomp) begins at 2024-04-15+09:19:54
test options(shcomp) passed at 2024-04-15+09:19:58 [ 177 tests 0 errors ]
test path begins at 2024-04-15+09:19:58
	path.sh[327]: warning: running as root: skipping tests involving unreadable scripts
test path passed at 2024-04-15+09:19:58 [ 151 tests 0 errors ]
test path(C.UTF-8) begins at 2024-04-15+09:19:58
	path.sh[327]: warning: running as root: skipping tests involving unreadable scripts
test path(C.UTF-8) passed at 2024-04-15+09:19:59 [ 151 tests 0 errors ]
test path(shcomp) begins at 2024-04-15+09:19:59
	shcomp-path.ksh[327]: warning: running as root: skipping tests involving unreadable scripts
test path(shcomp) passed at 2024-04-15+09:19:59 [ 151 tests 0 errors ]
test pointtype begins at 2024-04-15+09:19:59
test pointtype passed at 2024-04-15+09:19:59 [ 36 tests 0 errors ]
test pointtype(C.UTF-8) begins at 2024-04-15+09:19:59
test pointtype(C.UTF-8) passed at 2024-04-15+09:19:59 [ 36 tests 0 errors ]
test pointtype(shcomp) begins at 2024-04-15+09:19:59
test pointtype(shcomp) passed at 2024-04-15+09:19:59 [ 36 tests 0 errors ]
test posix begins at 2024-04-15+09:19:59
test posix passed at 2024-04-15+09:19:59 [ 63 tests 0 errors ]
test posix(C.UTF-8) begins at 2024-04-15+09:19:59
test posix(C.UTF-8) passed at 2024-04-15+09:20:00 [ 63 tests 0 errors ]
test posix(shcomp) begins at 2024-04-15+09:20:00
test posix(shcomp) passed at 2024-04-15+09:20:00 [ 63 tests 0 errors ]
test printf begins at 2024-04-15+09:20:00
	printf.sh[217]: FAIL: Historical changes (bad time): printf '%(%Y-%m-%d %H:%M:%S)T' '#236961303': expected '1977-07-05 17:35:03', got '1977-07-05 14:35:03'
	printf.sh[220]: FAIL: Historical changes (bad time): printf '%(%Y-%m-%d %H:%M:%S)T' '#0': expected '1970-01-01 01:00:00', got '1970-01-01 00:00:00'
	printf.sh[322]: warning: GNU 'date' not available -- printf %T 'ago' tests skipped
test printf failed at 2024-04-15+09:20:00 with exit code 2 [ 260 tests 2 errors ]
test printf(C.UTF-8) begins at 2024-04-15+09:20:00
	printf.sh[217]: FAIL: Historical changes (bad time): printf '%(%Y-%m-%d %H:%M:%S)T' '#236961303': expected '1977-07-05 17:35:03', got '1977-07-05 14:35:03'
	printf.sh[220]: FAIL: Historical changes (bad time): printf '%(%Y-%m-%d %H:%M:%S)T' '#0': expected '1970-01-01 01:00:00', got '1970-01-01 00:00:00'
	printf.sh[322]: warning: GNU 'date' not available -- printf %T 'ago' tests skipped
test printf(C.UTF-8) failed at 2024-04-15+09:20:00 with exit code 2 [ 260 tests 2 errors ]
test printf(shcomp) begins at 2024-04-15+09:20:00
	shcomp-printf.ksh[217]: FAIL: Historical changes (bad time): printf '%(%Y-%m-%d %H:%M:%S)T' '#236961303': expected '1977-07-05 17:35:03', got '1977-07-05 14:35:03'
	shcomp-printf.ksh[220]: FAIL: Historical changes (bad time): printf '%(%Y-%m-%d %H:%M:%S)T' '#0': expected '1970-01-01 01:00:00', got '1970-01-01 00:00:00'
	shcomp-printf.ksh[322]: warning: GNU 'date' not available -- printf %T 'ago' tests skipped
test printf(shcomp) failed at 2024-04-15+09:20:00 with exit code 2 [ 260 tests 2 errors ]
test pty begins at 2024-04-15+09:20:00
	pty.sh[108]: warning: tput(1) not available on default path; tests that require multiline editing are skipped
	pty.sh[227]: warning: running as root: skipping test POSIX sh 096(C)
	pty.sh[272]: warning: running as root: skipping test POSIX sh 099(C)
	pty.sh[382]: warning: running as root: skipping test POSIX sh 111(C)
	pty.sh[406]: warning: running as root: skipping test POSIX sh 251(C)
	pty.sh[642]: FAIL: emacs backslash escaping: line 652: expected "^:test-2: set -o emacs$", got ":test-2: "
	pty.sh[642]: FAIL: emacs backslash escaping: line 656: expected "true \^C", got ""
	pty.sh[659]: FAIL: vi filename completion menu: line 689: expected "^:test-3: ls vi_completion_A_file\r\n$", got ":test-4: ls vi_completion_A_file\r\n"
	pty.sh[693]: FAIL: syntax error added to history file: line 705: expected "\tdo something\r\n$", got "/ksh/arch/linux.i386-64/bin/ksh: fc: cannot open history file [No such file or directory]\r\n"
	pty.sh[819]: FAIL: split on quoted whitespace when extracting words from command history: line 829: expected "^:test-2: : One\\ "Two Three"\$'Four Five'\.mp3\r\n$", got ":test-2: \r\n"
	pty.sh[1107]: FAIL: failure to start new reverse search in emacs mode: line 1118: expected "WRONG", got EOF
	pty.sh[1124]: FAIL: backwards reverse search in vi mode: line 1139: expected "Correct", got EOF
	pty.sh[1142]: FAIL: backwards reverse search in emacs mode: line 1157: expected "Correct", got EOF
test pty failed at 2024-04-15+09:20:36 with exit code 8 [ 64 tests 8 errors ]
test pty(C.UTF-8) begins at 2024-04-15+09:20:36
	pty.sh[108]: warning: tput(1) not available on default path; tests that require multiline editing are skipped
	pty.sh[227]: warning: running as root: skipping test POSIX sh 096(C)
	pty.sh[272]: warning: running as root: skipping test POSIX sh 099(C)
	pty.sh[382]: warning: running as root: skipping test POSIX sh 111(C)
	pty.sh[406]: warning: running as root: skipping test POSIX sh 251(C)
	pty.sh[642]: FAIL: emacs backslash escaping: line 652: expected "^:test-2: set -o emacs$", got ":test-2: "
	pty.sh[642]: FAIL: emacs backslash escaping: line 656: expected "true \^C", got ""
	pty.sh[659]: FAIL: vi filename completion menu: line 689: expected "^:test-3: ls vi_completion_A_file\r\n$", got ":test-4: ls vi_completion_A_file\r\n"
	pty.sh[693]: FAIL: syntax error added to history file: line 705: expected "\tdo something\r\n$", got "/ksh/arch/linux.i386-64/bin/ksh: fc: cannot open history file [No such file or directory]\r\n"
	pty.sh[819]: FAIL: split on quoted whitespace when extracting words from command history: line 829: expected "^:test-2: : One\\ "Two Three"\$'Four Five'\.mp3\r\n$", got ":test-2: \r\n"
	pty.sh[1107]: FAIL: failure to start new reverse search in emacs mode: line 1118: expected "WRONG", got EOF
	pty.sh[1124]: FAIL: backwards reverse search in vi mode: line 1139: expected "Correct", got EOF
	pty.sh[1142]: FAIL: backwards reverse search in emacs mode: line 1157: expected "Correct", got EOF
test pty(C.UTF-8) failed at 2024-04-15+09:21:14 with exit code 8 [ 64 tests 8 errors ]
test quoting begins at 2024-04-15+09:21:14
test quoting passed at 2024-04-15+09:21:15 [ 96 tests 0 errors ]
test quoting(C.UTF-8) begins at 2024-04-15+09:21:15
test quoting(C.UTF-8) passed at 2024-04-15+09:21:16 [ 96 tests 0 errors ]
test quoting(shcomp) begins at 2024-04-15+09:21:16
test quoting(shcomp) passed at 2024-04-15+09:21:17 [ 96 tests 0 errors ]
test quoting2 begins at 2024-04-15+09:21:17
test quoting2 passed at 2024-04-15+09:21:17 [ 86 tests 0 errors ]
test quoting2(C.UTF-8) begins at 2024-04-15+09:21:17
test quoting2(C.UTF-8) passed at 2024-04-15+09:21:17 [ 86 tests 0 errors ]
test quoting2(shcomp) begins at 2024-04-15+09:21:17
test quoting2(shcomp) passed at 2024-04-15+09:21:17 [ 86 tests 0 errors ]
test readcsv begins at 2024-04-15+09:21:17
test readcsv passed at 2024-04-15+09:21:17 [ 4 tests 0 errors ]
test readcsv(C.UTF-8) begins at 2024-04-15+09:21:17
test readcsv(C.UTF-8) passed at 2024-04-15+09:21:17 [ 4 tests 0 errors ]
test readcsv(shcomp) begins at 2024-04-15+09:21:17
test readcsv(shcomp) passed at 2024-04-15+09:21:17 [ 4 tests 0 errors ]
test readonly begins at 2024-04-15+09:21:17
test readonly passed at 2024-04-15+09:21:17 [ 12 tests 0 errors ]
test readonly(C.UTF-8) begins at 2024-04-15+09:21:17
test readonly(C.UTF-8) passed at 2024-04-15+09:21:17 [ 12 tests 0 errors ]
test readonly(shcomp) begins at 2024-04-15+09:21:17
test readonly(shcomp) passed at 2024-04-15+09:21:17 [ 12 tests 0 errors ]
test recttype begins at 2024-04-15+09:21:17
test recttype passed at 2024-04-15+09:21:17 [ 8 tests 0 errors ]
test recttype(C.UTF-8) begins at 2024-04-15+09:21:17
test recttype(C.UTF-8) passed at 2024-04-15+09:21:17 [ 8 tests 0 errors ]
test recttype(shcomp) begins at 2024-04-15+09:21:17
test recttype(shcomp) passed at 2024-04-15+09:21:17 [ 8 tests 0 errors ]
test restricted begins at 2024-04-15+09:21:17
test restricted passed at 2024-04-15+09:21:17 [ 21 tests 0 errors ]
test restricted(C.UTF-8) begins at 2024-04-15+09:21:17
test restricted(C.UTF-8) passed at 2024-04-15+09:21:17 [ 21 tests 0 errors ]
test restricted(shcomp) begins at 2024-04-15+09:21:17
test restricted(shcomp) passed at 2024-04-15+09:21:17 [ 21 tests 0 errors ]
test return begins at 2024-04-15+09:21:17
test return passed at 2024-04-15+09:21:17 [ 52 tests 0 errors ]
test return(C.UTF-8) begins at 2024-04-15+09:21:17
test return(C.UTF-8) passed at 2024-04-15+09:21:17 [ 52 tests 0 errors ]
test return(shcomp) begins at 2024-04-15+09:21:17
test return(shcomp) passed at 2024-04-15+09:21:17 [ 52 tests 0 errors ]
test sh_match begins at 2024-04-15+09:21:17
test sh_match passed at 2024-04-15+09:21:17 [ 131 tests 0 errors ]
test sh_match(C.UTF-8) begins at 2024-04-15+09:21:17
test sh_match(C.UTF-8) passed at 2024-04-15+09:21:17 [ 131 tests 0 errors ]
test sh_match(shcomp) begins at 2024-04-15+09:21:17
test sh_match(shcomp) passed at 2024-04-15+09:21:18 [ 131 tests 0 errors ]
test sigchld begins at 2024-04-15+09:21:18
test sigchld passed at 2024-04-15+09:21:26 [ 14 tests 0 errors ]
test sigchld(C.UTF-8) begins at 2024-04-15+09:21:26
test sigchld(C.UTF-8) passed at 2024-04-15+09:21:34 [ 14 tests 0 errors ]
test sigchld(shcomp) begins at 2024-04-15+09:21:34
test sigchld(shcomp) passed at 2024-04-15+09:21:42 [ 14 tests 0 errors ]
test signal begins at 2024-04-15+09:21:42
test signal passed at 2024-04-15+09:21:53 [ 56 tests 0 errors ]
test signal(C.UTF-8) begins at 2024-04-15+09:21:53
test signal(C.UTF-8) passed at 2024-04-15+09:22:05 [ 56 tests 0 errors ]
test signal(shcomp) begins at 2024-04-15+09:22:05
test signal(shcomp) passed at 2024-04-15+09:22:16 [ 56 tests 0 errors ]
test statics begins at 2024-04-15+09:22:16
test statics passed at 2024-04-15+09:22:16 [ 7 tests 0 errors ]
test statics(C.UTF-8) begins at 2024-04-15+09:22:16
test statics(C.UTF-8) passed at 2024-04-15+09:22:16 [ 7 tests 0 errors ]
test statics(shcomp) begins at 2024-04-15+09:22:16
test statics(shcomp) passed at 2024-04-15+09:22:16 [ 7 tests 0 errors ]
test subshell begins at 2024-04-15+09:22:16
test subshell passed at 2024-04-15+09:22:26 [ 152 tests 0 errors ]
test subshell(C.UTF-8) begins at 2024-04-15+09:22:26
test subshell(C.UTF-8) passed at 2024-04-15+09:22:35 [ 152 tests 0 errors ]
test subshell(shcomp) begins at 2024-04-15+09:22:35
test subshell(shcomp) passed at 2024-04-15+09:22:44 [ 152 tests 0 errors ]
test substring begins at 2024-04-15+09:22:44
test substring passed at 2024-04-15+09:22:45 [ 228 tests 0 errors ]
test substring(C.UTF-8) begins at 2024-04-15+09:22:45
test substring(C.UTF-8) passed at 2024-04-15+09:22:47 [ 228 tests 0 errors ]
test substring(shcomp) begins at 2024-04-15+09:22:47
test substring(shcomp) passed at 2024-04-15+09:22:48 [ 228 tests 0 errors ]
test tilde begins at 2024-04-15+09:22:48
test tilde passed at 2024-04-15+09:22:48 [ 26 tests 0 errors ]
test tilde(C.UTF-8) begins at 2024-04-15+09:22:48
test tilde(C.UTF-8) passed at 2024-04-15+09:22:48 [ 26 tests 0 errors ]
test tilde(shcomp) begins at 2024-04-15+09:22:48
test tilde(shcomp) passed at 2024-04-15+09:22:48 [ 26 tests 0 errors ]
test timetype begins at 2024-04-15+09:22:48
test timetype passed at 2024-04-15+09:22:48 [ 18 tests 0 errors ]
test timetype(C.UTF-8) begins at 2024-04-15+09:22:48
test timetype(C.UTF-8) passed at 2024-04-15+09:22:48 [ 18 tests 0 errors ]
test timetype(shcomp) begins at 2024-04-15+09:22:48
test timetype(shcomp) passed at 2024-04-15+09:22:48 [ 18 tests 0 errors ]
test treemove begins at 2024-04-15+09:22:48
test treemove passed at 2024-04-15+09:22:48 [ 10 tests 0 errors ]
test treemove(C.UTF-8) begins at 2024-04-15+09:22:48
test treemove(C.UTF-8) passed at 2024-04-15+09:22:48 [ 10 tests 0 errors ]
test treemove(shcomp) begins at 2024-04-15+09:22:48
test treemove(shcomp) passed at 2024-04-15+09:22:48 [ 10 tests 0 errors ]
test types begins at 2024-04-15+09:22:48
test types passed at 2024-04-15+09:22:48 [ 101 tests 0 errors ]
test types(C.UTF-8) begins at 2024-04-15+09:22:48
test types(C.UTF-8) passed at 2024-04-15+09:22:48 [ 101 tests 0 errors ]
test types(shcomp) begins at 2024-04-15+09:22:48
test types(shcomp) passed at 2024-04-15+09:22:48 [ 101 tests 0 errors ]
test variables begins at 2024-04-15+09:22:48
	variables.sh[861]: warning: C library does not seem to verify locales: skipping LC_* tests
test variables passed at 2024-04-15+09:22:49 [ 214 tests 0 errors ]
test variables(C.UTF-8) begins at 2024-04-15+09:22:49
	variables.sh[861]: warning: C library does not seem to verify locales: skipping LC_* tests
test variables(C.UTF-8) passed at 2024-04-15+09:22:49 [ 214 tests 0 errors ]
test variables(shcomp) begins at 2024-04-15+09:22:49
	shcomp-variables.ksh[861]: warning: C library does not seem to verify locales: skipping LC_* tests
test variables(shcomp) passed at 2024-04-15+09:22:50 [ 214 tests 0 errors ]
test vartree1 begins at 2024-04-15+09:22:50
test vartree1 passed at 2024-04-15+09:22:50 [ 9 tests 0 errors ]
test vartree1(C.UTF-8) begins at 2024-04-15+09:22:50
test vartree1(C.UTF-8) passed at 2024-04-15+09:22:50 [ 9 tests 0 errors ]
test vartree1(shcomp) begins at 2024-04-15+09:22:50
test vartree1(shcomp) passed at 2024-04-15+09:22:50 [ 9 tests 0 errors ]
test vartree2 begins at 2024-04-15+09:22:50
test vartree2 passed at 2024-04-15+09:22:50 [ 21 tests 0 errors ]
test vartree2(C.UTF-8) begins at 2024-04-15+09:22:50
test vartree2(C.UTF-8) passed at 2024-04-15+09:22:50 [ 21 tests 0 errors ]
test vartree2(shcomp) begins at 2024-04-15+09:22:50
test vartree2(shcomp) passed at 2024-04-15+09:22:50 [ 21 tests 0 errors ]
Total errors: 25
CPU time       user:      system:
main:      0m00.119s    0m00.119s
tests:     0m58.242s    0m25.885s
mamake [cmd/ksh93]: *** exit code 25 making test.ksh
mamake: *** exit code 1 making cmd/ksh93
mamake: *** exit code 1 making all
package: test failed at Mon Apr 15 09:22:51 UTC 2024 in /ksh/arch/linux.i386-64

JohnoKing added a commit to JohnoKing/ksh that referenced this issue Apr 17, 2024
This commit removes obsolete compatibility code that was causing
compilation errors on Alpine Linux when the fortify-headers package is
installed. In short, the readlink, symlink and realpath compatibility
functions in src/lib/libast/comp don't work with Alpine Linux's
fortified headers. None of these functions are necessary to compile on
current operating systems (tested on Linux with glibc and musl,
{Free,Net,Open,DragonFly}BSD, illumos, Haiku and Cygwin) so these can be
safely deleted. Additionally, some spurious macro hackery relating to
strlcpy, strlcat and networking functions used in libcmd uname has also
been deleted. (The patch to univlib.h is taken from
ksh93#743 (comment).)

Co-authored-by: xorrvin <[email protected]>
JohnoKing added a commit to JohnoKing/ksh that referenced this issue Apr 17, 2024
This commit removes obsolete compatibility code that was causing
compilation errors on Alpine Linux when the fortify-headers package is
installed. In short, the readlink, symlink and realpath compatibility
functions in src/lib/libast/comp don't work with Alpine Linux's
fortified headers. None of these functions are necessary to compile on
current operating systems (tested on Linux with glibc and musl,
{Free,Net,Open,DragonFly}BSD, illumos, Haiku and Cygwin) so these can be
safely deleted. Additionally, some spurious macro hackery relating to
strlcpy, strlcat and networking functions used in libcmd uname has also
been deleted. (The patch to univlib.h is taken from
ksh93#743 (comment).)

Co-authored-by: xorrvin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
buildfail Does not compile
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants