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