I was able to figure out why the build was crashing. It looks like
wxWidgets needs to be built with the same C++ standard library as FreeDV
itself (which is libc++ on OSX); once that was done (by tweaking various
CMake files to add compiler, etc. flags), the application appeared to load
fine.

Anyway, I went ahead and created a pull request for this portion of the
fix: https://github.com/drowe67/freedv-gui/pull/26. In effect, build_osx.sh
will have everything except for Codec2 and LPCNet built and linked
statically.

-Mooneer K6AQ

On Sun, Aug 11, 2019 at 3:36 AM Danilo Beuche <[email protected]> wrote:

> Hi,
>
> I can confirm that the fixes  by Mooneer resolve the compile errors. I was
> able to get travis to almost finish the build:
>
>
> https://travis-ci.org/db4ple/freedv-gui/builds/570441603?utm_source=github_status&utm_medium=notification
>
> Compile is okay, just the program which then builds the MacOS X app
> package fails, but this is difficult to fix for me with each Travis build
> taking more than 10 mins.
> But for those with a Mac, the .travis.yml found here:
> https://github.com/db4ple/freedv-gui/blob/macosx/.travis.yml can serve as
> a blueprint. If you find a solution for the final problem, let me know and
> I integrate this in .travis.yml
>
> FYI: Travis uses homebrew instead of Mac Ports.
> I have no idea (and no way to test) if the resulting program made by
> Travis does work at all or if it crashes like the build made by Mooneer.
>
> Regards,
> Danilo
>
>
> On 11 Aug 2019 09:02, Mooneer Salem wrote:
>
> Hi all,
>
> It turns out that the placement of extern "C" in some of the Codec2
> include files was causing FreeDV build issues for me on 10.14, in addition
> to the previously mentioned ofdm_stack issue. I created a pull request for
> those changes: https://github.com/drowe67/codec2/pull/66
>
> Also, I have the freedv binary itself building in my forked version (
> https://github.com/tmiw/freedv-gui) but the app bundle task for some
> reason is needing me to manually enter library names. The binary is
> additionally segfaulting on startup with the following backtrace:
>
> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
> (code=1, address=0x2816820)
>
>   * frame #0: 0x0000000100680d21
> libwx_osx_cocoau_core-3.0.dylib`wxApp::CallOnInit() + 149
>
>     frame #1: 0x0000000100b80068 libwx_baseu-3.0.dylib`wxEntry(int&,
> wchar_t**) + 37
>
>     frame #2: 0x0000000100039593 freedv`main(argc=1,
> argv=0x00007ffeefbff938) at fdmdv2_main.cpp:171:1
>
>     frame #3: 0x00007fff68b5c3d5 libdyld.dylib`start + 1
>
>     frame #4: 0x00007fff68b5c3d5 libdyld.dylib`start + 1
>
>  I'll have to do additional investigation for those issues but if anyone
> wants to try it, I adapted build_linux.sh for OSX (and named
> build_osx_macports.sh in my repo.
>
> Thanks,
>
> -Mooneer K6AQ
>
> On Sat, Aug 10, 2019 at 10:35 PM Danilo Beuche <[email protected]>
> wrote:
>
>> Hi Mark,
>>
>> I realized that now, my „mistake“. Nevertheless,   I learned through that
>> exercise how to use Travis with MacOS. Will try (!) to get FreeDV-GUI going
>> as well through Travis but this is a fairly tedious process without access
>> to a Mac so I won’t promise that I‘ll achieve anything.
>>
>> Regards
>> Danilo
>>
>> Am 11.08.2019 um 01:14 schrieb Mark Jessop <[email protected]>:
>>
>> Hi Danilo,
>>
>> I can build codec2 just fine (with the ofdm_stack changes) - It's really
>> freedv-gui where the build issues raise their head.
>>
>> Cheers,
>> Mark
>>
>> On Sun, Aug 11, 2019 at 4:15 AM Danilo Beuche <[email protected]>
>> wrote:
>>
>>> Hi Mark,
>>>
>>> I am experimenting right now with a MacOS X build via travis for codec2
>>> in my GitHub clone of codec2. So far it looks mostly good. The build works,
>>> all tests are built and being run. 5 tests fail. Out of these 5 failing
>>> tests are 4 valgrind tests for memory leaks, these need to be looked at but
>>> for this one needs are real MacOS machine (which I don't have, I just let
>>> Travis run one machine for me.). The last tests probably needs also only a
>>> minor tweak in the build configuration. So generally the build works if
>>> minor modifications are made and the environment is similar to the one
>>> created for the Travis build:
>>>
>>> https://github.com/db4ple/codec2/pull/2/files
>>>
>>> You can also checkout the last build log from Travis:
>>>
>>>
>>> https://travis-ci.org/db4ple/codec2/builds/570275451?utm_source=github_status&utm_medium=notification
>>>
>>> The STM32 fails on Travis as well, but this is not a concern at the
>>> moment.
>>>
>>> Regards,
>>> Danilo
>>>
>>>
>>> On 10 Aug 2019 05:37, Mark Jessop wrote:
>>>
>>> Is there anyone out there who has been able to successfully build the
>>> latest git freedv / codec2 master branches under OSX?
>>>
>>> The instructions here:
>>> https://github.com/drowe67/freedv-gui/blob/master/README.osx
>>> are now of course 100% out of date with the recent updates, and probably
>>> need to be marked as such so others don't try and follow them and fall into
>>> a trap.
>>>
>>> A few notes so far:
>>>
>>> - LPCNet builds fine with the recent-ish changes to look for AVX
>>> extensions under OSX.
>>>
>>> - The ofdm_stack target in codec2 won't compile using clang, as it
>>> doesn't have the -no-pie and -Map options. I had to wrap the ofdm_stack
>>> target in unittest/CMakeLists.txt in a if (NOT APPLE) directive so it
>>> wouldn't be built. Once this is done codec2 builds fine.
>>>
>>> The cmake command for freedv ends up being: cmake
>>> -DCMAKE_BUILD_TYPE=Debug
>>> -DCODEC2_BUILD_DIR=/Users/darkside/Dev/codec2-git/build
>>> -DLPCNET_BUILD_DIR=/Users/darkside/Dev/LPCNet_test/build
>>> -DWXCONFIG=/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/lib/wx/config/osx_cocoa-unicode-3.0
>>> ..
>>>
>>> Compiling freedv itself is where I run into all sorts of fun errors,
>>> which i've pasted here:
>>> https://slexy.org/view/s2r4g9MkjG
>>>
>>> I suspect these are related to clang's supplied libc++. Looking at the
>>> CMakeLists.txt file for freedv, it looks like someone has encountered
>>> something similar in the past:
>>> https://github.com/drowe67/freedv-gui/blob/master/CMakeLists.txt#L98
>>>
>>> Not really sure where to go from here, short of attempting to completely
>>> recompile macports using gcc instead of clang, which is something I suspect
>>> will result in my sanity degrading further than it already has this morning.
>>>
>>> Hopefully there's someone else out there that has looked into this, or
>>> has actually been successful in getting this to work!
>>>
>>> 73
>>> Mark VK5QI
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Freetel-codec2 mailing 
>>> [email protected]https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>>
>>> _______________________________________________
>>> Freetel-codec2 mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>>
>> _______________________________________________
>> Freetel-codec2 mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>
>> _______________________________________________
>> Freetel-codec2 mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>
>
>
> _______________________________________________
> Freetel-codec2 mailing 
> [email protected]https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
> _______________________________________________
> Freetel-codec2 mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to