[hpsdr] Updated KISS Konsole for Cross-platform Execution

Chris Smith chris at vspl.co.uk
Tue Sep 9 10:45:43 PDT 2014


… however there is a problem when the "Off" button is pressed as mono throws an exception relating to th IP address:

en0
===
  Interface type .......................... : Ethernet
  Physical Address ........................ : 001F5BF48ABD
  Is receive only.......................... : False
  Multicast................................ : True
  Speed    ................................ : 1000000
  Unicast Addr ............................ : 192.168.11.10
System.ArgumentNullException: Argument cannot be null.
Parameter name: ipString
  at System.Net.IPAddress.TryParse (System.String ipString, System.Net.IPAddress& address) [0x00000] in <filename unknown>:0 
  at System.Net.IPAddress.Parse (System.String ipString) [0x00000] in <filename unknown>:0 
  at KISS_Konsole.Form1.GetNetworkInterfaces () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) KISS_Konsole.Form1:GetNetworkInterfaces ()
  at KISS_Konsole.EthernetDevice.Start () [0x00000] in <filename unknown>:0 
  at KISS_Konsole.Form1.OnOffButton_Click (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.OnClick (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Button.OnClick (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ButtonBase.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Button.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ButtonBase.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Button.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0 

Back to the drawing board … again …

Chris G4NUX

On 9 Sep 2014, at 18:36, Chris Smith <chris at vspl.co.uk> wrote:

> ***** High Performance Software Defined Radio Discussion List *****
> 
> John
> 
> I am much indebted to you for the steer re 32-bit and OS X. Thanks to that I have now got KK running under mono on my iMac - OS X 10.8.5 (Mountain Lion).
> 
> It wasn't with its problems though, but if everything went smoothly first time every time life would get quite boring. Though just lately I could have done with a bit of 'quite boring'!
> 
> Here are the steps I had to take to get things working:
> 
> I'm assuming you've already installed Mono for OS X ...
> 
> I built libfftw3 from sources at http://www.fftw.org This was pretty straight forward except that 32-bit angle.
> 
> Download the source, cd to the source directory and run configure thus:
> 
> ./configure --enable-threads --enable-shared --disable-fortran --enable-sse2 --enable-float CFLAGS="-arch i386"
> 
> make
> 
> make install
> 
> The standard path for the install is /usr/local/lib
> 
> This produces the required library libfftw3.3.dylib with a symlink from libfftw3.dylib for i386 architecture (not x86_64).
> 
> I had to add a stanza to /Library/Frameworks/Mono.framework/Versions/3.8.0/etc/mono/config 
> 
> 
>        <dllmap dll="libfftw3f.dll" target="libfftw3f.dylib" os="osx"/>
> 
> otherwise mono would throw an exception regarding the missing library libfftw3.dll.
> 
> Then things got really messy. The version of svn which is bundled with OS X (at least the version I'm running) doesn't have a 'patch' option. To get round this I moved to a Linux system, downloaded a fresh copy of the KK_Unified from the TAPR svn site: (the following is straight from Sid Boyce's recent post)
> 
> svn co http://svn.tapr.org/repos_hpsdr_kiss/trunk/StableRelease/KK_Unified/Latest
> 
> cd Latest
> 
> svn patch <path_to>/kiss.patch
> 
> Then I had to make a tar ball of the whole 'Latest' path and transport that back to my iMac.
> 
> Back under OS X the rest of Sid's procedure could  be used:
> 
> cd Latest/Unified
> 
> xbuild "KISS Konsole Unified.sln"
> 
> cd bin/Debug
> 
> mono KISS\ Konsole.exe
> 
> and I was rewarded with the KK GUI.
> 
> Your milage may vary according to the version of OS X you're running etc..
> 
> Best of luck.
> 
> Many thanks to Jae Stutzman K5JAE, Sid Boyce G3VBV & John Laur KF5SABfor all their input.
> 
> 73, Chris G4NUX
> 
> 
> 
> On 9 Sep 2014, at 15:09, John Laur <johnlaur at gmail.com> wrote:
> 
>> Chris,
>> 
>> Yes; I'll keep you posted. The only thing I have done so far is to
>> install my macports tree as universal binaries (port install <package>
>> +universal) however fftw installs only as x64. When I set build_arch
>> to i386 in macports.conf it will not build properly. So I will have to
>> build it manually but I imagine that will not be a huge chore. The
>> little bit I have read seems to say that building a fat binary for
>> fftw is easiest if the 32 bit and 64 bit versions are compiled
>> completely independently and the output libraries combined with lipo.
>> 
>> The error that mono gives if it tries to load a 64 bit library is the
>> same DllNotFound which isn't super helpful. The file command will tell
>> you for certain which architectures are supported in the dylib. You
>> can debug the dll loading by setting MONO_LOG_LEVEL="debug" and
>> MONO_LOG_MASK="dll"
>> 
>> I think the recent patch will work out of the box on the mac, however
>> being able to run in 64 bit would be an advantage for both FFTW itself
>> and for the ease of development. It is my understanding that it would
>> be easier to accomplish these things using Xamarin.mac (which may now
>> have a winforms emulation that works in 64 bit land) but I am unsure
>> if that would create a license conflict. The Xamarin framework would
>> also potentially enable porting KK to iOS and Android which would be
>> admittedly exciting, even though I am not a particular fan of .NET.
>> 
>> 73, John KF5SAB
>> 
>> On Tue, Sep 9, 2014 at 8:13 AM, Chris Smith <chris at vspl.co.uk> wrote:
>>> Hi John
>>> 
>>> We need to keep in touch!
>>> 
>>> Thanks for the heads up on the 32-bit angle. I seem to remember that when I ran ./configure I used a number of options, one of which specified float rather than double and I thought one specified 32-bit. But I may have been mistaken.
>>> 
>>> I'll go round that loop again.
>>> 
>>> The impression I got was that mono couldn't find the library rather than it found one which was the wrong type but as I'm getting nowhere fast any suggest is helpful.
>>> 
>>> 73, Chris G4NUX
>>> 
>>> On 9 Sep 2014, at 13:03, John Laur <johnlaur at gmail.com> wrote:
>>> 
>>>> I have been working on this too. The good news is that this patch
>>>> should work fine on mac also. The problem you are likely having is
>>>> that you probably have a 64 bit only fftw library. You can check with
>>>> 'file /opt/local/lib/libfftw3f.dylib' or wherever you have it
>>>> installed on your system.
>>>> 
>>>> The reason for needing the 32 bit library is that you can compile and
>>>> run a 64 bit mono on mac, but MonoMac windows forms won't work because
>>>> it still uses carbon. Therefore all of your linked native libraries
>>>> have to be 32 bit or universal which is fast becoming the exception on
>>>> mac. There are some other implementations of windows forms for mono
>>>> that use cocoa, but they may not be enough to work. Using Xamarin.mac
>>>> might be a licensing concern also. The alternative is to develop a
>>>> second set of ui code using GTK or native mac widgets which sounds bad
>>>> and is a lot of work, but is apparently a relatively clean an common
>>>> solution to this sort of problem.
>>>> 
>>>> Anyway, I am having trouble getting macports to build an i386 or
>>>> universal build of fftw. This is way more of a challenge than I
>>>> thought it would have been since everything else in macports builds
>>>> universal binaries relatively easily. When I am able to get this
>>>> working I assume that KK will then work.
>>>> 
>>>> 73, John KF5SAB
>>>> 
>>>> On Mon, Sep 8, 2014 at 5:38 PM, Chris Smith <chris at vspl.co.uk> wrote:
>>>>> ***** High Performance Software Defined Radio Discussion List *****
>>>>> 
>>>>> George
>>>>> 
>>>>> I'm working on the this under OS X 10.8.5 (Mountain Lion) but not having much luck despite a lot of help from Sid & Jae.
>>>>> 
>>>>> I don't understand the relationship between mono, xbuild and the various project files. Plus I have a problem making mono find libfftw3f.dylib in /usr/local/lib
>>>>> 
>>>>> Chris G4NUX
>>>>> 
>>>>> On 8 Sep 2014, at 23:28, George Byrkit <ghbyrkit at chartermi.net> wrote:
>>>>> 
>>>>>> ***** High Performance Software Defined Radio Discussion List *****
>>>>>> 
>>>>>> Sid,
>>>>>> 
>>>>>> Thanks for your testing of this stuff!  If we can get this working well, it would be
>>>>>> something that works, other than using John Melton's stuff, or making a radio in GNURadio.
>>>>>> I wonder if anyone can give it a spin on a Mac using Mono?  Or is that not even possible?
>>>>>> 
>>>>>> George
>>>>>> 
>>>>>> _______________________________________________
>>>>>> HPSDR Discussion List
>>>>>> To post msg: hpsdr at openhpsdr.org
>>>>>> Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
>>>>>> HPSDR web page: http://openhpsdr.org
>>>>>> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/
>>>>> 
>>>>> _______________________________________________
>>>>> HPSDR Discussion List
>>>>> To post msg: hpsdr at openhpsdr.org
>>>>> Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
>>>>> HPSDR web page: http://openhpsdr.org
>>>>> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/
>>> 
> 
> _______________________________________________
> HPSDR Discussion List
> To post msg: hpsdr at openhpsdr.org
> Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
> HPSDR web page: http://openhpsdr.org
> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/


 1410284743.0


More information about the Hpsdr mailing list