Tuesday, February 21, 2012

[Discuss-gnuradio] Building volk fails with 'i386 architecture of input file is incompatible with i386:x86-64 output'

Hello,

I'm trying to build gnuradio (v3.5.1-103-ge4693dfb) by doing:

$ ./bootstrap
$ ./configure
$ make

This results in (from configure):

The following architectures will be built:
generic 32 64 3dnow abm popcount mmx sse sse2 orc sse3 ssse3 sse4_a sse4_1 sse4_2 avx

Now when I build I am running into the following error:

/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `./.libs/libvolk_ssse3_32.a(libvolk_ssse3_32_la-volk_machine_ssse3_32.o)' is incompatible with i386:x86-64 output
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `./.libs/libvolk_sse2_32.a(libvolk_sse2_32_la-volk_machine_sse2_32.o)' is incompatible with i386:x86-64 output
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `./.libs/libvolk_sse4_1_32.a(libvolk_sse4_1_32_la-volk_machine_sse4_1_32.o)' is incompatible with i386:x86-64 output
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `./.libs/libvolk_sse4_a_32.a(libvolk_sse4_a_32_la-volk_machine_sse4_a_32.o)' is incompatible with i386:x86-64 output
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `./.libs/libvolk_sse4_2_32.a(libvolk_sse4_2_32_la-volk_machine_sse4_2_32.o)' is incompatible with i386:x86-64 output
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `./.libs/libvolk_avx_32.a(libvolk_avx_32_la-volk_machine_avx_32.o)' is incompatible with i386:x86-64 output
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `./.libs/libvolk_sse3_32.a(libvolk_sse3_32_la-volk_machine_sse3_32.o)' is incompatible with i386:x86-64 output
collect2: ld returned 1 exit status

Even if I try to leave out the 32bit arch by doing:

$ ./configure --with-lv_arch="generic 64 3dnow abm popcount mmx sse sse2 orc sse3 ssse3 sse4_a sse4_1 sse4_2 avx"
[...]
The following architectures will be built:
generic 64 3dnow abm popcount mmx sse sse2 orc sse3 ssse3 sse4_a sse4_1 sse4_2 avx

I will get the following error:

./.libs/libvolk.so: undefined reference to `volk_machine_sse4_a_32'
./.libs/libvolk.so: undefined reference to `volk_machine_sse4_2_32'
./.libs/libvolk.so: undefined reference to `volk_machine_sse4_1_32'
./.libs/libvolk.so: undefined reference to `volk_machine_ssse3_32'
./.libs/libvolk.so: undefined reference to `volk_machine_avx_32'
./.libs/libvolk.so: undefined reference to `volk_machine_sse2_32'
./.libs/libvolk.so: undefined reference to `volk_machine_sse3_32'
collect2: ld returned 1 exit status

How to solve this issue?

-Markus

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

No comments:

Post a Comment