Hi Martin! I'm cc'ing some other people interested in a Windows port.
On Wed, May 04, 2005 at 04:12:49AM +0200, Martin Dvh wrote: > Hi, > Has anybody succeeded in building gnuradio 2.x on windows. Yes, I did. > I am trying to build using cygwin (clean cygwin install) > but haven't succeeded yet. You need some patches I sent to Eric yesterday, but hasn't showed up in CVS yet :) > I had to add HAVE_SLEEP to config.h and use the right configure options. The HAVE_SLEEP issue is fixed in the patches. > I tried: > $ ../configure --with-boost-include-dir=/usr/local/include/boost-1_32 > --with-md-cpu=generic Please refer to (and update) the following page http://comsec.com/wiki?Cygwin > But then still make check gives an error in vmcircbuf Yes, it needs a workaround for mmap on Cygwin/Windows. It's in the patches. > Also there is something wrong with _gnuradio_swig_python > It should have build a shared library (dll) but didn't Usual Windows portability pitfall. It requires -no-undefined flag and explicit linking of dependant library (ie. python). It's in the patches, along fixes for all the other gr-* modules. > I do have an > D:\cygwin\usr\local\lib\python2.4\site-packages\gnuradio\gr\_gnuradio_swig_python.a > but it only contains > !<arch> This is a static only archive, which libtool generate as a fallback. > there is no _gnuradio_swig_python.dll > I do have D:\cygwin\usr\local\bin\cyggnuradio-core-0.dll > so my setup is able to build shared libraries Yes, libgnuradio-core.la target had the -no-undefined flag. > I am now trying with > ./bootstrap > ../configure --enable-maintainer-mode --disable-static > --with-md-cpu=generic PKG_CONFIG_PATH=/usr/local/lib/pkgconfig > --with-boost-include-dir=/usr/local/include/boost-1_32 > > The cygwin wiki seems out of date (talks about gnuradio-0.9) Which cygwin wiki? The afore-mentioned? I've updated it 2 days ago. > the mingw wiki says: > Tricks > > make cppunit and fftw3 compile as shared cppunit and fftw3 patches have been submitted upstream. Hopefully they will be in next release. I have patched versions on my site though: http://f8cfe.free.fr/ham/gnuradio/ > hack the m4 macros to tell non standard Python install directory > need some vmcircbuf patches not yet in CVS > > Are these vmcircbuf patches already in gnuradio (cvs) I hope they will be soon :-) > Anybody who has some experience with this please tell me. I have no particular interest in Windows platforms, but I'm doing the port because it's necessary for the project. Since I don't spend much time under Windows, the port definitely needs testers! For your information, "make check" passes completely for gnuradio-core under Cygwin, and the usrp module appears to work (with fast USB) under Windows (with rev0 board). I'm taking the opportunity to call for volunteers for testing the low-level USRP under Windows. So anyone with a USRP board and Windows >= 98 + latest ServicePack can help. All you need to do is to download the wizard linked from http://comsec.com/wiki?UsrpMinGW, install the USRP filter, and check the various test_usrp_standard_*.exe The setup.exe file contains the libusb-win32 filter and DLL, automatic driver(.inf) installation, latest .ihx and .rbf, and couple of test programs. Let me know how it works for you. There's also a fresh tar.bz2 containing cygwin binaries at http://f8cfe.free.fr/ham/gnuradio/gnuradio-core-2.5cvs-cygwin.tar.bz2 You will need the "Exp" version of Cygwin installed, plus Python Numeric. Don't forget to point PATH and PYTHONPATH accordingly. Feedback welcome. > As a sidenote, I was able to compile a part of gnuradio with microsoft > visual C++.net 2003 > Just made a project and added all relevant cpp and .h files This is promising! We should be very close to it, as gnuradio-core compiles with MinGW (until the link stage which fails for obscure reason). If you plan to use GNU Radio with Visual C++, you have to know that you won't be able to link against MinGW or Cygwin generated libraries, because the C++ ABI differs. > I had to leave out all vmcircbuf and swig parts so it is not a complete > gnuradio. The swig module building works (with appropriate patches) with MinGW. For VC++, the vmcircbuf will need a new factory based on MapViewOfFileEx. > I was able to play a little with fir filters directly in cpp with my own > buffers. Chances are the only doprod available was the generic one. I managed to compile the x86 speedups under Cygwin, but they require a small rewrite of assembly files because COFF differs slightly from ELF (no .type/.size -> .def ... .endef). I have to check with Eric how this can be done nicely with the preprocessor, but that would need to renamed files from .s to .S and some hacking. Best Regards, -- Stephane _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio