Nice work guys.

Mooneer and Danilo - would it be possible to set up Travis so it tests
the OSX build when we push any freedv-gui changes?  I'd like to make
sure we keep the OSX build working as freedv-gui develops.

I'm not sure if this is practical - Danilo you mentioned the build
process on Travis is quite lengthy. Another option would be kicking off
the process manually, as we do for the stm32.

Thanks,
David

On 12/08/19 01:03, Mooneer Salem wrote:
> Yep, the pull request also has the changes needed for dylibbundler to
> find Codec2 and LPCNet (thus no prompts during the build process).
> 
> -Mooneer
> 
> On Sun, Aug 11, 2019 at 5:40 AM Mark Jessop <[email protected]
> <mailto:[email protected]>> wrote:
> 
>     Nice job Mooneer!
> 
>     Were you able to produce an appbundle from this?
> 
>     Cheers,
>     Mark
> 
>     On Sun, Aug 11, 2019 at 8:23 PM Mooneer Salem <[email protected]
>     <mailto:[email protected]>> wrote:
> 
>         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] <mailto:[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] <mailto:[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]
>>                 <mailto:[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]
>>>                 <mailto:[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 list
>>>>                     [email protected]
>>>>                     <mailto:[email protected]>
>>>>                     
>>>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>>                     _______________________________________________
>>>                     Freetel-codec2 mailing list
>>>                     [email protected]
>>>                     <mailto:[email protected]>
>>>                     
>>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>>
>>>                 _______________________________________________
>>>                 Freetel-codec2 mailing list
>>>                 [email protected]
>>>                 <mailto:[email protected]>
>>>                 https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>                 _______________________________________________
>>                 Freetel-codec2 mailing list
>>                 [email protected]
>>                 <mailto:[email protected]>
>>                 https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>
>>
>>
>>             _______________________________________________
>>             Freetel-codec2 mailing list
>>             [email protected]
>>             <mailto:[email protected]>
>>             https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>             _______________________________________________
>             Freetel-codec2 mailing list
>             [email protected]
>             <mailto:[email protected]>
>             https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> 
>         _______________________________________________
>         Freetel-codec2 mailing list
>         [email protected]
>         <mailto:[email protected]>
>         https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> 
>     _______________________________________________
>     Freetel-codec2 mailing list
>     [email protected]
>     <mailto:[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