discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] working version of gnuradio for windows (mingw) a


From: Stephane Fillod
Subject: Re: [Discuss-gnuradio] working version of gnuradio for windows (mingw) available including audio-sink and wxgui
Date: Tue, 28 Jun 2005 23:54:32 +0200
User-agent: Mutt/1.5.8i

Hi Martin,

Sorry for replying late on your exciting mail.
Did you get other feedback privately about it or about the Windows port?
I haven't seen much on my side.

On Fri, May 20, 2005 at 12:18:55AM +0200, Martin Dvh wrote:
> I made gnuradio compile on windows using mingw (no cygwin needed)

No Cygwin? Good!

> It works with the standard win32 binary distributions of python24-win32 
> python-numeric-win32, swig-win32, wxpython-win32 and python win32api
> I still needed to build cppunit,fftw and boost myself (I added the built 
> cppunit and fftw dlls to my binary gnuradio-core, see links at end of mail)

FYI, my cppunit windows patch has been accepted by the maintainers, 
I hope it will show up in the next official release.
I tried to convince the fftw maintainers about the patch, I'm not
sure I succeeded in. Besides, their release cycle is pretty long.

Now when boost will recognize gcc-4.x ?

> I implemented a new gr_vmcircbuf_createfilemapping factory
> I added O_BINARY flags to all file-operations
> I hacked the m4 macros
> I added a sed script (in Makefile.am) to replace all backslashes with 
> forward slashes in src/lib/swig/gnuradio_swig_python.d
> Some more hacking.
> My patched version should still build ok on other platforms but this needs 
> to be tested.
> 
> For source, binary,readmes and the patch:
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/source/gnuradio-core-2.5cvsmingw-clean-3.patch

Have you already submitted your patch to patch-gnuradio at gnu.org ?
Do you have any plan about it?

I've tested some bits of the patch, and IMHO, various parts need 
tweaks. For example the LIBGNURADIO_CORE_EXTRA_LDFLAGS is missing in 
the src/lib/Makefile.am, the new m4 are missing in config/Makefile.am,
gr_libgnuradio_core_extra_ldflags.m4 should check the compiler supports
the option. To me, the createfilemapping factory should check the second
mapping is contiguous to the first one, pretty much the same way
the Cygwin patch to the mmap_tmpfile factory does.

I have fixes in my tree for all the listed issues, and I can check
regression for Linux. Do you want me to submit them with you as credit,
or do you prefer that I send them directly to you?

That would be great to get all this stuff in the GNU Radio 2.6 release,
so it gets a better chance to be more widely tested.


Rem: so far, I only tested the MinGW cross-compilation, no run yet.

> I updated the wiki with links to my new files:
> http://comsec.com/wiki?MinGW

Thanks!

> You still need to give a whole lot of options (pathnames) to configure to 
> work around backslash forward slash problems and libtool absolute pathname 
> problems.
> Configure will find python if its on your path but then it uses c:/Python24 
> as prefix. It just doesn't work if something starts with c:\\somepath or 
> c:/somepath, it needs to be /c/somepath so you have to override at the 
> configure commandline.
> 
> ./configure  --enable-shared --disable-static --with-md-cpu=generic 
                                                ^^^^^^^^^^^^^^^^^^^^^
I've managed once to have the SIMD speedup working under Cygwin.
To get them into the CVS, I would need to rename all the files with
the .s (lowercase) extension to .S (uppercase). This way, I could use
the preprocessor to morph the .type statements to the appropriate
forms under Windows. Eric, would that be okay with you to delete/add
the .s/.S files ?

> --with-cppunit-prefix=/mingw/cppunit 
> --with-boost-include-dir=/d/boost_1_32_0/include/boost-1_32 
> PKG_CONFIG_PATH=/mingw/fftw/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 
> configure.log

Having them in the wiki and a README allow easy copy/paste 8-)

> I also implemented a gr-audio-windows  audio-sink (audio-source to be done, 
> is now an empty stub)
> This needs some work (synchronisation, it crackles)
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/source/gr-audio-windows-0.1.tar.gz

Any plan on submitting it to patch-gnuradio at gnu.org ?
Eric, what's your position on this?

> I also implemented a hacked gr-wxgui fftsink and scopesink which works with 
> standard wxpython for windows.
> (also needs python win32api)
> This uses win32 named pipes in stead of anonymous os.pipe() because the cpp 
> code doesn't understand the filedescriptor python gives when using 
> os.pipe() (It says bad filedescriptor)
> This works ok for fftsink but the scopesink needs win32 named pipe support 
> in the gnuradio-core code (or a solution to the filedescriptor problem). I 
> worked around this by using a standard file-sink in stead of scopesink. 
> This means no triggers or whatsoever.
> 
> 
> http://comsec.com/wiki?MinGW
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/
> 
> source, readmes and the patch:
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/source
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/source/readme.mingw
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/source/gnuradio-core-2.5cvsmingw-clean-3.patch
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/source/gnuradio-core-2.5cvsmingw.tar.gz
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/source/gr-audio-windows-0.1.tar.gz
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/source/gr-wxgui-0.3-mingw.tar.gz
> 
> binary:
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/binary/
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/binary/readme.mingw-bin
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/binary/gnuradio-core-2.5cvsmingw-bin.zip
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/binary/readme.mingw-bin-seperate
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/binary/gnuradio-core-2.5cvsmingw-bin-separate/
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/binary/gr-audio-windows-0.1-binary.zip
> http://www.olifantasia.com/projects/gnuradio/mdvh/mingw/binary/gr-wxgui-0.3-mingw-built.tar.gz
> 
> I hope this is of use for anyone.
> Please post results to the list (or modify the wiki to clarify things)

In the end, that'd be great to be able to produce an install wizard 
(thanks to Inno Setup (http://www.jrsoftware.org/isdl.php) of this binary 
distribution.  Bundling this distribution with USRP drivers, MinGW/MSYS, etc.
on a CDROM would make a perfect starter kit for the folks under Windows.


Cheers
-- 
Stephane




reply via email to

[Prev in Thread] Current Thread [Next in Thread]