[schilytools] [RELEASE] 2023-09-28
Dennis Clarke
dclarke at blastwave.org
Sun Oct 1 05:27:10 CEST 2023
On 9/28/23 15:48, Robert Clausecker wrote:
> Dear schilytools users,
>
> I am proud to present the 2023-09-28 release of schilytools.
> This is largely a bug fix release. We hope that you find it
> useful.
>
> Please obtain the release tarball schily-2023-09-28.tar.bz2 from one
> of the hosts listed below. The SHA3-384 checksum is:
>
> 43bf43201aa482be0f592e801873b71e3ef1cdd6f942f82d2caddb7808e5ca48e2ff294f805eedb03bad4edf9a96331d
>
Thus far it seems to pretty much just compile fine on most machines.
Certainly no problem on FreeBSD 13.2-p3 on AMD64.
However on a FreeBSD 15.0-CURRENT machine it blows up rather neatly :
.
.
.
==> MAKING DEPENDENCIES "OBJ/amd64-freebsd-clang/misc.d"
==> MAKING DEPENDENCIES "OBJ/amd64-freebsd-clang/mksh.d"
==> MAKING DEPENDENCIES "OBJ/amd64-freebsd-clang/read.d"
==> COMPILING "OBJ/amd64-freebsd-clang/dosys.o"
In file included from dosys.cc:64:
In file included from ../../../include/mksh/defs.h:114:
../../../include/vroot/vroot.h:58:30: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern void add_dir_to_path(register const char *path,
register pathpt *pointer, register int position);
^~~~~~~~~
../../../include/vroot/vroot.h:58:57: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern void add_dir_to_path(register const char *path,
register pathpt *pointer, register int position);
^~~~~~~~~
../../../include/vroot/vroot.h:58:83: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern void add_dir_to_path(register const char *path,
register pathpt *pointer, register int position);
^~~~~~~~~
../../../include/vroot/vroot.h:62:30: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern char *get_vroot_path(register char **vroot, register
char **path, register char **filename);
^~~~~~~~~
../../../include/vroot/vroot.h:62:53: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern char *get_vroot_path(register char **vroot, register
char **path, register char **filename);
^~~~~~~~~
../../../include/vroot/vroot.h:62:75: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern char *get_vroot_path(register char **vroot, register
char **path, register char **filename);
^~~~~~~~~
../../../include/vroot/vroot.h:65:34: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern pathpt parse_path_string(register char *string,
register int remove_slash);
^~~~~~~~~
../../../include/vroot/vroot.h:65:57: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern pathpt parse_path_string(register char *string,
register int remove_slash);
^~~~~~~~~
In file included from dosys.cc:65:
../../../include/mksh/dosys.h:42:22: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern Boolean await(register Boolean ignore_error, register Boolean
silent_error, Name target, wchar_t *command, pid_t running_pid, Boolean
send_mtool_msgs, void *xdrs, int job_msg_id);
^~~~~~~~~
../../../include/mksh/dosys.h:42:53: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern Boolean await(register Boolean ignore_error, register Boolean
silent_error, Name target, wchar_t *command, pid_t running_pid, Boolean
send_mtool_msgs, void *xdrs, int job_msg_id);
^~~~~~~~~
../../../include/mksh/dosys.h:44:19: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern int doexec(register wchar_t *command, register Boolean
ignore_error, Boolean redirect_out_err, char *stdout_file, char
*stderr_file, pathpt vroot_path, int nice_prio);
^~~~~~~~~
../../../include/mksh/dosys.h:44:46: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern int doexec(register wchar_t *command, register Boolean
ignore_error, Boolean redirect_out_err, char *stdout_file, char
*stderr_file, pathpt vroot_path, int nice_prio);
^~~~~~~~~
../../../include/mksh/dosys.h:45:38: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern int doshell(wchar_t *command, register Boolean ignore_error,
Boolean redirect_out_err, char *stdout_file, char *stderr_file, int
nice_prio);
^~~~~~~~~
../../../include/mksh/dosys.h:46:26: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern Doname dosys_mksh(register Name command, register Boolean
ignore_error, register Boolean call_make, Boolean silent_error, Boolean
always_exec, Name target, Boolean redirect_out_err, char *stdout_file,
char *stderr_file, pathpt vroot_path, int nice_prio);
^~~~~~~~~
../../../include/mksh/dosys.h:46:49: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern Doname dosys_mksh(register Name command, register Boolean
ignore_error, register Boolean call_make, Boolean silent_error, Boolean
always_exec, Name target, Boolean redirect_out_err, char *stdout_file,
char *stderr_file, pathpt vroot_path, int nice_prio);
^~~~~~~~~
../../../include/mksh/dosys.h:46:80: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern Doname dosys_mksh(register Name command, register Boolean
ignore_error, register Boolean call_make, Boolean silent_error, Boolean
always_exec, Name target, Boolean redirect_out_err, char *stdout_file,
char *stderr_file, pathpt vroot_path, int nice_prio);
^~~~~~~~~
../../../include/mksh/dosys.h:48:31: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern void sh_command2string(register String command, register
String destination);
^~~~~~~~~
../../../include/mksh/dosys.h:48:56: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern void sh_command2string(register String command, register
String destination);
^~~~~~~~~
In file included from dosys.cc:66:
../../../include/mksh/macro.h:53:26: error: ISO C++17 does not allow
'register' storage class specifier [-Wregister]
extern void expand_macro(register Source source, register String
destination, wchar_t *current_string, Boolean cmd, Expand_Type exp_type
= deflt_expand);
^~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
smake: *** Code 1 (Operation not permitted) from command line for target
'OBJ/amd64-freebsd-clang/dosys.o'.
smake: The following command caused the error:
echo " ==> COMPILING \"OBJ/amd64-freebsd-clang/dosys.o\""; clang++
-Wall -Wno-unknown-pragmas -Wshadow -Wmissing-prototypes
-Wstrict-prototypes -Wno-deprecated-register -O -DSCHILY_BUILD
-IOBJ/amd64-freebsd-clang -I../../../../../incs/amd64-freebsd-clang
-I../../../../../include -I../../../../include -I../../../include
-DSCHILY_INCLUDES -DUSE_LARGEFILES -DSUN5_0 -DSUNOS4_AND_AFTER -DPMAKE
-DREDIRECT_ERR -I/usr/local/include -c -o
OBJ/amd64-freebsd-clang/dosys.o dosys.cc
smake: Couldn't make 'all'.
smake: Leaving '/root/schily-2023-09-28/./psmake/smake'[3] from
directory '/root/schily-2023-09-28/sunpro/Make/lib/mksh/src'
smake: Default commandline target: 'all'
smake: Doing exit(1)
smake: *** Code 1 (Operation not permitted) from command line for target
'all'.
smake: The following command caused the error:
list="lib/bsd/src lib/mksh/src lib/vroot/src lib/makestate/src
bin/make/common"; \
if [ -d TARGETS -a -f TARGETS/__slot ]; then
\
list=`echo TARGETS/[0123456789][0123456789]* |
\
sed -e 's;TARGETS/[0123456789][0123456789];;g'
| sed -e 's;!@!;/;g'`;\
fi;
\
for DIR in ${list} ;
\
do
\
(
\
echo " ==> MAKING \"all\" ON SUBDIRECTORY
\"SRCROOT/sunpro/Make/$DIR\"";\
if [ -d ./$DIR -a -r ./$DIR/Makefile ] ; then
\
cd ./$DIR &&
"/root/schily-2023-09-28/./psmake/smake" XARCH=amd64-freebsd-clang
DIRNAME=SRCROOT/sunpro/Make/$DIR all; \
else
\
echo "NOTICE: Partial source
(SRCROOT/sunpro/Make/$DIR) missing";\
fi
\
);
\
done
smake: Couldn't make 'all'.
smake: Leaving '/root/schily-2023-09-28/./psmake/smake'[2] from
directory '/root/schily-2023-09-28/sunpro/Make'
smake: Default commandline target: 'all'
smake: Doing exit(1)
smake: *** Code 1 (Operation not permitted) from command line for target
'all'.
smake: The following command caused the error:
list="Make"; \
if [ -d TARGETS -a -f TARGETS/__slot ]; then
\
list=`echo TARGETS/[0123456789][0123456789]* |
\
sed -e 's;TARGETS/[0123456789][0123456789];;g'
| sed -e 's;!@!;/;g'`;\
fi;
\
for DIR in ${list} ;
\
do
\
(
\
echo " ==> MAKING \"all\" ON SUBDIRECTORY
\"SRCROOT/sunpro/$DIR\"";\
if [ -d ./$DIR -a -r ./$DIR/Makefile ] ; then
\
cd ./$DIR &&
"/root/schily-2023-09-28/./psmake/smake" XARCH=amd64-freebsd-clang
DIRNAME=SRCROOT/sunpro/$DIR all; \
else
\
echo "NOTICE: Partial source
(SRCROOT/sunpro/$DIR) missing";\
fi
\
);
\
done
smake: Couldn't make 'all'.
smake: Leaving '/root/schily-2023-09-28/./psmake/smake'[1] from
directory '/root/schily-2023-09-28/sunpro'
smake: Default commandline target: 'all'
smake: Doing exit(1)
smake: *** Code 1 (Operation not permitted) from command line for target
'all'.
smake: The following command caused the error:
list=""; \
if [ -d TARGETS -a -f TARGETS/__slot ]; then
\
list=`echo TARGETS/[0123456789][0123456789]* |
\
sed -e 's;TARGETS/[0123456789][0123456789];;g'
| sed -e 's;!@!;/;g'`;\
fi;
\
for DIR in ${list} ;
\
do
\
(
\
echo " ==> MAKING \"all\" ON SUBDIRECTORY
\"SRCROOT/$DIR\"";\
if [ -d ./$DIR -a -r ./$DIR/Makefile ] ; then
\
cd ./$DIR &&
"/root/schily-2023-09-28/./psmake/smake" XARCH=amd64-freebsd-clang
DIRNAME=SRCROOT/$DIR all; \
else
\
echo "NOTICE: Partial source (SRCROOT/$DIR)
missing";\
fi
\
);
\
done
smake: Couldn't make 'all'.
hydra#
I guess the LLVM/Clang ver 16.0.6 is to blame here and maybe there needs
to be a way to enforce C99 or something.
hydra# cc --version
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git
llvmorg-16.0.6-0-g7cbf1a259152)
Target: x86_64-unknown-freebsd15.0
Thread model: posix
InstalledDir: /usr/bin
hydra#
hydra#
hydra# uname -apKU
FreeBSD hydra 15.0-CURRENT FreeBSD 15.0-CURRENT #0
main-n265508-0a5d2802b41f: Mon Sep 25 14:53:05 GMT 2023
root at hydra:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 amd64 1500001
1500001
hydra#
Looking into FreeBSD ports https://www.freshports.org/misc/schilytools
it looks to be the revision from April so I will just let that build
cleanly on FreeBSD CURRENT and not get too overly concerned.
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
More information about the schilytools
mailing list