Can't build 5 ports in arm64/aarch64 on PBP

KIRIYAMA Kazuhiko <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Hi, lists

I've tried to build arm64/aarch64 packages on Pinebook Pro (PBP). 15 ports
out of 80 were failed. Besides ports which could not be built in
arm64/aarch64 in the first place, 9 ports remained. 4 ports out of the 9 are
textproc/smartdoc-devel, print/pdftk, japanese/libreoffice,
java/icedtea-web. These could be built by upgrade Jave version from 8 to 12.
Eventually, followng 5 ports remained with CANNOT BUILD PORTS :

1) japanese/tgif, graphics/inkscape, japanese/xv

These were failed with linker error at graphics/jasper :

ld: error: undefined symbol: glutSetWindowTitle
>>> referenced by jiv.c
>>>               src/appl/CMakeFiles/jiv.dir/jiv.c.o:(loadimage)

ld: error: undefined symbol: glutTimerFunc
>>> referenced by jiv.c
>>>               src/appl/CMakeFiles/jiv.dir/jiv.c.o:(loadimage)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[4]: stopped in /var/ports/lpbpkx/graphics/jasper

2) www/firefox

Failed at devel/llvm13 :

[ 65% 4725/7265] /usr/bin/c++ -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/ports/work/usr/ports/devel/llvm13/work/.build/tools/flang/lib/Evaluate -I/var/ports/work/usr/ports/devel/llvm13/work/llvm-project-13.0.0.src/flang/lib/Evaluate -I/var/ports/work/usr/ports/devel/llvm13/work/llvm-project-13.0.0.src/flang/include -I/var/ports/work/usr/ports/devel/llvm13/work/.build/tools/flang/include -I/var/ports/work/usr/ports/devel/llvm13/work/.build/include -I/var/ports/work/usr/ports/devel/llvm13/work/llvm-project-13.0.0.src/llvm/include -isystem /var/ports/work/usr/ports/devel/llvm13/work/llvm-project-13.0.0.src/llvm/../mlir/include -isystem /var/ports/work/usr/ports/devel/llvm13/work/.build/tools/mlir/include -isystem /var/ports/work/usr/ports/devel/llvm13/work/.build/tools/clang/include -isystem /var/ports/work/usr/ports/devel/llvm13/work/llvm-project-13.0.0.src/llvm/../clang/include -O2 -pipe -DNDEBUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DNDEBUG -isystem /usr/local/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O2 -pipe -DNDEBUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -DNDEBUG -isystem /usr/local/include  -fno-exceptions -std=c++17 -MD -MT tools/flang/lib/Evaluate/CMakeFiles/obj.FortranEvaluate.dir/check-expression.cpp.o -MF tools/flang/lib/Evaluate/CMakeFiles/obj.FortranEvaluate.dir/check-expression.cpp.o.d -o tools/flang/lib/Evaluate/CMakeFiles/obj.FortranEvaluate.dir/check-expression.cpp.o -c /var/ports/work/usr/ports/devel/llvm13/work/llvm-project-13.0.0.src/flang/lib/Evaluate/check-expression.cpp
ninja: build stopped: subcommand failed.
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[3]: stopped in /var/ports/lpbpkx/devel/llvm13
*** Error code 1

Stop.
make[2]: stopped in /var/ports/lpbpkx/devel/wasi-libc
*** Error code 1

Stop.
make[1]: stopped in /var/ports/lpbpkx/devel/wasi-libcxx
*** Error code 1

Stop.
make: stopped in /usr/ports/www/firefox

3) www/chromium

Failed with "'__CPUELT' is invalid in C99" at sysutils/flock :

libtool: compile:  cc -DHAVE_CONFIG_H -I. -include config.h -I./include -DLOCALEDIR=\"/usr/local/share/locale\" -D_PATH_LOCALSTATEDIR=\"/var\" -I/usr/local/include -fsigned-char -fno-common -Wall -Werror=sequence-point -Wextra -Wextra-se
mi -Wembedded-directive -Wmissing-declarations -Wmissing-prototypes -Wno-missing-field-initializers -Wredundant-decls -Wsign-compare -Wtype-limits -Wuninitialized -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-parameter -W
unused-result -Wunused-variable -Wnested-externs -Wpointer-arith -Wstrict-prototypes -Wformat-security -Wimplicit-function-declaration -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -MT lib/libcommon_la-parse-date.lo -MD -MP -MF
 lib/.deps/libcommon_la-parse-date.Tpo -c lib/parse-date.c -o lib/libcommon_la-parse-date.o >/dev/null 2>&1
