[Debian-med-packaging] Bug#861754: libpll: FTBFS on non-x86: x86intrin.h: No such file or directory

Andreas Tille tille at debian.org
Fri May 5 13:13:20 UTC 2017


Hi Aaron,

thanks for your portability checks.

On Wed, May 03, 2017 at 11:59:41AM -0400, Aaron M. Ucko wrote:
> Builds of libpll for non-x86 architectures have been failing:
> 
>   pll.h:28:23: fatal error: x86intrin.h: No such file or directory
> 
> It looks like the build system already checks for this header, just
> doesn't (fully?) honor the check results; please conditionalize this
> #include directive on HAVE_X86INTRIN_H.

I tried to fix this by a patch[1] but this does not seem to work as
expected.  Despite

root at sputnik:/build/libpll-0.0+20160909+ds1# grep -R HAVE_X86INTRIN_H
debian/patches/have_x86intrin_h.patch:Description: Check for HAVE_X86INTRIN_H
debian/patches/have_x86intrin_h.patch:+#ifdef HAVE_X86INTRIN_H
debian/changelog:  * Check for HAVE_X86INTRIN_H
config.h.in~:#undef HAVE_X86INTRIN_H
config.log:| #define HAVE_X86INTRIN_H 1
config.log:| #define HAVE_X86INTRIN_H 1
config.log:| #define HAVE_X86INTRIN_H 1
config.log:| #define HAVE_X86INTRIN_H 1
config.log:#define HAVE_X86INTRIN_H 1
config.h:#define HAVE_X86INTRIN_H 1
config.h.in:#undef HAVE_X86INTRIN_H
test/src/pll.h:#ifdef HAVE_X86INTRIN_H
config.status:D["HAVE_X86INTRIN_H"]=" 1"
autom4te.cache/traces.2:m4trace:configure.ac:37: -1- AH_OUTPUT([HAVE_X86INTRIN_H], [/* Define to 1 if you have the <x86intrin.h> header file. */
autom4te.cache/traces.2:@%:@undef HAVE_X86INTRIN_H])
src/pll.h:#ifdef HAVE_X86INTRIN_H

The build ends up in

...
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wsign-compare -D_GNU_SOURCE -std=c99 -O3 -mavx -msse3 -g -c core_partials_avx.c  -fPIC -DPIC -o .libs/libpll_la-core_partials_avx.o
core_partials_avx.c: In function 'pll_core_create_lookup_4x4_avx':
core_partials_avx.c:144:3: error: unknown type name '__m256d'
   __m256d ymm0,ymm1,ymm2,ymm3,ymm4,ymm5,ymm6,ymm7;
   ^~~~~~~
core_partials_avx.c:145:3: error: unknown type name '__m256d'
   __m256d xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7;
   ^~~~~~~
core_partials_avx.c:146:3: error: unknown type name '__m256i'
   __m256i jmask,kmask;
   ^~~~~~~
core_partials_avx.c:155:13: warning: implicit declaration of function '_mm256_set_epi64x' [-Wimplicit-function-declaration]
     jmask = _mm256_set_epi64x(
             ^~~~~~~~~~~~~~~~~
...


Any idea what I might have done wrongly?

Kind regards

      Andreas.

[1] https://anonscm.debian.org/cgit/debian-med/libpll.git/tree/debian/patches/have_x86intrin_h.patch

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list