Bug#555035: FTBFS: wvmodemscan.cc:542: error: invalid conversion from 'int (*)(const dirent**, const dirent**)' to 'int (*)(const void*, const void*)'
Package: wvdial
Version: 1.60.3
Severity: important
Tags: patch
Hi,
When we installed eglibc-2.9, this package become the build error. (ex. mips)
https://buildd.debian.org/fetch.cgi?pkg=wvdial;ver=1.60.3;arch=mips;stamp=1257624220
But When we installed eglibc-2.10.1, this do not become the build error.
-----
wvmodemscan.cc:27: warning: deprecated conversion from string constant to 'char*'
wvmodemscan.cc:27: warning: deprecated conversion from string constant to 'char*'
wvmodemscan.cc:27: warning: deprecated conversion from string constant to 'char*'
wvmodemscan.cc: In constructor 'WvModemScanList::WvModemScanList(const WvFastString&)':
wvmodemscan.cc:542: error: invalid conversion from 'int (*)(const dirent**, const dirent**)' to 'int (*)(const void*, const void*)'
wvmodemscan.cc:542: error: initializing argument 4 of 'int scandir(const char*, dirent***, int (*)(const dirent*), int (*)(const void*, const void*))'
make[1]: *** [wvmodemscan.o] Error 1
make[1]: Leaving directory `/build/buildd/wvdial-1.60.3'
make: *** [binary-arch] Error 2
dpkg-buildpackage: error: /usr/bin/fakeroot debian/rules binary-arch gave error exit status 2
******************************************************************************
-----
This problem can fix following patch.
--- wvmodemscan.cc.orig 2009-11-08 04:57:46.000000000 +0000
+++ wvmodemscan.cc 2009-11-08 04:46:20.000000000 +0000
@@ -495,8 +495,17 @@
// (no internal ISDN support) || !strncmp(e->d_name, "ttyI", 4);
}
+#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 10)
static int filesort(const struct dirent **e1, const struct dirent **e2)
+#else
+static int filesort(const void *_e1, const void *_e2)
+#endif
{
+#if !(defined(__GLIBC__) && __GLIBC_PREREQ(2, 10))
+ dirent const * const *e1 = (dirent const * const *)_e1;
+ dirent const * const *e2 = (dirent const * const *)_e2;
+#endif
+
const char *p1, *p2;
int diff;
The base of this patch is
http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-dialup/wvdial/files/wvdial-1.60-dirent.patch?view=markup
Best regards,
Nobuhiro
--
Nobuhiro Iwamatsu
Reply to: