Tooling up for osmocom, gnuradio, and android ... suggestions ?

Peter Stuge peter at stuge.se
Thu Jul 19 15:34:21 UTC 2012


John Case wrote:
> since I am starting with a completely blank slate, what would be
> the simplest, most painless distro to set up a development and
> build environment (cross compiling for arm, building osmocom, gnu
> radio, and running android development tools and SDKs) ?
>
> I assume the answer must be either Debian or Ubuntu, but really have no 
> idea ... comments ?

Debian and Ubuntu aren't really geared toward development. I rather
see them as end-user distributions with development tool extras.

I would suggest a source-based distribution, because by definition
you will have easy access to a wealth of development tools.

I'm extremely happy with Gentoo for my own needs. Gentoo calls itself
a meta-distribution, it is built to accomodate people who create
their own distribution, and it does very well at this.

I build my own distributions for my systems on a build server, and
after pressing the build button it takes about a day until my laptop
tarball with ca. 1000 packages including various crosscompilers and
other nice things falls out, which I unpack to a fresh partition and
find my system ready to use, with the same configuration that I like
to always have, because that is of course included in the build.

This may seem extreme, but what you want to do is not very far from
it.

The osmocom projects and GNU radio are quite volatile, frequently
changing, and more or less require staying constantly on the bleeding
edge to get the most out of the projects, and to be able to
contribute back of course!

Very few distributions are equipped to handle anything bleeding edge,
and in particular binary based distributions are useless, because you
have to wait for someone else to build that last commit. Not what you
want.

Not all work must take place under control of a package manager of
course. But on the other hand, since it is possible, then why not?

Especially when you have to deal with the dependency hell of larger
packages such as GNU radio, not having to do *everything* manually
like on Slackware is a big relief and a time saver.


> I think the nicest thing would be a distro that *already* had a full 
> complement of the GNU devel/conf/build tools that all the examples in the 
> wiki rely on ... so I wouldn;t have to worry about getting that environment 
> up from scratch ...

They are usually available in every distribution. But the separation
in binary distributions between "user" files and "developer" files
(there is usually one package with the binaries, and a -dev or -devel
package with any development files provided by that package; headers
and maybe static libraries and so on) I find unhelpful on a system
whose intended use is development.

Gentoo allows you to customize pretty much everything, but abstracts
compile time decisions into a harmoized set of "USE flags", so you
can say both globally and per-package if you want examples installed,
if you want documentation installed, if you want JPEG support, what
databases you want supported in a package (assuming upstream allows
choosing) and so on.

Gentoo also has a very nice tool called crossdev, for building cross
toolchains, which of course also integrates with the system package
manager.

It's a different mindset, but if you enjoy being in control of your
system, rather than your system controlling you, then I think Gentoo
would be worth a try for you.

There are of course also other source based distributions! Some have
left Gentoo for Archlinux, and there are several others. I have never
needed anything which Gentoo did not provide, so I never had a reason
to look for anything else. :) I'm sure that other distributions have
users with exactly the same experience with those! :)


//Peter




More information about the baseband-devel mailing list