--- OpenNI-Stable-1.5.7.10/Platform/Linux/Build/Common/CommonDefs.mak.org	2023-04-30 14:37:40.681162393 +0800
+++ OpenNI-Stable-1.5.7.10/Platform/Linux/Build/Common/CommonDefs.mak	2023-04-30 14:37:55.859767025 +0800
@@ -18,6 +18,8 @@
 	HOST_PLATFORM = x86
 else ifneq (,$(findstring arm,$(MACHINE)))
 	HOST_PLATFORM = Arm
+else ifneq (,$(findstring aarch64,$(MACHINE)))
+	HOST_PLATFORM = Arm
 else
 	DUMMY:=$(error Can't determine host platform)
 endif
@@ -59,4 +61,4 @@
 # platform specific args
 include $(COMMON_MAK_DIR)Platform.$(PLATFORM)
 
-endif # _COMMON_DEFS_MAKE_
\ No newline at end of file
+endif # _COMMON_DEFS_MAKE_
--- ./Source/Modules/Common/DataRecords.cpp_org	2023-04-30 19:35:45.263103333 +0800
+++ ./Source/Modules/Common/DataRecords.cpp	2023-04-30 19:35:50.983111319 +0800
@@ -658,7 +658,7 @@
 
 #if (XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_ARC || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
 	// under ARM we have some alignment issues. Move this buffer so it will be aligned.
-	XnUInt32 nAlignFix = XN_DEFAULT_MEM_ALIGN - ((XnUInt32)pData % XN_DEFAULT_MEM_ALIGN);
+	XnUInt32 nAlignFix = XN_DEFAULT_MEM_ALIGN - ((XnUInt64)pData % XN_DEFAULT_MEM_ALIGN);
 	if (nAlignFix != 0)
 	{
 		xnOSMemMove(pData + nAlignFix, pData, m_nPropDataSize);
