danoon2/Boxedwine

Build failed in rpi4

Opened this issue · 10 comments

what command did you use to build?

If you are running the 32-bit OS you can try

in the directory project/linux

make jit

if you are running the 64-bit OS you can try

make multiThreaded

There are probably quite a few bugs, but a lot of older games do run. The 32-bit version will be very slow and the 64-bit version I think is about a 200-400MHz Pentium when it comes to speed.

If you just want a pre-built version

The nightlies are here (this includes all platforms)

http://208.113.165.28:8080/job/Boxedwine/job/master/

Direct link for latest build:

http://208.113.165.28:8080/job/Boxedwine/job/master/lastSuccessfulBuild/artifact/build-29.zip

I need a static binary and I use the build64static.sh (replaced x64 to armv8)
build64static.log
I cant upload shell script so l changed it to log file

got new fault while trying make multiThreaded:

╰─ make multiThreaded ─╯
uname -m is aarch64 MAKEFLAGS is -j 7
sh buildPocoLib.sh
-- Checking for C++14 compiler -- Checking for C++14 compiler - available -- Could NOT find APR (missing: APR_INCLUDE_DIR APR_LIBRARY) -- Could NOT find APRUTIL (missing: APRUTIL_INCLUDE_DIR APRUTIL_LIBRARY)
-- Could NOT find Apache2 (missing: APACHE2_INCLUDE_DIR)
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (MYSQL) does not match the name of the calling package (MySQL). This can lead to
problems in calling code that expects find_package result variables (e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindMySQL.cmake:107 (find_package_handle_standard_args) CMakeLists.txt:119 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Could NOT find MYSQL (missing: MYSQL_INCLUDE_DIR MYSQL_LIBRARY) -- Could NOT find PostgreSQL (missing: PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR) -- Could NOT find ODBC (missing: ODBC_LIBRARY ODBC_INCLUDE_DIR) -- Building without tests & samples
-- Using internal sqlite, zlib, pcre, expat, ...
-- CMake 3.22.1 successfully configured Poco using Unix Makefiles generator
-- Poco package version: 1.10.1 -- Building static libraries -- [cmake] Installation target path: /usr/local
-- [cmake] Bulid for OS type: Linux
-- [cmake] Build for OS version: 4.14.116 -- [cmake] Build for CPU type: aarch64
-- [cmake] Build type: Release
-- [cmake] Build with cxx flags: -O3 -DNDEBUG
-- [cmake] Build with c flags: -O3 -DNDEBUG -- Building: Util -- Building: Net -- Building: NetSSL_OpenSSL
-- Building: Crypto
-- Configuring done -- Generating done
-- Build files have been written to: /home/fish4terrisa/Boxedwine/project/linux/linux_build gmake[1]: 警告: jobserver 不可用: 正使用 -j1。添加 “+” 到父 make 的规则。
gmake[1]: 进入目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” gmake[2]: 进入目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build”
gmake[3]: 进入目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” Consolidate compiler generated dependencies of target Foundation gmake[3]: 离开目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” [ 50%] Built target Foundation gmake[3]: 进入目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build”
Consolidate compiler generated dependencies of target Util
gmake[3]: 离开目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” [ 58%] Built target Util gmake[3]: 进入目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” Consolidate compiler generated dependencies of target Net gmake[3]: 离开目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build”
[ 86%] Built target Net gmake[3]: 进入目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” Consolidate compiler generated dependencies of target Crypto
gmake[3]: 离开目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” [ 92%] Built target Crypto gmake[3]: 进入目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” Consolidate compiler generated dependencies of target NetSSL
gmake[3]: 离开目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” [100%] Built target NetSSL gmake[2]: 离开目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build”
gmake[1]: 离开目录“/home/fish4terrisa/Boxedwine/project/linux/linux_build” make[1]: 进入目录“/home/fish4terrisa/Boxedwine/project/linux” MAKEFLAGS
mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv7/ g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv7/armv7CPU.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv7/armv7CPU.cpp.o
mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8/ g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8/armv8CPU.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8/armv8CPU.cpp.o
mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8/ g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8/llvm_helper.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8/llvm_helper.cpp.o mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/
g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/arm8btFlags.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/arm8btFlags.cpp.o mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/ g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btAsm.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btAsm.cpp.o
mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/ g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btCPU.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btCPU.cpp.o
mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/ g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btCodeChunk.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btCodeChunk.cpp.o mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/ g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btData.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btData.cpp.o mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/ g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp.o
mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/
g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps_bits.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps_bits.cpp.o mkdir -p Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/
In file included from /usr/include/strings.h:23,
from /usr/include/string.h:462,
from ../../include/platform.h:143, from ../../include/boxedwine.h:56,
from /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:1: /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opPushSeg16(Armv8btAsm*)’:
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2005:90: error: ‘data’ is not a constant expression 2005 | data->readMem32ValueOffset(tmp, xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->reg].value)))); | ^~~ /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opPushSeg32(Armv8btAsm*)’: /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2032:90: error: ‘data’ is not a constant expression
2032 | data->readMem32ValueOffset(tmp, xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->reg].value)))); | ^~~
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opMovR16S16(Armv8btAsm*)’: /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2656:93: error: ‘data’ is not a constant expression 2656 | data->readMem32ValueOffset(tmpReg, xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->rm].value))));
| ^~
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opMovR32S16(Armv8btAsm*)’:
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2667:127: error: ‘data’ is not a constant expression 2667 | data->readMem32ValueOffset(data->getNativeReg(data->decodedOp->reg), xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->rm].value))));
| ^~ /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opMovE16S16(Armv8btAsm*)’:
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2673:93: error: ‘data’ is not a constant expression 2673 | data->readMem32ValueOffset(tmpReg, xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->reg].value)))); | ^~~
make[1]: *** [makefile:132:Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp.o] 错误 1 make[1]: *** 正在等待未完成的任务....
g++ -std=c++17 -O2 -Wall -Wno-invalid-offsetof -Wno-delete-incomplete -Wno-unused-result -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-unused-variable -Wno-unused-function -Wno-unused-but-set-variable -I../../include -I../../lib/poco/Net/include -I../../lib/poco/Crypto/include -I../../lib/poco/Util/include -I../../lib/poco/Foundation/include -I../../lib/poco/NetSSL_OpenSSL/include -I../../lib/glew/include -I../../lib/imgui -DBOXEDWINE_RECORDER -DBOXEDWINE_ZLIB -DBOXEDWINE_HAS_SETJMP -DSDL2=1 "-DGLH=<SDL_opengl.h>" -DBOXEDWINE_OPENGL_SDL -DSIMDE_SSE2_NO_NATIVE -DPOCO_UTIL_NO_JSONCONFIGURATION -DPOCO_UTIL_NO_XMLCONFIGURATION -DBOXEDWINE_POSIX -DBOXEDWINE_OPENGL_IMGUI_V2 -I/usr/include/SDL2 -D_REENTRANT -O0 -DBOXEDWINE_64 -DBOXEDWINE_BINARY_TRANSLATOR -DBOXEDWINE_ARMV8BT -DBOXEDWINE_64BIT_MMU -DBOXEDWINE_MULTI_THREADED -DSIMDE_NO_NEON -DSIMDE_SSE2_NO_NEON -MMD -MP -c /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps_fpu.cpp -o Build/MultiThreaded//home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps_fpu.cpp.o make[1]: 离开目录“/home/fish4terrisa/Boxedwine/project/linux”
make: *** [makefile:51:multiThreaded] 错误 2

