Build problems and some possible solutions

Hi !

I’m using gentoo linux with multilib support and did a fresh git clone
from the repository.

running ./bootstrap results in

configure.ac:39: installing ./install-sh' configure.ac:39: installing./missing’
gnuradio-core/src/guile/Makefile.am: installing ./depcomp' gnuradio-core/src/lib/swig/Makefile.am:77: installing./py-compile’
grc/freedesktop/Makefile.am:35: pkglibexecdir' is not a legitimate directory forSCRIPTS’
configure.ac:22: installing ./install-sh' configure.ac:22: installing./missing’
lib/Makefile.am: installing `./depcomp’

As I have installed
automake (GNU automake) 1.11.2

most of the Makefile.in 's are not written.

As I don’t know the legitimate directory for SCRIPTS I commented out
line 35 in

grc/freedesktop/Mikefile.am

that is

dist_pkglibexec_SCRIPTS = grc_setup_freedesktop

After that bootstrap generates all files.

Then I run ./configure --prefix=/usr/local/gnuradio

The result was

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


The following GNU Radio components have been successfully configured:

config
gruel
volk
gnuradio-core
gr-digital
gr-audio
gr-vocoder
gr-atsc
gr-noaa
gr-pager
gr-trellis
gr-video-sdl
gr-wxgui
gr-qtgui
gr-utils
gnuradio-examples
grc
docs

You my now run the make command to build these components.


The following components were skipped either because you asked not
to build them or they didn’t pass configuration checks:

gr-comedi
gr-uhd
gr-shd

These components will not be built.

Running make leads to the problem that volk cannot be build.

The error message is

/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/…/…/…/…/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/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../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/lib/gcc/x86_64-pc-linux-gnu/4.5.3/…/…/…/…/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/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../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/lib/gcc/x86_64-pc-linux-gnu/4.5.3/…/…/…/…/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/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../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/lib/gcc/x86_64-pc-linux-gnu/4.5.3/…/…/…/…/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

I found this problem in the 3.5.1 tarball, too.

Maybe this is due to the definitions in archs.xml
that says

m32 MD_SUBCPU x86_64

After removing the line
<overrule_val>x86_64</overrule_val>

and after again bootraping and configuring everything works well. But I
don’t know if there are other side- effects on other systems.

But
make installmake[5]: Entering directory
/home/schroer/gnuradiocomponents/gnuradio/gr-vocoder/python' make[6]: Entering directory/home/schroer/gnuradiocomponents/gnuradio/gr-vocoder/python’
make[6]: Fr das Ziel install-exec-am ist nichts zu tun.
test -z
“/usr/local/gnuradio/lib64/python2.7/site-packages/gnuradio/vocoder” ||
/bin/mkdir -p
“/usr/local/gnuradio/lib64/python2.7/site-packages/gnuradio/vocoder”
/usr/bin/install -c -m 644 init.py cvsd.py
‘/usr/local/gnuradio/lib64/python2.7/site-packages/gnuradio/vocoder’
/bin/sh: Zeile 15: --destdir: Kommando nicht gefunden.
make[6]: *** [install-vocoderPYTHON] Fehler 127

Is this one of the possible side effects ? I suppose not, but at the
moment I have no solution.

Any hint would be welcome.

– Volker

fails with

On 01/08/2012 10:39 AM, Volker S. wrote:

configure.ac:39: installing `./missing’

gr-vocoder
docs

/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/…/…/…/…/x86_64-pc-linux-gnu/bin/ld:
is incompatible with i386:x86-64 output
`./.libs/libvolk_sse3_32.a(libvolk_sse3_32_la-volk_machine_sse3_32.o)’
<overrule_val>x86_64</overrule_val>
make installmake[5]: Entering directory
/bin/sh: Zeile 15: --destdir: Kommando nicht gefunden.
make[6]: *** [install-vocoderPYTHON] Fehler 127

Is this one of the possible side effects ? I suppose not, but at the
moment I have no solution.

Any hint would be welcome.

There is a multi-lib problem with volk + autotools build. The problem
is, if the compiler check of -m32 and -m64 both pass, both flags get
used, and the result is broken libraries.

To the best of my knowledge, the issue is fixed for the cmake build on
the master branch. But I don’t think any releases to date have cmake.

To build with autotools, one possible work-around would be to remove the
“<arch name=“32”…>” entry from the archs.xml.

-Josh

On 01/08/2012 06:39 PM, Volker S. wrote:

/bin/mkdir -p
Any hint would be welcome.

– Volker

fails with

I know this is an old thread, but I’ve hit the --destdir problem myself,
and it’s due to an automake bug, see
http://lists.gnu.org/archive/html/bug-automake/2012-03/msg00041.html

Regards,
Joo Silva