I am a mac and NetBSD user and have not run any linux systems for many years. I have never used Debian/Ubuntu/etc.
Now I would like to begin doing work with osmocom, GNU radio, SDRs and some android development.
I knw it's a religious question, but 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 ?
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 ...
Thanks.
Hi John,
On Thu, Jul 19, 2012 at 05:43:08AM +0000, John Case wrote:
I am a mac and NetBSD user and have not run any linux systems for many years. I have never used Debian/Ubuntu/etc.
Now that's an interesting combination! ;)
Now I would like to begin doing work with osmocom, GNU radio, SDRs and some android development.
I knw it's a religious question, but 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 ?
Most developers use Debian, it works as expected. IIRC somebody in the past tried to package something from *.osmocom.org for netbsd. Search the ML archive. At least libosmocore compiles on freebsd[1]. Did you try to compile osmocombb on netbsd? I'd be interested in the results.
[...]
Kind regards, -Alexander Huemer
[1] http://jenkins.osmocom.org/jenkins/job/libosmocore/label=FreeBSD_amd64/
Hi Alexander, John, list,
On 19/07/2012 09:04, Alexander Huemer wrote:
On Thu, Jul 19, 2012 at 05:43:08AM +0000, John Case wrote:
I am a mac and NetBSD user and have not run any linux systems for many years. I have never used Debian/Ubuntu/etc.
Now that's an interesting combination! ;)
Rock on!
Now I would like to begin doing work with osmocom, GNU radio, SDRs and some android development.
I knw it's a religious question, but 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 have managed to build Osmocom at some point on NetBSD; see: https://github.com/khorben/osmocom-bb
It didn't fully work as-is from my tests, but it should be possible to make it work. I used a cross-compilation toolchain built through NetBSD's build.sh (evbarm).
I assume the answer must be either Debian or Ubuntu, but really have no idea ... comments ?
Most developers use Debian, it works as expected. IIRC somebody in the past tried to package something from *.osmocom.org for netbsd. Search the ML archive.
It's in pkgsrc-wip, wip/libosmocore. I did it in August 2011, I think it's way out of date now.
At least libosmocore compiles on freebsd[1]. Did you try to compile osmocombb on netbsd? I'd be interested in the results.
*tadaaa*
(no idea about the current code though)
HTH,
Hi khorben and others,
On Thu, Jul 19, 2012 at 01:52:10PM +0200, Pierre Pronchery wrote:
I have managed to build Osmocom at some point on NetBSD; see: https://github.com/khorben/osmocom-bb
we're happy to merge any patches you may have. I don't really think there are large show-stoppers in the libosmocore/openbsc/osmocom-bb code from making it work on NetBSD or other flavors of *NIX-like operating systems.
It basically needs somebody who uses those systems to more or less regularly build the code and send patches for any problems.
It's not that we are a Linux-only club. It's really just that nobody contributes patches...
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
Hi Peter,
I really would like to stop this to go too far off-topic, but:
On Thu, Jul 19, 2012 at 05:34:21PM +0200, Peter Stuge wrote:
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.
I'm not really sure how those two relate. I regularly build all of the osmoocom code on Debian stable (which is known for its ancient versions). So I really don't think we have any dependencies to something that would not be part of any more or less current distribution of the last 2-3 years.
So I would think that all of those distributions (source-built or binary based) are equally well equipped to build and use any of the osmocom projects on them.
Regards, Harald
Harald Welte wrote:
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.
I'm not really sure how those two relate. I regularly build all of the osmoocom code on Debian stable (which is known for its ancient versions). So I really don't think we have any dependencies to something that would not be part of any more or less current distribution of the last 2-3 years.
Yes, but you have no option but to build everything manually, I call it slackware style, while with a source based distribution it is more likely that there is actual support for bleeding edge packages. In Gentoo they're called "live" ebuilds; latest git is built and managed by the package manager. Dependencies are resolved. It's quite nice.
So I would think that all of those distributions (source-built or binary based) are equally well equipped to build and use any of the osmocom projects on them.
Certainly when building everything manually, but that's really quite primitive. Source based distributions generally have more powerful package management tooling was my message, which I think is on topic.
//Peter
baseband-devel@lists.osmocom.org