A series of Powershell scripts to automatically download, build from source, and install GNURadio and -all- it's dependencies as 64-bit native binaries then package as an msi using Visual Studio 2015
PowerShell C OCaml Makefile Scheme Batchfile Other
Clone or download
Latest commit 48dfd51 Jun 26, 2017
Permalink
Failed to load latest commit information.
bin swig upgraded binary Jun 11, 2017
icons/hicolor Adds gnuradio icon and eliminates startup warning about lack of 'hico… Oct 18, 2016
run gnuradio: added run_gr_d.bat May 21, 2017
wix wix: changed win build version to 1.3.0 Jun 26, 2017
.gitattributes Initial commit to add default .gitIgnore and .gitAttribute files. Jan 30, 2016
.gitignore Added binaries to repo Mar 30, 2016
AVX2.props Included AVX2.prop file and other bug fixes Mar 30, 2016
ConfigInfo.psd1 Update dependency pack to v1.3 Jun 26, 2017
DetectAVXInstructions.ps1 Fixed typo in detectAVXInstructions script Jun 18, 2017
GNURadio_Windows_Build.pssproj Prep for v1.1.1 release to fix critical gqrx bug May 4, 2016
GNURadio_Windows_Build.sln Prep for v1.1.1 release to fix critical gqrx bug May 4, 2016
LICENSE Initial commit Mar 1, 2016
README.md Changed README Jun 26, 2017
Setup.ps1 Setup: minor logging addition Jun 26, 2017
Step1-UserPreferences.ps1 Ensured dependency checks would occur if RUNME_FIRST was skipped. Jan 27, 2017
Step2-GetStage1Packages.ps1 Retrieve qwtplot3d from our site with fixes May 19, 2017
Step3-BuildStage1Packages.ps1 qt4: converted CL to _CL_ and copied PDBs to build-specific staging area Jun 11, 2017
Step4-BuildPythonPackages.ps1 Does not build tensorflow in debug Jun 11, 2017
Step5-ConsolidateLibs.ps1 qwt6: create include dir May 28, 2017
Step5a-DownloadDependencies.ps1 Call setup at $root as fallback May 11, 2017
Step6-GetStage3Packages.ps1 Checks out maint branch of gnuradio by default. Jun 17, 2017
Step7-BuildGNURadio.ps1 debug: renamed _swig files so debug will work. Jun 26, 2017
Step8-BuildOOTModules.ps1 iq-bal: Added /EHsc Jun 26, 2017
Step9-BuildMSI.ps1 stage4: consolidate pdb files Jun 26, 2017
~RUNME_FIRST.ps1 check for overlong file paths Apr 3, 2017

README.md

GNURadio Windows Build Scripts v1.3

A series of Powershell scripts to automatically download, build from source, and install GNURadio and -all- it's dependencies as 64-bit native binaries then package as an .msi using Visual Studio 2015.

For more details on this effort, please see the support website

IF YOU JUST WANT TO USE GNURADIO ON WINDOWS, DON'T USE THESE SCRIPTS... use the binaries that are posted at the above site. The Linux way is to build from source, this is usually not helpful on Windows, so use the installers unless you just want to tinker, in which case enjoy!

The finished MSI includes:

Device Support: UHD, RTL-SDR, hackrf, airspy, BladeRF, osmoSDR, FCD

GNURadio modules: 3.7.11.1 with all but gr-comedi modules built and included

OOT modules: gr-iqbal, gr-fosphor, gr-osmosdr, gr-acars, gr-adsb, gr-modtool, gr-air-modes, gr-ais, gr-ax25, gr-burst (incl. bitarray), gr-cdma, gr-display (incl. matplotlib), gr-eventstream, gr-inspector (incl. tensorflow), gr-lte, gr-mapper, gr-nacl, gr-paint (incl. PIL), gr-radar, gr-rds, gr-specest, OpenLTE

Other Applications: gqrx

PREREQUISITES

The following tools must be installed:

  • MS Visual Studio 2015 (Community or higher)
  • Git For Windows
  • CMake
  • Doxygen
  • ActiveState Perl
  • Wix toolset for VS 2015

Also, the complete build requires no less than 60 GB of free disk space.

INSTALLATION & BUILD

Run the below from an elevated command prompt (the only command that requires elevation is the Set-ExecutionPolicy. If desired, the rest can be run from a user-privilege account)

git clone http://www.github.com/gnieboer/GNURadio_Windows_Build_Scripts
cd GNURadio_Windows_Build_Scripts
powershell 
Set-ExecutionPolicy Unrestricted
./~RUNME_FIRST.ps1

Build logs can be found in the $root/logs directory. The scripts will validate key parts of each step, but are not 100% guaranteed to detect a partial build failure. Use the logs to further diagnose issues.

Once complete, msi files can be found in the [root]/src-stage4-installer/dist subdirectories. The build can be tested after Step 7 by running run_grc.bat in the src-stage3/staged_install/[config]/bin subdirectory to

ISSUES

1- Ensure your anti-virus is off during installation... even Windows Defender. PyQt4 may fail to create manifest files as a result.

2- Right-click your powershell window, go to "Properties" and ensure QuickEdit and Insert Mode are NOT checked. Otherwise when you click on the window, execution may pause without any indication as to why, leading you to believe the build has hung.

3- This has been tested with a B200 UHD, a hackRF, and an RTL-SDR. Other device drivers have not been phyiscally verified to work. If you own one, please let me know if you had success.

4- In the event of issues, I highly recommend Dependency Walker to troubleshoot what libraries are linked to what.

5- If your connection is spotty, you may get partially downloaded packages which cause build failures. To correct, DELETE the suspect package from the /packages directory so it will retry the download.

6- The following devices are NOT currently supported: FCD Pro+, RFSPACE, MiriSDR, SoapySDR, SDRPlay

7- Installing MSVC to a non-standard path may cause the dependency checks to fail

8- CMake 3.3 is the only version currently supported. CMake 3.5 has been reported to have issues detecting the custom python install when at the BuildGNURadio step.

9- Zadig must be manually added to the /bin directory prior to MSI creation

LICENSE

The scripts themselves are released under the GPLv3. The resulting MSI's are also GPLv3 compatible, see www.gcndevelopment.com/gnuradio for details and access to all modifications to original source code. All patches are released under the same license as the original package it applies to.