Compiling gnuradio fails on 64-bit system

Hi,

Since a few days I have a problem compiling the gnuradio libraries. In
particular, when compiling the volk libraries it seems the make system
tries to mix 32-bit and 64-bit code when trying to link the libraries.


libtool: link: gcc -shared .libs/libvolk_la-volk.o
.libs/libvolk_la-volk_cpu.o .libs/libvolk_la-volk_rank_archs.o
.libs/libvolk_la-volk_prefs.o .libs/libvolk_la-volk_machines.o
-Wl,–whole-archive ./.libs/libvolk_avx_64.a ./.libs/libvolk_ssse3_32.a
./.libs/libvolk_sse3_64.a ./.libs/libvolk_sse2_32.a
./.libs/libvolk_generic.a ./.libs/libvolk_sse4_2_64.a
./.libs/libvolk_sse4_a_64.a ./.libs/libvolk_sse4_1_32.a
./.libs/libvolk_sse2_64.a ./.libs/libvolk_sse4_a_32.a
./.libs/libvolk_sse4_2_32.a ./.libs/libvolk_avx_32.a
./.libs/libvolk_sse2_only.a ./.libs/libvolk_sse4_1_64.a
./.libs/libvolk_sse3_32.a ./.libs/libvolk_ssse3_64.a
-Wl,–no-whole-archive -Wl,-soname -Wl,libvolk.so.0 -o
.libs/libvolk.so.0.0.0
/usr/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/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/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/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/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/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/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

On 08/31/2011 10:45 PM, Urs Hunkeler wrote:

Hi,

Since a few days I have a problem compiling the gnuradio libraries. In
particular, when compiling the volk libraries it seems the make system
tries to mix 32-bit and 64-bit code when trying to link the libraries.

I believe that nick addressed this issue in the cmake branch:
http://gnuradio.org/cgit/jblum.git/tree/volk/lib/CMakeLists.txt?h=next#n30

Do you mind building from the cmake branch? Let us know if that fixes
the problem:
http://gnuradio.org/redmine/projects/gnuradio/wiki/CMakeWork

-josh

Thanks Josh, that was quick!

Ok, the cmake branch seems to work (compiling, testing and installing),
except for the test 68 - qa_costas_loop_cc.

Cheers,
Urs