ksh: Build fails on FreeBSD aarch64
It might be rather nooby problem(as I am not a programmer) but I have a problem with compiling any ksh on Freebsd 12.2 aarch64. I have tried att/ast one and this repo as it is marked as broken for arm64 architecture in ports. When I run package make, ends at the error shown below. I have read both open and closed issues but could not found the similar one so I am posting here. Any ideas how to make it compile? Thank you for your help.
package: make start at Tue Jan 12 17:26:27 UTC 2021 in /home/freebsd/ksh/arch/freebsd12.arm64-64
CC=cc
SHELL=/usr/local/bin/bash
HOSTTYPE=freebsd12.arm64-64
NPROC=4
PACKAGEROOT=/home/freebsd/ksh
INSTALLROOT=/home/freebsd/ksh/arch/freebsd12.arm64-64
PATH=/home/freebsd/ksh/arch/freebsd12.arm64-64/bin/ok:/home/freebsd/ksh/arch/freebsd12.arm64-64/bin:/home/freebsd/ksh/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/freebsd/bin
+ mamake -r '*/*' install
+ mamake -C cmd/INIT install
+ test '' = ignore
+ /usr/bin/cmp -s ignore /home/freebsd/ksh/bin/ignore
+ test '' = mamprobe
+ /usr/bin/cmp -s mamprobe /home/freebsd/ksh/bin/mamprobe
+ test '' = package
+ /usr/bin/cmp -s package /home/freebsd/ksh/bin/package
+ test '' = silent
+ /usr/bin/cmp -s silent /home/freebsd/ksh/bin/silent
+ test '' = package.mk
+ /usr/bin/cmp -s /home/freebsd/ksh/src/cmd/INIT/package.mk /home/freebsd/ksh/arch/freebsd12.arm64-64/lib/make/package.mk
+ test '' = mamake
+ /usr/bin/cmp -s mamake /home/freebsd/ksh/arch/freebsd12.arm64-64/bin/mamake
+ test '' = proto
+ /usr/bin/cmp -s proto /home/freebsd/ksh/arch/freebsd12.arm64-64/bin/proto
+ test '' = ratz
+ /usr/bin/cmp -s ratz /home/freebsd/ksh/arch/freebsd12.arm64-64/bin/ratz
+ test '' = release
+ /usr/bin/cmp -s release /home/freebsd/ksh/arch/freebsd12.arm64-64/bin/release
+ test '!' -x /home/freebsd/ksh/arch/freebsd12.arm64-64/bin/mkdir -a -x /bin/mkdir
+ mkdir -p
+ :
+ test -d ./-p
+ test '' = mprobe
+ /usr/bin/cmp -s mprobe /home/freebsd/ksh/arch/freebsd12.arm64-64/lib/probe/C/mam/probe
+ test '' = probe
+ /usr/bin/cmp -s probe /home/freebsd/ksh/arch/freebsd12.arm64-64/lib/probe/C/make/probe
+ test '' = prototyped.h
+ /usr/bin/cmp -s prototyped.h /home/freebsd/ksh/arch/freebsd12.arm64-64/include/ast/prototyped.h
+ test '' = dl.req
+ /usr/bin/cmp -s dl.req /home/freebsd/ksh/arch/freebsd12.arm64-64/lib/lib/dl
+ mamake -C lib/libast install
+ test '' = man/LIBAST.3
+ /usr/bin/cmp -s /home/freebsd/ksh/src/lib/libast/man/LIBAST.3 /home/freebsd/ksh/arch/freebsd12.arm64-64/man/man3/LIBAST.3
+ test '' = ast.req
+ /usr/bin/cmp -s ast.req /home/freebsd/ksh/arch/freebsd12.arm64-64/lib/lib/ast
+ proto -p -s -l /home/freebsd/ksh/lib/package/ast.lic '-o since=1985,author=gsf+dgk+kpv' ast_common.h
+ cmp -s /home/freebsd/ksh/arch/freebsd12.arm64-64/include/ast/ast_common.h 1.1819.x
+ rm -f 1.1819.x
+ case freebsd12.arm64-64 in
+ silent grep -l 'define[ ][ ]*_[hl][di][rb]_fmtmsg' ast_lib.h
+ case freebsd12.arm64-64 in
+ silent grep -l 'define[ ][ ]*_[hl][di][rb]_libgen' ast_lib.h
+ case freebsd12.arm64-64 in
+ silent grep -l 'define[ ][ ]*_[hl][di][rb]_syslog' ast_lib.h
+ mamake -C lib/libdll install
+ cc -D_BLD_DLL -fPIC '-D_AST_git_commit="4d5e21de"' -I. -I/home/freebsd/ksh/src/lib/libdll -I/home/freebsd/ksh/arch/freebsd12.arm64-64/include/ast -D_PACKAGE_ast -D_BLD_dll -c /home/freebsd/ksh/src/lib/libdll/dllplug.c
/home/freebsd/ksh/src/lib/libdll/dllplug.c:41:2: error: unknown type name 'Dllscan_t'; did you mean 'Dllstate_t'?
Dllscan_t* dls;
^~~~~~~~~
Dllstate_t
/home/freebsd/ksh/src/lib/libdll/dlllib.h:32:3: note: 'Dllstate_t' declared here
} Dllstate_t;
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:42:2: error: use of undeclared identifier 'Dllent_t'
Dllent_t* dle;
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:42:12: error: use of undeclared identifier 'dle'
Dllent_t* dle;
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:47:13: warning: implicit declaration of function 'dllsopen' is invalid in C99 [-Wimplicit-function-declaration]
if (dls = dllsopen(lib, name, ver))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:47:11: warning: incompatible integer to pointer conversion assigning to 'Dllstate_t *' (aka 'struct Dllstate_s *') from 'int' [-Wint-conversion]
if (dls = dllsopen(lib, name, ver))
^ ~~~~~~~~~~~~~~~~~~~~~~~~
/home/freebsd/ksh/src/lib/libdll/dllplug.c:49:17: warning: implicit declaration of function 'dllsread' is invalid in C99 [-Wimplicit-function-declaration]
while (dle = dllsread(dls))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:49:11: error: use of undeclared identifier 'dle'
while (dle = dllsread(dls))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:55:15: warning: implicit declaration of function 'dllopen' is invalid in C99 [-Wimplicit-function-declaration]
if (dll = dllopen(dle->path, flags|RTLD_GLOBAL|RTLD_PARENT))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:55:40: error: use of undeclared identifier 'RTLD_GLOBAL'
if (dll = dllopen(dle->path, flags|RTLD_GLOBAL|RTLD_PARENT))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:55:52: error: use of undeclared identifier 'RTLD_PARENT'
if (dll = dllopen(dle->path, flags|RTLD_GLOBAL|RTLD_PARENT))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:55:23: error: use of undeclared identifier 'dle'
if (dll = dllopen(dle->path, flags|RTLD_GLOBAL|RTLD_PARENT))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:57:11: warning: implicit declaration of function 'dllcheck' is invalid in C99 [-Wimplicit-function-declaration]
if (!dllcheck(dll, dle->path, rel, cur))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:57:25: error: use of undeclared identifier 'dle'
if (!dllcheck(dll, dle->path, rel, cur))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:60:7: warning: implicit declaration of function 'dlclose' is invalid in C99 [-Wimplicit-function-declaration]
dlclose(dll);
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:65:21: error: use of undeclared identifier 'dle'
strlcpy(path, dle->path, size);
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:93:74: warning: implicit declaration of function 'dllerror' is invalid in C99 [-Wimplicit-function-declaration]
errorf("dll", NiL, 1, "dllplugin: %s dlopen failed: %s", dle->path, dllerror(1));
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:93:63: error: use of undeclared identifier 'dle'
errorf("dll", NiL, 1, "dllplugin: %s dlopen failed: %s", dle->path, dllerror(1));
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:97:4: warning: implicit declaration of function 'dllsclose' is invalid in C99 [-Wimplicit-function-declaration]
dllsclose(dls);
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:109:12: warning: implicit declaration of function 'dllopen' is invalid in C99 [-Wimplicit-function-declaration]
if (dll = dllopen(name, flags))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:109:10: warning: incompatible integer to pointer conversion assigning to 'void *' from 'int' [-Wint-conversion]
if (dll = dllopen(name, flags))
^ ~~~~~~~~~~~~~~~~~~~~
/home/freebsd/ksh/src/lib/libdll/dllplug.c:111:8: warning: implicit declaration of function 'dllcheck' is invalid in C99 [-Wimplicit-function-declaration]
if (!dllcheck(dll, name, rel, cur))
^
/home/freebsd/ksh/src/lib/libdll/dllplug.c:113:4: warning: implicit declaration of function 'dlclose' is invalid in C99 [-Wimplicit-function-declaration]
dlclose(dll);
^
12 warnings and 10 errors generated.
mamake [lib/libdll]: *** exit code 1 making dllplug.o
mamake: *** exit code 1 making lib/libdll
mamake: *** exit code 1 making all
package: make done at Tue Jan 12 17:26:28 UTC 2021 in /home/freebsd/ksh/arch/freebsd12.arm64-64
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 26
Commits related to this issue
- Build system tweaks; fix use of brk(2)/sbrk(2) feature test There is a feature test for brk(2)/sbrk(2), but it was not checked for in one place in vmbest.c, causing libdll to fail to build on FreeBSD... — committed to ksh93/ksh by McDutchie 3 years ago
- shells/ksh*: Remove BROKEN for missing sbrk() As of Jan 26, 2021, ksh (ksh93/ksh) no longer needs sbrk(). Remove BROKEN for architectures that don't have sbrk(2). See upstream issue https://github.co... — committed to freebsd/freebsd-ports by cschuber a year ago
It has compiled successfully. Thank you again!
@McDutchie To assist in these efforts, I can give you temporary access to a FreeBSD arm64 little box. Just message me under the #ksh channel on https://freenode.net/ using the https://webchat.freenode.net/ or another compatible IRC app.