Fixing gnuradio deleted directory - gnuradio

I have been following this guide to install gnuradio 3.8 onto my Ubuntu 22.04.1 LTS, but I missed the instruction where it said "Ensure the "gitbranch" is maint-3.8", and mine said maint-3.10. After trying to install gr-iqbal, it gave me an error. For whatever reason, I thought that simply deleting the directory it was built in would let me reinstall it. It didn't.
I have tried using pybombs install gnuradio which gives me CMake Error: The source directory "/home/aboigoe/sdr/src/gnuradio" does not appear to contain CMakeLists.txt.
I have tried using pybombs rebuild gnuradio, but that obtains Package gnuradio is not installed into current prefix. Aborting.
To fix that, I tried using pybombs fetch gnuradio, which runs fine, but doesn't fix the previous error.
Finally, I tried pybombs remove gnuradio, but it says Package gnuradio is not installed. Aborting.

So you're working with pybombs! That makes this particular task easier: just delete the whole prefix, and start anew. The main thing you needed to build in that prefix was GNU Radio, and you built 3.10, and wanted 3.8, so that's a complete rebuild, anyways.
I assume you're following that guide (which comes, kind of, out of nowhere – GNU Radio has installation guides on their wiki, https://wiki.gnuradio.org) because you want exactly GNU Radio 3.8, with gr-osmosdr and gr-iqbal.
If you just want a working GNU Radio that can talk to your SDR hardware, um, don't follow random guides from the internet :) Instead, your whole problem boils down to a simple
sudo apt install gnuradio
and that's it – GNU Radio 3.10, as Ubuntu 22.04 ships it, contains gr-soapy, and Ubuntu's apt will install many available hardware drivers (for RTL-SDR, hackrf, mirisdr, bladerf, audio-interfaced hardware, red pitaya,…) without any need to do anything yourself. It just works.
The thing that will be different is that the blocks to inteface with your hardware will not reside under the "osmosd" category in your GRC, but in "Soapy", but I guess you'll deal with that rather than going through the rather convoluted way of installing an old (and not updated anymore) version of GNU Radio, to include an old (and not updated anymore) version of gr-osmosdr :)

Related

How to upgrade gcc compiler to latest version

I have gcc 6.3.0 and to run tensorflow 2.11.0 along with cuda 11.2, I require gcc version 9.3.1, but I just cannot find a simple and straightforward way to do that. Some people say install mysys, other sites point to sourceforge download link, while download links on mingw site point to github repos, I just don't understand how to upgrade this thing.
It would be really helpful if someone could explain it like you are explaining it to complete newbie, step by step.
Last time, I downloaded mysys2 because someone told that it will automatically upgrade gcc to latest version, mysys2 came with a python 3.10, and I was working with python 3.9, and it created a lot of issues, later I had to reset my pc. That's way I just want to know the direct way to upgrade this thing instead of upgrading other software. I also tried by downloading mingw, but the installer available on sourceforge gives gcc 6.3.0 and not the latest gcc.
And what is this cygwin which gives unix like environment, why do i require unix like environment. Even if cygwin can do it easily, I am hesitant to download cygwin, cause i don't want another repeat of tragedy that happened due to mysys2, afterall, installing a complete set of programs that i don't know anything about and will probably never use will only create additional errors.

Making the CMAKE path available to another software

I am trying to install a software package called kinsol, a non-linear equation solver, through ccmake as instructed in its documentation. The package requires a cmake version 3.12 or higher. So, I installed 3.17.3. Now, the problem is that my kinsol installation process is not able to locate ccmake and hence gives the message "ccmake ../kinsol-6.2.0
The program 'ccmake' is currently not installed. You can install it by typing:
sudo apt install cmake-curses-gui". But using the aforementioned command installs the version 3.5, which again fails in the task due to the version requirement of kinsol. I had come across a similar question in this forum and so I followed the workarounds suggested there as in putting the installation path of cmake in the .bashrc file still without any success. Does anyone know how to make the path of cmake known to the software?
Thanks,
DP

Gnuradio companion not installed after running build-gnuradio script

I tried installing Gnuradio 3.7.9.2 using build-gnuradio script and apart from a few hiccups due to some packages (which I installed and re-ran the script again) , the script completed its run successfully (I enabled the verbose option of the script to check the output). I even added the PYTHONPATH to the .bashrc script after completing the installation. When I tried launching gnuradio-companion though, it doesnt recognise the command.
:~$ gnuradio-companion
The program 'gnuradio-companion' is currently not installed. You can install it by typing:
sudo apt-get install gnuradio
So, I was wondering whether I need to install grc separately after the build-gnuradio script installation ?. I apologise if this is too simple, I have tried the installation many times and searched the web for problems like this. To the best of my efforts, I was not able to find any. It would be great, if anyone can point to any existing question similar to this, or guide me in fixing this issue. Thank you.
It is advised to use PyBOMBS to install GNU Radio. Installing Out-of-Tree modules (OOTs) will be much easier afterwards. As for your problem: Did you check if your $PATH variable (echo $PATH) contains /usr/local/bin/? This should be the default installation path for a non-system install of GNU Radio.
Alternatively you can try to run /usr/local/bin/gnuradio-companion.

Does OpenBTS needs GNU Radio to work?

