For how to use the binary distribution see README.mingw-bin hacks to make it build on mingw: install msys install mingw install updates to mingw/msys install standard win32 python (python-2.4.1.msi) in a path without spaces (c:\Python24) install numerical python for win32 (Numeric-23.8.win32-py2.4.exe) as addon to python install standard win32 swig (swigwin-1.3.24.zip) in a path without spaces (c:\SWIG-1.3.24) for a reduced wxgui experience with my patched wxgui for gnuradio install python win32api (pywin32-204.win32-py2.4.exe) install wxpython for win32 (wxPython2.6-win32-ansi-2.6.0.0-py24.exe) unpack patch and build and install fftw 3.01 unpack patch and build and install cppunit unpack boost (I am not sure if you have to build it, I did, takes a while) in a path without spaces make sure there are no cygwin executables in your path make sure swig and python are in your path make sure all dlls (of python, swig, ...) are on your path your path during should be something like: $ echo $PATH .:/usr/local/bin:/mingw/bin:/bin:/c/Python24/DLLs:/c/Python24/libs:/mingw/fftw/bin:/c/Python24:/c/SWIG-1.3.24:/c/WINNT/system32:/c/WINNT:/c/WINNT/System32/Wbem:.:/c/Program Files/NVIDIA Corporation/Cg/bin use --with-md-cpu=generic: the optimized fir code doesn't compile on my mingw/gcc setup so use the generic code. Maybe you are lucky or know how to fix this, please let me know. Use configure like this: if you have a recent libtool (>= 1.5.18) ./configure --enable-shared --disable-static --with-md-cpu=generic --with-cppunit-prefix=/mingw/cppunit --with-boost-include-dir=/c/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/fftw/lib/pkgconfig PYTHON=/c/Python24/python am_cv_python_pythondir=/c/Python24/Lib/site-packages am_cv_python_pyexecdir=/c/Python24/Lib/site-packages 2>&1 | tee configure.log If you have the standard (older)libtool of msys: CONFIG_SITE=./mingw/mingw-config.site ./configure --enable-shared --disable-stat ic --with-md-cpu=generic --with-cppunit-prefix=/mingw/cppunit --with-boost-include -dir=/c/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/fftw/lib/pkgconf ig PYTHON=/c/Python24/python am_cv_python_pythondir=/c/Python24/Lib/site-packag es am_cv_python_pyexecdir=/c/Python24/Lib/site-packages CONFIG_SITE=./mingw/mingw-config.site 2>&1 | tee configure.log patch ./libtool (after running configure) using ./mingw/libtool_shrext_cmds.patch or edit the generated libtool add shrext_cmds='.dll' right after shrext='.dll' problems: build stops with "cannot rename lib_xxxx.a, file exists" d:\mingw\bin\ar.exe: unable to rename '.libs/libgeneral.a' reason: File exists restart build and it just continues, I have no idea why this happens build stops because it cannot find ../../../src/lib/runtime\\runtime.i in file src/lib/swig/gnuradio_swig_python.d: replace all \\ by / (This should now be handles by the make using a sed script) Warning: This system can not link to static lib archive ../../../src/lib/libgnuradio-core.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** But as you try to build a module library, libtool will still create *** a static module, that should work as long as the dlopening application *** is linked with the -dlopen flag to resolve symbols at runtime. ar cru .libs/_gnuradio_swig_python.a .libs/gnuradio_swig_python.o ranlib .libs/_gnuradio_swig_python.a creating _gnuradio_swig_python.la (cd .libs && rm -f _gnuradio_swig_python.la && ln -s ../_gnuradio_swig_python.la _gnuradio_swig_python.la) ./gen-swig-bug-fix gnuradio_swig_python.cc gnuradio_swig_bug_workaround.h make[5]: Leaving directory `/n/tmp/mingw/mdvhfiles/test/src/lib/swig' make[4]: Leaving directory `/n/tmp/mingw/mdvhfiles/test/src/lib/swig' make[3]: Leaving directory `/n/tmp/mingw/mdvhfiles/test/src/lib' mv -f ".deps/benchmark_dotprod_ccc.Tpo" ".deps/benchmark_dotprod_ccc.Po"; else rm -f ".deps/benchmark_dotprod_ccc.Tpo"; e you have an old libtool workaround: use CONFIG_SITE=./mingw/mingw-config.site when configuring in this file the lt_cv_file_magic_cmd is overridden to use objdump -f in stead of the win32_libid ltmain shellscript which needs the file command which standard msys lacks In more recent libtool (libtool 1.5.18) this is already taken care of in /usr/share/aclocal/libtool.m4 snippet of recent libtool.m4: mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump'. lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' build makes .exe in stead of .dll patch ./libtool (after running configure) using ./mingw/libtool_shrext_cmds.patch or edit the generated libtool add shrext_cmds='.dll' right after shrext='.dll' (This is also not needed with recent libtool) # Shared library suffix (normally ".so"). shrext='.dll' shrext_cmds='.dll' ./libtool is regenerated every time you run configure, so you have to patch again if you reconfigure make complains that you need absolute pathnames (for rpath): run configure with unix style paths for PYTHON,am_cv_python_pythondir,am_cv_python_pyexecdir,--with-cppunit-prefix=,--with-boost-include-dir= If the configure script finds these paths for itsself it uses c:/path/to/something style pathnames. Libtool should be able to recognise these as absolute pathnames but for some reason it doesn't So you have to override them all with /c/path/to/something style pathnames examples: CONFIG_SITE=./mingw/mingw-config.site ./configure --enable-shared --disable-stat ic --with-md-cpu=generic --with-cppunit-prefix=/mingw/cppunit --with-boost-include -dir=/c/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/fftw/lib/pkgconf ig PYTHON=/c/Python24/python am_cv_python_pythondir=/c/Python24/Lib/site-packag es am_cv_python_pyexecdir=/c/Python24/Lib/site-packages CONFIG_SITE=./mingw/mingw-config.site 2>&1 | tee configure.log CONFIG_SITE=./config_gnuradio.site ./configure --enable-shared --disable-stat ic --with-md-cpu=generic --with-cppunit-prefix=/mingw/gtk2 --with-boost-include -dir=/d/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/gtk2/lib/pkgconf ig PYTHON=/d/Python24/python am_cv_python_pythondir=/d/Python24/Lib/site-packag es am_cv_python_pyexecdir=/d/Python24/Lib/site-packages CONFIG_SITE=./config_gn uradio.site 2>&1 | tee configure6.log CONFIG_SITE=./mingw/mingw-config.site ./configure --enable-shared --disable-stat ic --with-md-cpu=generic --with-cppunit-prefix=/mingw/gtk2 --with-boost-include -dir=/d/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/gtk2/lib/pkgconf ig PYTHON=/d/Python24/python am_cv_python_pythondir=/d/Python24/Lib/site-packag es am_cv_python_pyexecdir=/d/Python24/Lib/site-packages CONFIG_SITE=./mingw/mingw-config.site 2>&1 | tee configure7.log ./configure --enable-shared --disable-static --with-md-cpu=generic --with-cppunit-prefix=/mingw/gtk2 --with-boost-include-dir=/d/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/mingw/gtk2/lib/pkgconfig PYTHON=/d/Python24/python am_cv_python_pythondir=/d/Python24/Lib/site-packages am_cv_python_pyexecdir=/d/Python24/Lib/site-packages 2>&1 | tee configure7.log