Source: openni-sensor-pointclouds Version: 5.1.0.41.9-4 Severity: normal Tags: ftbfs, patch, upstream User: debian-ri...@lists.debian.org Usertags: riscv64 X-Debbugs-Cc: debian-ri...@lists.debian.org
Dear openni-sensor-pointclouds Maintainer, With your kindly merge[0], there is a possibility of being built on riscv64 arch for the package: ``` make[1]: Entering directory '/<<PKGBUILDDIR>>' cd Platform/Linux/CreateRedist && ./RedistMaker Unknown machine type: riscv64 make[1]: *** [debian/rules:7: override_dh_auto_build] Error 1 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:4: binary-arch] Error 2 dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2 ``` The full buildd log is here: https://buildd.debian.org/status/fetch.php?pkg=openni-sensor-pointclouds&arch=riscv64&ver=5.1.0.41.9-4&stamp=1657356003&raw=0 The patch attached is to fix the issue and I can build riscv64 package on my real riscv64 hardware. Please let me know if you need my assistant [0]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014442 -- Best Regards,
--- a/Platform/Linux/Build/Common/CommonDefs.mak +++ b/Platform/Linux/Build/Common/CommonDefs.mak @@ -21,6 +21,8 @@ HOST_PLATFORM = Powerpc else ifneq (,$(findstring mips,$(MACHINE))) HOST_PLATFORM = Mips +else ifneq (,$(findstring riscv64,$(MACHINE))) + HOST_PLATFORM = Riscv64 else DUMMY:=$(error Can't determine host platform) endif --- /dev/null +++ b/Platform/Linux/Build/Common/Platform.Riscv64 @@ -0,0 +1,12 @@ +export GLUT_SUPPORTED=1 + +ifeq "$(CFG)" "Release" + + # Optimization level, minus currently buggy optimizing methods (which break bit-exact) + CFLAGS += -O3 -fno-tree-pre -fno-strict-aliasing + + # More optimization flags + CFLAGS += -ftree-vectorize -ffast-math -funsafe-math-optimizations -fsingle-precision-constant + +endif + --- a/Platform/Linux/CreateRedist/RedistMaker +++ b/Platform/Linux/CreateRedist/RedistMaker @@ -37,6 +37,8 @@ PLATFORM="Arm" ;; mips*) PLATFORM="Mips" ;; + riscv64) + PLATFORM="Riscv64" ;; *) echo "Unknown machine type: $MACHINE_TYPE" exit 1 --- a/Source/Utils/XnSensorServer/SensorServer.cpp +++ b/Source/Utils/XnSensorServer/SensorServer.cpp @@ -56,7 +56,7 @@ nRetVal = XnSensorServerGetGlobalConfigFile(strConfigDir, strConfigFile, XN_FILE_MAX_PATH); XN_CHECK_RC(nRetVal, "Resolving global config file"); -#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_LINUX_MIPS) +#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64) xnLogSetOutputFolder("/var/log/primesense/XnSensorServer/"); #endif --- a/Source/XnDeviceSensorV2/XnDeviceSensorInit.h +++ b/Source/XnDeviceSensorV2/XnDeviceSensorInit.h @@ -57,7 +57,7 @@ #define XN_SENSOR_USB_MISC_BUFFER_SIZE 0x1000 #define XN_SENSOR_USB_MISC_BUFFERS 1 -#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_MIPS) +#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64) #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_ISO 32 #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_BULK 40 #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_LOWBAND_ISO 16 --- a/Source/XnDeviceSensorV2/XnSensorClient.cpp +++ b/Source/XnDeviceSensorV2/XnSensorClient.cpp @@ -882,7 +882,7 @@ #if (XN_PLATFORM == XN_PLATFORM_WIN32) nRetVal = GetModuleDir(strServerDir); -#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_LINUX_MIPS) +#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64) sprintf(strServerDir, "/usr/lib/libopenni-sensor-primesense0"); #endif
signature.asc
Description: PGP signature