I'm trying to deploy OpenBTS with USRP B100 using UHD. When I installed GNU Radio by apt-get it installed UHD as well, but when I tried to use uhd_usrp_probe to find my usrp it didn't work. Then I uninstalled uhd with the command: "apt-get purge uhd uhd*" and GNU Radio got removed too. After this I installed uhd by the command:
apt-get install -t 'lsb release-cs' uhd from the Ettus repositories and so UHD started to work properly. So I'm in doubt if I can go on the deploy without GNU Radio. So does OpenBTS needs GNU Radio to work?
So to answer the question you ask in the last sentence: "does OpenBTS need GNURadio to work" - the answer is no. Modern OpenBTS can use UHD directly to talk to various USRP's (including the B100), and does not require GNURadio.
To provide some historical context here: OpenBTS was never built to use GNURadio for any of the signal processing portions of its internals, however, back in the day OpenBTS relied on the libusrp1/libusrp2 libraries that were present within the GNURadio repository to talk to USRP1's and USRP2's respectively. I believe this mechanism is still supported within OpenBTS, however libusrp1/libusrp2 no longer exist in modern releases of GNURadio. In addition, they can not be used to control a B100 (libusrp1 only supports the USRP1, and libusrp2 only supports the USRP2, both products that are considered rather old at this point, and the USRP2 in particular is no longer sold). Point being, the only way OpenBTS can use GNURadio is with a very old release of GNURadio (i.e. one unlikely to be installed in any modern distribution). And more to the point, it would not use GNURadio to talk to a B100.
OpenBTS comes with a very complex build and installation system, which will install most of the components it needs itself.
Your Distro's GNU Radio will not be required. Also, now that you use the correct (new) version of UHD, GNU Radio would have to be built and linked against exactly that version of UHD (and not the one that the Distro was using when it built GNU Radio).

How to install recent mono and monodevelop?

I tried to install mono and monodevelop on centOS 6.3.
After many hours I was able to install mono but failed with monodevelop.
I'm really astonished how difficult and time consuming it is, to get a recent mono/monodevelop version on linux installed.
Is there nobody willing to write and maintain an install/compile tutorial to get the most recent mono/monodevelop/monodata/ASP.NET MVC/... version on the major linux distributions (Centos, Ubuntu, Suse, Debian) installed?
I think many people developing on Windows (with limited linux knowledge) would like to start using mono, if the boarding hurdle would be somehow lower.
It may be the most important to make Mono more used and more visible.
Please, write a tested tutorial (script) for compiling mono/monodevelop.
Thank you!
I have created a project on Open Build Service, which produces builds of the latest MonoDevelop 4.0.10 for Debian, Ubuntu, CentOS, and Fedora.
see https://build.opensuse.org/project/show/home:tpokorra:mono
For installation instructions with apt-get or yum, see:
http://software.opensuse.org/download/package?project=home:tpokorra:mono&package=monodevelop-opt
I hope this will increase the usage of MonoDevelop on Linux Desktop environments.
Monodevelop 4.
If you use any *buntu. Check this.
"You can open up the terminal and install it via the following:
1. sudo add-apt-repository ppa:keks9n/monodevelop-latest
2. sudo apt-get update
3. sudo apt-get install monodevelop-latest"
http://mono-d.alexanderbothe.com/?p=101
Xamarin should be doing a better job at publishing the linux packages in a one-click manner. I don't care what linux distro (SuSE, RHEL, CentOS, Ubuntu etc) - just pick any one as the supported one and publish for it. It seemed that it used to be SuSE but even that has old packages as seen within Zypper/YaST.
Update Mono framework
Having said that, to update the Mono framework itself, without letting go of the package managers try this. This will work as long as the project dutifully publishes the RPMs. You don't want to build from source since it's a more fickle process and the setup distracts from your real objective (i.e. develop).
Obviously, please replace the URL below to what will be latest by the time you're reading this.
mkdir mono-rpms
cd mono-rpms
wget --reject "index.html*" -nd -r -e robots=off --no-parent http://download.mono-project.com/archive/3.2.3/linux/x64/
sudo zypper install *rpm
Update MonoDevelop (the IDE)
Timotheus Pokorra's answer indicates he's filling in some of the usability void left by Xamarin (Thanks Timotheus!!). You can install MonoDevelop via
http://software.opensuse.org/download/package?project=home:tpokorra:mono&package=monodevelop-opt
Note that on SuSE I get the error
Problem: nothing provides liberation-mono-fonts needed by mono-libgdiplus-opt-3.0.12-7.1.x86_64
Solution 1: do not install monodevelop-opt-4.0.12-5.2.x86_64
Solution 2: break mono-libgdiplus-opt-3.0.12-7.1.x86_64 by ignoring some of its dependencies
I (very reluctantly) selected to break the dependency. Note that I already had liberation-fonts (via sudo zypper install liberation-fonts). I don't know if its the same/different as liberation-mono-fonts. Anyway, hope Timotheus fixes it when he has a moment.
I'm not sure if you've already seen this, but this may help:
http://www.mono-project.com/Parallel_Mono_Environments
The most common problem that new developers have when coming to Linux from systems like Windows is not properly setting up their environment variables and so when they do the standard ./configure && make && make install routine, when it involves a number of source packages (like Mono does), any package that depends on the core package won't pick up the correct location for that base package.
Your question really doesn't explain what parts you found confusing or difficult so it's hard to address those issues.
For people unfamiliar with setting up Linux systems, it may be easier if you just go with a system like Ubuntu which has fairly recent pre-built packages (although not the latest - I don't think any Linux system keeps up with Mono releases) rather than wrestling with the learning curve of how to build everything yourself.
It is confirmed that in the near future Xamarin will support Linux and provide binaries (mono and mainline applications) for Debian and Centos derivatives, and their are already packages for Debian and Centos derivatives for technical preview. So cheers and no more pain of compiling and even parallel mono installaions.It can not get more easy than this. Check here