mv -f lib/.deps/libcommon_la-parse-date.Tpo lib/.deps/libcommon_la-parse-date.Plo
/bin/sh ./libtool  --tag=CC   --mode=compile cc -DHAVE_CONFIG_H -I.  -include config.h  -I./include  -DLOCALEDIR=\"/usr/local/share/locale\"  -D_PATH_LOCALSTATEDIR=\"/var\" -I/usr/local/include -fsigned-char -fno-common -Wall -Werror=seq
uence-point -Wextra -Wextra-semi -Wembedded-directive -Wmissing-declarations -Wmissing-prototypes -Wno-missing-field-initializers -Wredundant-decls -Wsign-compare -Wtype-limits -Wuninitialized -Wunused-but-set-parameter -Wunused-but-set-
variable -Wunused-parameter -Wunused-result -Wunused-variable -Wnested-externs -Wpointer-arith -Wstrict-prototypes -Wformat-security -Wimplicit-function-declaration -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing -MT lib/libcomm
on_la-path.lo -MD -MP -MF lib/.deps/libcommon_la-path.Tpo -c -o lib/libcommon_la-path.lo `test -f 'lib/path.c' || echo './'`lib/path.c
libtool: compile:  cc -DHAVE_CONFIG_H -I. -include config.h -I./include -DLOCALEDIR=\"/usr/local/share/locale\" -D_PATH_LOCALSTATEDIR=\"/var\" -I/usr/local/include -fsigned-char -fno-common -Wall -Werror=sequence-point -Wextra -Wextra-se
mi -Wembedded-directive -Wmissing-declarations -Wmissing-prototypes -Wno-missing-field-initializers -Wredundant-decls -Wsign-compare -Wtype-limits -Wuninitialized -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-parameter -W
unused-result -Wunused-variable -Wnested-externs -Wpointer-arith -Wstrict-prototypes -Wformat-security -Wimplicit-function-declaration -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -MT lib/libcommon_la-path.lo -MD -MP -MF lib/.
deps/libcommon_la-path.Tpo -c lib/path.c  -fPIC -DPIC -o lib/.libs/libcommon_la-path.o
In file included from lib/path.c:31:
In file included from ./include/path.h:24:
./include/cpuset.h:80:7: error: expected expression
                if (CPU_ISSET_S(cpu, setsize, ary[i])) {
                    ^
./include/cpuset.h:41:25: note: expanded from macro 'CPU_ISSET_S'
      ? ((((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]              \
                        ^
./include/cpuset.h:80:7: error: use of undeclared identifier '__cpu_mask'
./include/cpuset.h:41:13: note: expanded from macro 'CPU_ISSET_S'
      ? ((((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]              \
            ^
./include/cpuset.h:80:7: warning: implicit declaration of function '__CPUELT' is invalid in C99 [-Wimplicit-function-declaration]
./include/cpuset.h:41:48: note: expanded from macro 'CPU_ISSET_S'
      ? ((((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]              \
                                               ^
./include/cpuset.h:80:7: warning: implicit declaration of function '__CPUMASK' is invalid in C99 [-Wimplicit-function-declaration]
./include/cpuset.h:42:6: note: expanded from macro 'CPU_ISSET_S'
          & __CPUMASK (__cpu))) != 0                                          \
            ^
./include/cpuset.h:80:3: error: statement requires expression of scalar type ('void' invalid)
                if (CPU_ISSET_S(cpu, setsize, ary[i])) {
                ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings and 3 errors generated.
*** Error code 1

Stop.
make[2]: stopped in /var/ports/work/usr/ports/sysutils/flock/work/util-linux-2.30.1
*** Error code 1

Stop.
make[1]: stopped in /var/ports/lpbpkx/sysutils/flock
*** Error code 1

Stop.
make: stopped in /usr/ports/www/chromium


Is there any suggetions ?

My package build machine environments are as follows :

Ports branch is 7216c1d263e8 and others are :

root@kazu:~ # uname -a
FreeBSD kazu.tfc 14.0-CURRENT FreeBSD 14.0-CURRENT #0 n251838-90c89dc67099-dirty: Mon Jan  3 15:41:32 JST 2022     root@tbedfc:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC-DRM  arm64
root@kazu:~ # df -h
Filesystem                                                                         Size    Used   Avail Capacity  Mounted on
/dev/mmcsd0p3                                                                      105G    889M     96G     1%    /
devfs                                                                              1.0K    1.0K      0B   100%    /dev
tmpfs                                                                               11G     52K     11G     0%    /tmp
linprocfs                                                                          4.0K    4.0K      0B   100%    /compat/linux/proc
tmpfs                                                                               11G    4.0K     11G     0%    /compat/linux/dev/shm
linsysfs                                                                           4.0K    4.0K      0B   100%    /compat/linux/sys
devfs                                                                              1.0K    1.0K      0B   100%    /compat/linux/dev
fdescfs                                                                            1.0K    1.0K      0B   100%    /compat/linux/dev/fd
192.168.1.17:/.dake                                                                 12T    965G     11T     8%    /.dake
192.168.1.17:/ds/src/freebsd/current/14.0/90c89dc67099.generic_drm                  11T     70G     11T     1%    /usr/src
192.168.1.17:/ds/obj/freebsd/current/14.0/90c89dc67099.generic_drm                  11T    410G     11T     4%    /usr/obj
192.168.1.17:/ds/ports/freebsd/7216c1d263e8                                         11T    107G     11T     1%    /usr/ports
192.168.1.17:/ds/distfiles                                                          11T     53G     11T     0%    /var/ports/distfiles
192.168.1.17:/ds/packages/freebsd/arm64/aarch64/14.0C/90c89dc67099/7216c1d263e8     11T    114G     11T     1%    /var/ports/packages
root@kazu:~ # cat /etc/make.conf
PORTSDIR=               /var/ports/lpbpkx
INDEXDIR=               /var/ports/lpbpkx
WRKDIRPREFIX=           /var/ports/work
PACKAGES=               /var/ports/packages
DISTDIR=                /var/ports/distfiles
BATCH=                  yes
DEFAULT_VERSIONS=       perl5=5.34 ruby=2.7 java=12
COMPILER_TYPE=          clang
USE_PACKAGE_DEPENDS=    yes
DISABLE_VULNERABILITIES=yes
root@kazu:~ # 

GENERIC-DRM kernel was built by `git subtree add' to 14.0-CURRENT
(08ff54dc5b5d) for Panfrost driver [1] :

First `git subtree add' to 14.0-CURRENT (08ff54dc5b5d) in src server :

root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git checkout 08ff54dc5b5d
HEAD is now at 08ff54dc5b5d aw_spi: improve I/O stability
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git remote add drm-subtree https://github.com/jsm222/drm-subtree.git
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git subtree add --prefix sys/dev/drm/ drm-subtree pinebookpro-test
git fetch drm-subtree pinebookpro-test
remote: Enumerating objects: 794, done.
remote: Counting objects: 100% (794/794), done.
remote: Compressing objects: 100% (518/518), done.
remote: Total 794 (delta 370), reused 685 (delta 264), pack-reused 0
Receiving objects: 100% (794/794), 1.14 MiB | 5.09 MiB/s, done.
Resolving deltas: 100% (370/370), done.
From https://github.com/jsm222/drm-subtree
 * branch                      pinebookpro-test -> FETCH_HEAD
 * [new branch]                pinebookpro-test -> drm-subtree/pinebookpro-test
Added dir 'sys/dev/drm'
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git apply sys/dev/drm/extra_patches/0001-Hook-DRM-to-the-build.patch
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git apply sys/dev/drm/extra_patches/0002-Add-GENERIC-DRM-for-armv7.patch
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git apply sys/dev/drm/extra_patches/0003-drm-Add-rockchip-and-bridges-into-GENERIC-DRM.patch
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/gicv3_its.c-patch
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/mixer.c.patch
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/sys_dev_iicbus_es8316.c
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/GENERIC-DRM.patch
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/sys_modules_dtb_rockchip_Makefile.patch
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git apply sys/dev/drm/pbp-kernel-extra-patches/mmc.c.patch
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # git rev-parse --verify --short HEAD
90c89dc67099
root@vm:/ds/src/freebsd/current/14.0/08ff54dc5b5d.generic_drm # cd ..
root@vm:/ds/src/freebsd/current/14.0 # mv 08ff54dc5b5d.generic_drm 90c89dc67099.generic_drm

and then build GENERIC-DRM in PBP :
 
# cd /usr/src
# make buildworld TARGET=arm64
# make buildkernel TARGET=arm64 KERNCONF=GENERIC-DRM

Best regards

[1] https://github.com/jsm222/drm-subtree
---
Kazuhiko Kiriyama <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.