The core fault:
In file included from /usr/include/strings.h:23,
from /usr/include/string.h:462,
from ../../include/platform.h:143, from ../../include/boxedwine.h:56,
from /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:1: /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opPushSeg16(Armv8btAsm*)’:
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2005:90: error: ‘data’ is not a constant expression 2005 | data->readMem32ValueOffset(tmp, xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->reg].value)))); | ^~~ /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opPushSeg32(Armv8btAsm*)’: /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2032:90: error: ‘data’ is not a constant expression
2032 | data->readMem32ValueOffset(tmp, xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->reg].value)))); | ^~~
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opMovR16S16(Armv8btAsm*)’: /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2656:93: error: ‘data’ is not a constant expression 2656 | data->readMem32ValueOffset(tmpReg, xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->rm].value))));
| ^~
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opMovR32S16(Armv8btAsm*)’:
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2667:127: error: ‘data’ is not a constant expression 2667 | data->readMem32ValueOffset(data->getNativeReg(data->decodedOp->reg), xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->rm].value))));
| ^~ /home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp: In function ‘void opMovE16S16(Armv8btAsm*)’:
/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2673:93: error: ‘data’ is not a constant expression 2673 | data->readMem32ValueOffset(tmpReg, xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->reg].value)))); | ^~~

What OS are you using? What do you get if you type uname -a

uname -a
Linux raspberrypi 5.10.63-v8+ #1496 SMP PREEMPT Wed Dec 1 15:59:46 GMT 2021 aarch64 GNU/Linux

/home/fish4terrisa/Boxedwine/source/emulation/cpu/armv8bt/armv8btOps.cpp:2005:90: error: ‘data’ is not a constant expression 2005 | data->readMem32ValueOffset(tmp, xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->reg].value))));

This looks like the compiler doesn't handle the way I tried to calculate the offset, but this works on my Pi 4 so I wonder what is different between our environments. Maybe you have a newer gcc?

This what my build machine is using

gcc -v
gcc version 8.3.0 (Debian 8.3.0-6)

gcc -v output:
╰─ gcc -v ─╯
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.2.0-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (Ubuntu 11.2.0-19ubuntu1)

uname -a ourput:
uname -a ─╯
Linux localhost 4.14.116 #1 SMP PREEMPT Fri Mar 6 15:44:15 CST 2020 aarch64 aarch64 aarch64 GNU/Linux

Do you have a shell script which could build a static binary in aarch64 arch

I am using ubuntu devel branch (with the project rolling rhino) so the lowest version of gcc is 9

I don't know if I ever tried gcc 11 with Boxedwine, but my main Linux build machine uses 9.3

As for the offset error

data->readMem32ValueOffset(data->getNativeReg(data->decodedOp->reg), xCPU, (S32)((U32)(offsetof(CPU, seg[data->decodedOp->rm].value))));

This is a real bug, I'm not sure how it ever worked. Or maybe it never did work. I haven't done much Windows 16-bit testing with ARMv8 yet.

I made a fix, hopefully it will work for you.