Bug#959526: opencv: ftbfs on non-linux
Samuel Thibault
sthibault at debian.org
Sun May 3 11:18:33 BST 2020
Source: opencv
Version: 4.2.0+dfsg-6
Severity: important
Tags: patch upstream
Hello,
opencv currently FTBFS on non-linux because it hardcodes the list of
systems which have dlopen() etc. The attached patch fixes this by just
enabling it on all glibc-based systems since glibc provides it.
Samuel
-- System Information:
Debian Release: bullseye/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldstable-proposed-updates-debug'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.6.0 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
--
Samuel
* c is away : cuisine; bouffe
<y> oh, moi je fais plutôt cuisine & bouffe en fait :)
<c> oui c'est vrai, certains font cuisine && bouffe (juste au cas où... ;-))
<y> ( cuisine && bouffe ) || restau
<N> voire ((cuisine && bouffe) || restau) & apéritif
-+- #ens-mim -+-
-------------- next part --------------
Index: opencv-4.2.0+dfsg/modules/videoio/src/backend_plugin.cpp
===================================================================
--- opencv-4.2.0+dfsg.orig/modules/videoio/src/backend_plugin.cpp
+++ opencv-4.2.0+dfsg/modules/videoio/src/backend_plugin.cpp
@@ -21,7 +21,7 @@ using namespace std;
#if defined(_WIN32)
#include <windows.h>
-#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__)
+#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__GLIBC__)
#include <dlfcn.h>
#endif
@@ -77,7 +77,7 @@ void* getSymbol_(LibHandle_t h, const ch
{
#if defined(_WIN32)
return (void*)GetProcAddress(h, symbolName);
-#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__)
+#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__GLIBC__)
return dlsym(h, symbolName);
#endif
}
@@ -91,7 +91,7 @@ LibHandle_t libraryLoad_(const FileSyste
# else
return LoadLibraryW(filename.c_str());
#endif
-#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__)
+#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__GLIBC__)
return dlopen(filename.c_str(), RTLD_LAZY);
#endif
}
@@ -101,7 +101,7 @@ void libraryRelease_(LibHandle_t h)
{
#if defined(_WIN32)
FreeLibrary(h);
-#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__)
+#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__GLIBC__)
dlclose(h);
#endif
}
More information about the debian-science-maintainers
mailing list