[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1014442: marked as done (openni: ftbfs on riscv64('Unknown platform: riscv64'))



Your message dated Thu, 07 Jul 2022 09:49:57 +0000
with message-id <E1o9O8z-0009OJ-Hy@fasolo.debian.org>
and subject line Bug#1014442: fixed in openni 1.5.4.0+dfsg-6
has caused the Debian Bug report #1014442,
regarding openni: ftbfs on riscv64('Unknown platform: riscv64')
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1014442: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014442
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Source: openni
Version: 1.5.4.0+dfsg-5
Severity: normal
Tags: ftbfs, patch, upstream
User: debian-riscv@lists.debian.org
Usertags: riscv64
X-Debbugs-Cc: debian-riscv@lists.debian.org

Dear openni Maintainer,

The openni package has a ftbfs issue on riscv64:

```
dh binary-arch --buildsystem=makefile
   dh_update_autotools_config -a -O--buildsystem=makefile
   dh_autoreconf -a -O--buildsystem=makefile
   dh_auto_configure -a -O--buildsystem=makefile
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
cd Platform/Linux/CreateRedist && ./RedistMaker
Unknown platform: 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
```

The patch attached is to fix the issue and I can build riscv64
package on my locally real riscv64 hardware(Unmatched board) with it.

The upstream of this package doesn't look very active but I will 
forward this to upstream[0]

Bo

[0]: https://github.com/OpenNI/OpenNI/issues
-- 
Best Regards,

--- a/Platform/Linux/Build/Common/CommonDefs.mak
+++ b/Platform/Linux/Build/Common/CommonDefs.mak
@@ -24,6 +24,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
--- a/Platform/Linux/CreateRedist/Redist_OpenNi.py
+++ b/Platform/Linux/CreateRedist/Redist_OpenNi.py
@@ -192,6 +192,8 @@
         PLATFORM = "Powerpc"
     elif machinetype[:4] == "mips":
         PLATFORM = "Mips"
+    elif machinetype == "riscv64":
+        PLATFORM = "Riscv64"
     else:
         print("Unknown platform:", machinetype)
         finish_script(1)
@@ -336,6 +338,7 @@
 shutil.copytree("../../Include/Linux-AArch64", REDIST_DIR + "/Include/Linux-AArch64")
 shutil.copytree("../../Include/Linux-Powerpc", REDIST_DIR + "/Include/Linux-Powerpc")
 shutil.copytree("../../Include/Linux-Mips", REDIST_DIR + "/Include/Linux-Mips")
+shutil.copytree("../../Include/Linux-Riscv64", REDIST_DIR + "/Include/Linux-Riscv64")
 shutil.copytree("../../Include/MacOSX", REDIST_DIR + "/Include/MacOSX")
 shutil.copytree("Build/Common", REDIST_DIR + "/Samples/Build/Common")
 
--- /dev/null
+++ b/Include/Linux-Riscv64/XnPlatformLinux-Riscv64.h
@@ -0,0 +1,43 @@
+/****************************************************************************
+*                                                                           *
+*  OpenNI 1.x Alpha                                                         *
+*  Copyright (C) 2011 PrimeSense Ltd.                                       *
+*                                                                           *
+*  This file is part of OpenNI.                                             *
+*                                                                           *
+*  OpenNI is free software: you can redistribute it and/or modify           *
+*  it under the terms of the GNU Lesser General Public License as published *
+*  by the Free Software Foundation, either version 3 of the License, or     *
+*  (at your option) any later version.                                      *
+*                                                                           *
+*  OpenNI is distributed in the hope that it will be useful,                *
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of           *
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the             *
+*  GNU Lesser General Public License for more details.                      *
+*                                                                           *
+*  You should have received a copy of the GNU Lesser General Public License *
+*  along with OpenNI. If not, see <http://www.gnu.org/licenses/>.           *
+*                                                                           *
+****************************************************************************/
+#ifndef _XN_PLATFORM_LINUX_RISCV64_H_
+#define _XN_PLATFORM_LINUX_RISCV64_H_
+
+// Start with Linux-x86, and override what's different
+#include "../Linux-x86/XnPlatformLinux-x86.h"
+
+//---------------------------------------------------------------------------
+// Platform Basic Definition
+//---------------------------------------------------------------------------
+#undef XN_PLATFORM
+#undef XN_PLATFORM_STRING
+#undef XN_PLATFORM_ENDIAN_TYPE
+#define XN_PLATFORM XN_PLATFORM_LINUX_RISCV64
+#define XN_PLATFORM_STRING "Linux-Riscv64"
+
+#ifdef __RISCV64EB__
+#define XN_PLATFORM_ENDIAN_TYPE XN_PLATFORM_IS_BIG_ENDIAN
+#else
+#define XN_PLATFORM_ENDIAN_TYPE XN_PLATFORM_IS_LITTLE_ENDIAN
+#endif // __RISCV64EB__
+
+#endif //_XN_PLATFORM_LINUX_RISCV64_H_
--- a/Include/XnOS.h
+++ b/Include/XnOS.h
@@ -44,7 +44,7 @@
 //---------------------------------------------------------------------------
 #if (XN_PLATFORM == XN_PLATFORM_WIN32)
 	#include "Win32/XnOSWin32.h"
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || 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_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64)
 	#include "Linux-x86/XnOSLinux-x86.h"
 #elif defined(_ARC)
 	#include "ARC/XnOSARC.h"
