| 1 |
Building and using gnuradio on windows (win32) using mingw |
|---|
| 2 |
|
|---|
| 3 |
Required tools and libraries |
|---|
| 4 |
|
|---|
| 5 |
MingW and Msys |
|---|
| 6 |
Download the latest stable version from the mingw site oand follow their installation instructions) |
|---|
| 7 |
|
|---|
| 8 |
Python for windows version 2.4 (or higher) |
|---|
| 9 |
You do not need to build this yourself. |
|---|
| 10 |
You can just install the windows executable which you can find on the python site. |
|---|
| 11 |
I am not sure if it will work if you have speces in your python pathname. |
|---|
| 12 |
I recommend installing it in C:\Python24 or D:\Python24 |
|---|
| 13 |
|
|---|
| 14 |
Libtool |
|---|
| 15 |
If you are building from cvs you need a recent libtool |
|---|
| 16 |
msys comes with libtool, but the version distributed with current mingw doesn't work with gnuradio. |
|---|
| 17 |
download, build and install a recent libtool |
|---|
| 18 |
|
|---|
| 19 |
cppunit |
|---|
| 20 |
Build and install cppunit |
|---|
| 21 |
|
|---|
| 22 |
boost |
|---|
| 23 |
build and install boost (maybe you can get away with only unpacking the source, we only use the boost header files) |
|---|
| 24 |
If you build boost, you first have to download jam (boost jam) for win32. (Do not use build and use the cygwin version) |
|---|
| 25 |
|
|---|
| 26 |
build environment: |
|---|
| 27 |
You need to have the following files on your PATH: |
|---|
| 28 |
python.exe python24.dll libcppunit-1-10-2.dll libfftw3f-3.dll fftwf-wisdom.exe cppunit-config |
|---|
| 29 |
If you have cygwin installed Make sure that NO cygwin executables are on your path. |
|---|
| 30 |
|
|---|
| 31 |
needed on PATH: |
|---|
| 32 |
/usr/local/bin |
|---|
| 33 |
/mingw/bin |
|---|
| 34 |
/bin |
|---|
| 35 |
/c/Python24/ python.exe |
|---|
| 36 |
/c/Python24/libs python24.dll |
|---|
| 37 |
/c/Python24/DLLs |
|---|
| 38 |
/usr/local/bin or /mingw/bin or /my/special/installed/lib/folder/bin |
|---|
| 39 |
libcppunit-1-10-2.dll |
|---|
| 40 |
libfftw3f-3.dll |
|---|
| 41 |
fftw-wisdom-to-conf |
|---|
| 42 |
fftwf-wisdom.exe |
|---|
| 43 |
cppunit-config |
|---|
| 44 |
/c/WINNT/system32 |
|---|
| 45 |
/c/WINNT |
|---|
| 46 |
|
|---|
| 47 |
|
|---|
| 48 |
I made a little script set_clean_path.sh to set my path for building gnuradio where I just discard the original PATH (to get rid of the cygwin executables on my default path) and just include what is needed: |
|---|
| 49 |
|
|---|
| 50 |
#!/bin/sh |
|---|
| 51 |
export PATH=".:/usr/local/bin:/mingw/bin:/bin:/c/Python24:/c/Python24/DLLs:/c/Python24/libs:/my/special/installed/lib/folder/bin:/c/WINNT/system32:/c/WINNT:/c/WINNT/System32/Wbem:. |
|---|
| 52 |
|
|---|
| 53 |
You need to source this script to set the PATH. |
|---|
| 54 |
. ./set_clean_path.sh |
|---|
| 55 |
(notice the extra dot and space in the beginning of the line, this means source this file. Sourcing means execute it and remember all environment variables set in this script) |
|---|
| 56 |
|
|---|
| 57 |
If you are building from cvs it is recommended that you edit bootstrap to your needs and use it |
|---|
| 58 |
If you built a recent libtool and didn't overwrite the original libtool |
|---|
| 59 |
(because you installed the new version in /usr/local) then you have to tell aclocal to use the more recent libtool m4 macros. |
|---|
| 60 |
You can do this by appending -I /usr/local/share/aclocal to the aclocal commandline |
|---|
| 61 |
I also changed the aclocal and automake invocations to use the most recent version in my bootstrap script |
|---|
| 62 |
Here follows the bootstrap script I use |
|---|
| 63 |
|
|---|
| 64 |
#!/bin/sh |
|---|
| 65 |
rm -fr config.cache autom4te*.cache |
|---|
| 66 |
|
|---|
| 67 |
aclocal-1.8 -I config -I /usr/local/share/aclocal |
|---|
| 68 |
autoconf |
|---|
| 69 |
autoheader |
|---|
| 70 |
libtoolize --automake |
|---|
| 71 |
automake-1.8 --add-missing |
|---|
| 72 |
|
|---|
| 73 |
If you run this script it will convert a clean cvs checkout to a version which you can configure, build and install |
|---|
| 74 |
|
|---|
| 75 |
So now you can configure gnuradio. |
|---|
| 76 |
On win32 /mingw you need to give it a few parameters |
|---|
| 77 |
You need to tell it where cppunit is installed |
|---|
| 78 |
where boost include files are to be found |
|---|
| 79 |
where the pkg-config of libfftw is to be found |
|---|
| 80 |
to use a generic cpu (no 3Dnow,SSE,MMX) (This option will not be needed anymore soon) |
|---|
| 81 |
If you have boost installed in C:\boost_1_32_0 and cppunit and fftw in /usr/local then you would need the following configur commandline |
|---|
| 82 |
$ ./configure --with-md-cpu=generic --with-cppunit-prefix=/usr/local --with-boost-include-dir=/c/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig |
|---|
| 83 |
|
|---|
| 84 |
If everything went well you cannow do |
|---|
| 85 |
make |
|---|
| 86 |
make install |
|---|
| 87 |
|
|---|
| 88 |
Now you have a working gnuradio-core |
|---|
| 89 |
Now you can go on building and installing gr-audio-windows and windows usrp and wxgui |
|---|
| 90 |
remember that all gnuradio and python dlls need to be on your path to use gnuradio |
|---|
| 91 |
The gnuradio dlls are installed at |
|---|
| 92 |
/c/Python24/Lib/site-packages:/c/Python24/Lib/site-packages/gnuradio:/c/Python24/Lib/site-packages/gnuradio/gr |
|---|