On Fri, 2014-01-24 at 14:57 +0100, Roland Stigge wrote: > Package: zoneminder > Version: 1.26.5-2 > Severity: serious > Tags: patch > > Hi, > > zoneminder FTBFS on powerpc, powerpcspe and ppc64 like this: > > ... > powerpc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -I/usr/include > -D__STDC_CONSTANT_MACROS -Wall -finline-functions -fomit-frame-pointer > -I/usr/include -D__STDC_CONSTANT_MACROS -D_FORTIFY_SOURCE=2 > -D__STDC_CONSTANT_MACROS -D__STDC_CONSTANT_MACROS -g -O2 -fstack-protector > --param=ssp-buffer-size=4 -Wformat -Werror=format-security -DZM_FFMPEG_CVS > -DHAVE_LIBCRYPTO -MT zm_image.o -MD -MP -MF .deps/zm_image.Tpo -c -o > zm_image.o zm_image.cpp > zm_image.cpp: In member function 'bool Image::ReadRaw(const char*)': > zm_image.cpp:597:26: warning: comparison between signed and unsigned integer > expressions [-Wsign-compare] > if ( statbuf.st_size != size ) > ^ > zm_image.cpp: At global scope: > zm_image.cpp:2991:165: error: __attribute__((__target__("sse2"))) is invalid > __attribute__((noinline,__target__("sse2"))) void sse2_fastblend(const > uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count, > double blendpercent) { > > > ^ > zm_image.cpp:3333:147: error: __attribute__((__target__("sse2"))) is invalid > __attribute__((noinline,__target__("sse2"))) void sse2_delta8_gray8(const > uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) { > > ^ > ... > > There is already a patch to prevent *SSE* specific stuff on non-Intel > hardware. > But there are still some unconditional > > __attribute__((__target__("sse2"))) > > Not sure why it only affects powerpc systems. >
Looks like other archs that don't have sse2 (e.g. armel) don't actually care about/check the __target__ attribute during compilation and only barf when they hit x86-specific assembly. Whereas the ppc compilation really does check. > Attaching a patch that fixes it. > > Roland > > > -- System Information: > Debian Release: 7.0 > APT prefers unreleased > APT policy: (500, 'unreleased'), (500, 'unstable') > Architecture: powerpcspe (ppc) > > Kernel: Linux 3.9.0-dirty (SMP w/2 CPU cores) > Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: > LC_ALL set to en_GB.UTF-8) > Shell: /bin/sh linked to /bin/dash -- Peter Howard <p...@northern-ridge.com.au>
signature.asc
Description: This is a digitally signed message part