[hpsdr] Updated KISS Konsole for Cross-platform Execution

Pat McGrath ka6tya at arrl.net
Tue Sep 9 14:24:10 PDT 2014


This is what most novice like myself need .

Thanks to all that contributed.



-----Original Message-----
From: Hpsdr [mailto:hpsdr-bounces at lists.openhpsdr.org] On Behalf Of Chris
Smith
Sent: Tuesday, September 09, 2014 10:36 AM
To: <hpsdr at lists.openhpsdr.org> list
Subject: Re: [hpsdr] Updated KISS Konsole for Cross-platform Execution

***** 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/



 1410297850.0


More information about the Hpsdr mailing list