Package: src:blackbox Version: 0.70.1-18 Severity: wishlist Tags: patch
Hi! Blackbox fails to build on x32, for two reasons: * it uses implicit casts between time_t and long, in template disambiguation where exact types are needed * its hand-written symbol arch table needs inclusion of x32 Patch attached. -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (600, 'unstable'), (500, 'experimental') Architecture: x32 (x86_64) Kernel: Linux 3.13.0-x32+ (SMP w/6 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -urd blackbox-0.70.1.0/debian/libbt0.symbols blackbox-0.70.1/debian/libbt0.symbols --- blackbox-0.70.1.0/debian/libbt0.symbols 2013-11-20 14:25:58.000000000 +0100 +++ blackbox-0.70.1/debian/libbt0.symbols 2014-01-20 17:16:40.539105265 +0100 @@ -386,7 +386,7 @@ (optional)_ZNSbIjSt11char_traitsIjESaIjEE12_M_leak_hardEv@Base 0.70.1 (optional)_ZNSbIjSt11char_traitsIjESaIjEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPKjS2_EEEEPjT_SA_RKS1_St20forward_iterator_tag@Base 0.70.1 (optional)_ZNSbIjSt11char_traitsIjESaIjEE15_M_replace_safeEjjPKjj@Base 0.70.1 - (arch=!any-i386 !alpha !armel !armhf !ia64 !m68k !mips !mipsel !powerpc !powerpcspe !ppc64 !s390 !s390x !sh4 !sparc !sparc64)_ZNSbIjSt11char_traitsIjESaIjEE15_M_replace_safeEmmPKjm@Base 0.70.1 + (arch=!any-i386 !alpha !armel !armhf !ia64 !m68k !mips !mipsel !powerpc !powerpcspe !ppc64 !s390 !s390x !sh4 !sparc !sparc64 !x32)_ZNSbIjSt11char_traitsIjESaIjEE15_M_replace_safeEmmPKjm@Base 0.70.1 _ZNSbIjSt11char_traitsIjESaIjEE4_Rep20_S_empty_rep_storageE@Base 0.70.1 (optional)_ZNSbIjSt11char_traitsIjESaIjEE4_Rep8_M_cloneERKS1_j@Base 0.70.1 (optional)_ZNSbIjSt11char_traitsIjESaIjEE4_Rep8_M_cloneERKS1_m@Base 0.70.1 @@ -395,7 +395,7 @@ (optional)_ZNSbIjSt11char_traitsIjESaIjEE6appendEmj@Base 0.70.1 (optional)_ZNSbIjSt11char_traitsIjESaIjEE6assignERKS2_@Base 0.70.1 (optional)_ZNSbIjSt11char_traitsIjESaIjEE6resizeEjj@Base 0.70.1 - (arch=!any-i386 !alpha !armel !armhf !ia64 !m68k !mips !mipsel !powerpc !powerpcspe !ppc64 !s390 !s390x !sh4 !sparc !sparc64)_ZNSbIjSt11char_traitsIjESaIjEE6resizeEmj@Base 0.70.1 + (arch=!any-i386 !alpha !armel !armhf !ia64 !m68k !mips !mipsel !powerpc !powerpcspe !ppc64 !s390 !s390x !sh4 !sparc !sparc64 !x32)_ZNSbIjSt11char_traitsIjESaIjEE6resizeEmj@Base 0.70.1 (arch=!amd64 !ia64 !kfreebsd-amd64 !mips64 !mips64el !s390 !s390x !alpha !ppc64 !sparc64)_ZNSbIjSt11char_traitsIjESaIjEE7replaceEjjPKjj@Base 0.70.1 (arch=amd64 ia64 kfreebsd-amd64 mips64 mips64el s390 s390x alpha ppc64 sparc64)_ZNSbIjSt11char_traitsIjESaIjEE7replaceEmmPKjm@Base 0.70.1 (arch=!amd64 !ia64 !kfreebsd-amd64 !mips64 !mips64el !s390 !s390x !alpha !ppc64 !sparc64)_ZNSbIjSt11char_traitsIjESaIjEE7reserveEj@Base 0.70.1 diff -urd blackbox-0.70.1.0/src/Toolbar.cc blackbox-0.70.1/src/Toolbar.cc --- blackbox-0.70.1.0/src/Toolbar.cc 2005-04-12 09:38:00.000000000 +0200 +++ blackbox-0.70.1/src/Toolbar.cc 2014-01-20 17:12:33.059144580 +0100 @@ -44,8 +44,8 @@ { timeval now; gettimeofday(&now, 0); - return (std::max(1000l, ((((resolution - (now.tv_sec % resolution)) * 1000l)) - - (now.tv_usec / 1000l)))); + return (std::max((time_t)1000, ((((resolution - (now.tv_sec % resolution)) * 1000)) + - (now.tv_usec / 1000)))); }