--- a/Include/XnPlatform.h
+++ b/Include/XnPlatform.h
@@ -38,6 +38,7 @@
 #define XN_PLATFORM_LINUX_POWERPC 10
 #define XN_PLATFORM_LINUX_AARCH64 11
 #define XN_PLATFORM_LINUX_MIPS 12
+#define XN_PLATFORM_LINUX_RISCV64 13
 
 #define XN_PLATFORM_IS_LITTLE_ENDIAN 1
 #define XN_PLATFORM_IS_BIG_ENDIAN    2
@@ -75,6 +76,8 @@
 	#include "Linux-Powerpc/XnPlatformLinux-Powerpc.h"
 #elif (__linux__ && __mips__)
 	#include "Linux-Mips/XnPlatformLinux-Mips.h"
+#elif (__linux__ && (__riscv && __riscv_xlen == 64))
+	#include "Linux-Riscv64/XnPlatformLinux-Riscv64.h"
 #elif _ARC
 	#include "ARC/XnPlatformARC.h"
 #elif (__APPLE__)
--- a/Include/XnUSBDevice.h
+++ b/Include/XnUSBDevice.h
@@ -48,7 +48,7 @@
 	#define USB_DT_DEVICE_SIZE 0
 	#define USB_DT_DEVICE 0
 
-#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_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_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64)
 	#include <linux/usb/ch9.h>
 	typedef struct usb_endpoint_descriptor XnUSBEndpointDescriptor;
 	typedef struct usb_interface_descriptor XnUSBInterfaceDescriptor;
--- a/Samples/NiViewer/NiViewer.cpp
+++ b/Samples/NiViewer/NiViewer.cpp
@@ -49,7 +49,7 @@
 // --------------------------------
 #include <XnCppWrapper.h>
 
-#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_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_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64)
 	#define UNIX
 	#define GLX_GLXEXT_LEGACY
 #endif
@@ -79,7 +79,7 @@
 #if (XN_PLATFORM == XN_PLATFORM_WIN32)
 	#include <conio.h>
 	#include <direct.h>	
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM_LINUX_POWERPC || 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_MACOSX || XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64)
 	#define _getch() getchar()
 #endif
 
--- a/Source/OpenNI/XnOpenNI.cpp
+++ b/Source/OpenNI/XnOpenNI.cpp
@@ -7062,7 +7062,7 @@
 	#define XN_OPEN_NI_FILES_LOCATION "\\Data\\"
 #elif (CE4100)
 	#define XN_OPEN_NI_FILES_LOCATION "/usr/etc/ni/"
-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_AARCH64 || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || 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_MACOSX || XN_PLATFORM == XN_PLATFORM_LINUX_POWERPC || XN_PLATFORM == XN_PLATFORM_LINUX_MIPS || XN_PLATFORM == XN_PLATFORM_LINUX_RISCV64)
 	#define XN_OPEN_NI_FILES_LOCATION "/var/lib/ni/"
 #elif (XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
 	#define XN_OPEN_NI_FILES_LOCATION "/data/ni/"
