Porting GNURadio to arm-linux platform

Hi,

I’m trying to port GNURadio packages to arm-linux platform, and I
think I’m almost done since I cross-compiled most of necessary
libraries and binaries including GNURadio itself.

So, cross-compiled boost, swig, fftw3, and cppunit.

And then using this configuration of GNURadio

./configure --prefix=DESTINATION --host=arm-linux
–with-boost-include-dir=CROSSCOMPILEDBOOST
–with-cppunit=CROSSCOMPILEDCPPUNIT && make install

After fixing some minor error messages regarding lib directory and
include directory, I could have whole libraries and binaries for
that(I’d like to share this once I could have running GNURadio on the
gumstix platform)

Due to the limited memory capacity of the host platform, I had to use
CF memory. So I copies all libraries and binaries under “/mnt/cf/gnu”

And then, using “export LD_LIBRARY_PATH=/mnt/cf/gnu/lib” I set the
library path so that it could refer the libraries such as cppunit,
boost, fftw3, fftw3f and etc.

Well, so I finally meet this error

python

Python 2.4.2 (#1, May 8 2007, 15:14:49)
[GCC 4.1.1] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

from gnuradio import gr
Traceback (most recent call last):
File “”, line 1, in ?
File “gnuradio/gr/init.py”, line 27, in ?
from gnuradio_swig_python import *
File “gnuradio/gr/gnuradio_swig_python.py”, line 23, in ?
from gnuradio_swig_py_runtime import *
File “gnuradio/gr/gnuradio_swig_py_runtime.py”, line 6, in ?
import _gnuradio_swig_py_runtime
ImportError: File not found
=====================================================

So, I’m suspecting this is because of lack of run-time library,
inappropriate library path setting and/or inappropriate symbolic
links.

Could anyone comment on this problem?
To resolve this problem, I need to know which libraries are required
for run-time at least.

Regards,
Younghun


Younghun Kim, GSR
Networked Embedded Systems Laboratory (NESL)
University of California, Los A. (UCLA)

Koen Kooi has run the dial tone example on the openmoko phone. (ARM
based). Take a look at openembedded, we have added support for
building gnu radio there.

http://wwwo.openembedded.org

Philip

Hi,

Well, I actually had to make --prefix the same as DESTDIR to make
install them. I’m suspecting it is because DESTDIR is not the same as
“/mnt/cf/gnu” meaning PATH is not correct.

Thank you,
Younghun

My quick reaction is that you are having problems from using different
paths from (cross-)building and running. Try making an ARM destdir and
installing everything into it in the same place you will have it when
you run. Lots of programs configure in (via @prefix@ in foo.in) the
prefix,and then look for them. Settting LD_LIBRARY_PATH is a gross hack
and only addresses library search paths, but nothing else.

So I think you need not only --prefix but also DESTDIR on the make
install.

disclaimer: I haven’t actually done this. But I cross-build NetBSD
itself all the time, and the above destdir/prefix scheme is how it
works.

[email protected] (Younghun Kim) writes:

I’m trying to port GNURadio packages to arm-linux platform, and I
think I’m almost done since I cross-compiled most of necessary
libraries and binaries including GNURadio itself.

Note that my Debian packaging of gnuradio gets built for all Debian
architectures, including arm. See Debian -- Package Search Results -- gnuradio
for
details. It sounds like you’re in good shape, but perhaps this will
save
someone else effort in the future…

Bdale

Younghun Kim schrieb:

Thank you for the link. I should try those debian packages, although I
wanted to customize the gnuradio packages for my purpose.

This is no problem. Debian supports building packages on your own, with
your own change set.

In general you do: (# as root/sudo, $ as user)

apt-get update

apt-get install build-essential # Compilers, linker, -dev stuff

$ apt-get source
$ apt-get build-dep
$ cd -
$ → do your changes
$ dch -i # update package version so it won’t be overwritten on update
$ debuild # or dpkg-buildpackage -rfakeroot
$ cd …

dpkg -i

Share and enjoy!

The Debian Reference[0] and the New Maintainers Guide[0.5] will help
you. Short explanation at Building Custom Debian Packages[1]

[0]
http://www.debian.org/doc/manuals/reference/ch-package.en.html#s-port
[0.5] Chapter 6. Building the package
[1]
http://www.dit.gov.bt/admin/index.php?title=Custom-packages&redirect=no


Engineers motto: cheap, good, fast: choose any two
Patrick S.
Student of Telematik, Techn. University Graz, Austria

Thank you for the link. I should try those debian packages, although I
wanted to customize the gnuradio packages for my purpose.

Younghun