--- /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
+

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Source: openni
Source-Version: 1.5.4.0+dfsg-6
Done: Jochen Sprickerhof <jspricke@debian.org>

We believe that the bug you reported is fixed in the latest version of
openni, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1014442@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jochen Sprickerhof <jspricke@debian.org> (supplier of updated openni package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 07 Jul 2022 11:31:26 +0200
Source: openni
Architecture: source
Version: 1.5.4.0+dfsg-6
Distribution: unstable
Urgency: medium
Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Changed-By: Jochen Sprickerhof <jspricke@debian.org>
Closes: 1014442
Changes:
 openni (1.5.4.0+dfsg-6) unstable; urgency=medium
 .
   * Add patch for riscv64.
     Thanks to Bo YU (Closes: #1014442)
   * Bump policy version (no changes)
Checksums-Sha1:
 cc997edea089d7581eba872e22d512252edd18e4 2297 openni_1.5.4.0+dfsg-6.dsc
 c2c6e4c51bd378843eac41162c55e2dee2ba57a3 651808 openni_1.5.4.0+dfsg-6.debian.tar.xz
 515b90ca910d3acfd8e0f8ec8b415bfa83f6426e 11240 openni_1.5.4.0+dfsg-6_source.buildinfo
Checksums-Sha256:
 ada27950e4f222d856b90bbd3ea2dc4d643e55fe76b190118c79e30899ffd002 2297 openni_1.5.4.0+dfsg-6.dsc
 92345b392a3b98339d5d706867b3177d0bfac8d0272154aba1547c5c2149188b 651808 openni_1.5.4.0+dfsg-6.debian.tar.xz
 8ec71da4c85a7ef30585b620db39ff5caa37ef271c3568356b7390b80828b597 11240 openni_1.5.4.0+dfsg-6_source.buildinfo
Files:
 5456de3b92f7b59cdb29bc8abf825c5a 2297 libs optional openni_1.5.4.0+dfsg-6.dsc
 c990015d8080cc5b33925308a4d32662 651808 libs optional openni_1.5.4.0+dfsg-6.debian.tar.xz
 473f32fb24cdd4e0fa55b51acfa9d795 11240 libs optional openni_1.5.4.0+dfsg-6_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEc7KZy9TurdzAF+h6W//cwljmlDMFAmLGqBMACgkQW//cwljm
lDOc6hAAn8Uv/Hmh76UXLowWpL4dykJtROo09bpHX0PosezdCHuE++QEimds5fw5
ANOGdHz3ozZ97dkkG8b5mIY6xkU1hNynvXqrnPrK9KUvfSMZRZUuyDbBr55ooT5a
vYNersQeH1bfJRXyf7napNUrD1/103c6zxAtfQQmypZo7MplU2NWjb2s8o57P+Cu
MX2h40lN3U4OdIQp/396BMmdiYRWGdouSXDgDCrUVmj4ilnZGlrsQgBlaFgUTxe9
fAIBa4OBDt+ZdSNgj81B2befHDs1NSUO+gIN42Rpob4tSYEe7F+iu8P49PIK7QsD
Iv983r60vRPHHDm7Sbd48MvOEky76yUDX3IdtAX0pG0C+k33PyMgRbFDazqvgzqr
e6etH3bJQLTPvx1ut1PkkgmMFyqHsiKs5699zTWPK+1o1dxmppKe/BiU2s1eobGA
ID+ZzrOPMKdNNSpzkfnooUc+f3FD2pQvKt2aRsoNB6zvO82nawpt8nqBiDMArlFU
wGAYpb3e6xVPdVCvg4okZf5fdSoBgApJRA5kezIzJGLNcEs/sUxGfub7K3dfCDW/
daRNKBXpiCUF3VLPGx7zlaW4e84PtAP52IXujBjFCcKfmguEkWSJY6a2zxJM+0/U
F8GN/0NGxk0cg3ngKzRYHROu3rGLgaz5F1k/NtYJZWElevZvRoE=
=0cwL
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: