Thanks Mark, good catch.  I'm sure Richard will release an updated 
version soon.  In the mean time people compiling can use your one line 
fix below.

Another fix would be to use something like:

$ cmake -DCMAKE_BUILD_TYPE=Debug 
-DBOOTSTRAP_WXWIDGETS=TRUE-DCODEC2_INCLUDE_DIRS=/path/to/codec2-dev/src 
-DCODEC2_LIBRARY=/path/to/codec2-dev/build_linux/src/libcodec2.so 
-DUSE_STATIC_CODEC2=FALSE -DUSE_STATIC_PORTAUDIO=TRUE 
-DUSE_STATIC_SOX=TRUE ../

to use point cmake at a stable codec2-dev release.  That's how I usually 
build freedv-dev, as I'm often messing about with codec2-dev and 
freedv-dev at the same time.

Cheers,

David


On 11/09/15 08:55, Mark Jessop wrote:
> Quick fix:
>
> in cmake/BuildCodec2.cmake, replace line 15 with:
>
>     SVN_REPOSITORY https://svn.code.sf.net/p/freetel/code/codec2/tags/0.4
>
> This makes sure that cmake will checkout the corresponding stable
> version, not the latest development version.
>
> Can someone with files.freedv.org <http://files.freedv.org> access
> please fix this ASAP? This is also going to have to be fixed in
> downstream releases that build from source.
>
> Thanks,
> Mark Jessop
> VK5QI
>
>
> On Fri, Sep 11, 2015 at 8:43 AM, Mark Jessop <[email protected]
> <mailto:[email protected]>> wrote:
>
>     I have the same problem, and I know why.
>
>     The 'stable' freedv-1.0 tarball, by default, automatically builds
>     codec2 from source. However, it's not building the corresponding
>     stable version, it's checking out the latest SVN revision from
>     codec2-dev. And guess what - that's currently got the 8KHz 700B mode
>     patch applied, making it incompatible with the stable version of freedv.
>
>     I did suspect this particular 'feature' of the current cmake build
>     system would come back and bite us at some point - this is a perfect
>     example of why it's not a particularly good idea.
>
>     The way to fix this right now is to modify the step which checks out
>     codec2 from SVN to use the latest stable instead of using
>     codec2-dev. I'm not sure how to do this however.
>
>     Here's the particular error cmake throws when building freedv:
>
>     [ 56%] Building CXX object
>     src/CMakeFiles/freedv.dir/dlg_audiooptions.cpp.o
>     In file included from
>     /home/darkside/Dev/freedv-1.0/src/fdmdv2_defines.h:26:0,
>                       from
>     /home/darkside/Dev/freedv-1.0/src/dlg_options.h:26,
>                       from
>     /home/darkside/Dev/freedv-1.0/src/fdmdv2_main.h:75,
>                       from
>     /home/darkside/Dev/freedv-1.0/src/dlg_audiooptions.cpp:22:
>     
> /home/darkside/Dev/freedv-1.0/build_linux/codec2-prefix/src/codec2/src/freedv_api_internal.h:126:34:
>     error: redefinition of ‘float quiskFilt120t480 [480]’
>       static float quiskFilt120t480[480] = { -0.000005050567303837,
>     -0.000000267011791999, 0.000000197734700398, 0.000001038946634000,
>                                        ^
>     In file included from
>     /home/darkside/Dev/freedv-1.0/src/fdmdv2_defines.h:26:0,
>                       from
>     /home/darkside/Dev/freedv-1.0/src/dlg_options.h:26,
>                       from
>     /home/darkside/Dev/freedv-1.0/src/fdmdv2_main.h:75,
>                       from
>     /home/darkside/Dev/freedv-1.0/src/dlg_audiooptions.cpp:22:
>     
> /home/darkside/Dev/freedv-1.0/build_linux/codec2-prefix/src/codec2/src/freedv_api_internal.h:57:14:
>     note: ‘float quiskFilt120t480 [480]’ previously declared here
>       static float quiskFilt120t480[480];
>                    ^
>     
> /home/darkside/Dev/freedv-1.0/build_linux/codec2-prefix/src/codec2/src/freedv_api_internal.h:54:12:
>     warning: ‘int quisk_cfInterpDecim(COMP*, int, quisk_cfFilter*, int,
>     int)’ declared ‘static’ but never defined [-Wunused-function]
>       static int quisk_cfInterpDecim(COMP *, int, struct quisk_cfFilter
>     *, int, int);
>                  ^
>     
> /home/darkside/Dev/freedv-1.0/build_linux/codec2-prefix/src/codec2/src/freedv_api_internal.h:55:13:
>     warning: ‘void quisk_filt_cfInit(quisk_cfFilter*, float*, int)’
>     declared ‘static’ but never defined [-Wunused-function]
>       static void quisk_filt_cfInit(struct quisk_cfFilter *, float *, int);
>                   ^
>     
> /home/darkside/Dev/freedv-1.0/build_linux/codec2-prefix/src/codec2/src/freedv_api_internal.h:56:13:
>     warning: ‘void quisk_filt_destroy(quisk_cfFilter*)’ declared
>     ‘static’ but never defined [-Wunused-function]
>       static void quisk_filt_destroy(struct quisk_cfFilter *);
>                   ^
>     
> /home/darkside/Dev/freedv-1.0/build_linux/codec2-prefix/src/codec2/src/freedv_api_internal.h:57:14:
>     warning: ‘quiskFilt120t480’ defined but not used [-Wunused-variable]
>       static float quiskFilt120t480[480];
>                    ^
>     src/CMakeFiles/freedv.dir/build.make:54: recipe for target
>     'src/CMakeFiles/freedv.dir/dlg_audiooptions.cpp.o' failed
>     make[2]: *** [src/CMakeFiles/freedv.dir/dlg_audiooptions.cpp.o] Error 1
>     CMakeFiles/Makefile2:146: recipe for target
>     'src/CMakeFiles/freedv.dir/all' failed
>     make[1]: *** [src/CMakeFiles/freedv.dir/all] Error 2
>     Makefile:113: recipe for target 'all' failed
>     make: *** [all] Error 2
>
>     Cheers,
>     Mark
>
>
>
>
>     On Fri, Sep 11, 2015 at 5:11 AM, G3NR <[email protected]
>     <mailto:[email protected]>> wrote:
>
>         OK thanks Richard. I'll have another look tomorrow.
>         73
>         Andrew G3NR
>
>         On Thursday, 10 September 2015 20:26:23 UTC+1, Richard wrote:
>
>             On Thu, Sep 10, 2015 at 2:07 PM, G3NR <[email protected]>
>             wrote:
>
>                 The " freedv_1.0.orig.tar" which lives here:-
>                 
> http://repo.longlandclan.yi.org/debian/pool/main/f/freedv/freedv_1.0.orig.tar.xz
>                 
> <http://www.google.com/url?q=http%3A%2F%2Frepo.longlandclan.yi.org%2Fdebian%2Fpool%2Fmain%2Ff%2Ffreedv%2Ffreedv_1.0.orig.tar.xz&sa=D&sntz=1&usg=AFQjCNFNrY-wD36AtGs5WZhQreDzYCdINg>
>
>
>
>             Ok, yeah, I've never understood the Debian packaging method
>             of always re-archiving upstream sources. If you're building
>             stuff yourself instead within a packaging system, I would
>             recommend the official sources on the freedv website.
>
>             If it's broken there, I'll take a look.
>
>             Richard
>
>         --
>         You received this message because you are subscribed to the
>         Google Groups "digitalvoice" group.
>         To unsubscribe from this group and stop receiving emails from
>         it, send an email to [email protected]
>         <mailto:[email protected]>.
>         To post to this group, send email to
>         [email protected]
>         <mailto:[email protected]>.
>         Visit this group at http://groups.google.com/group/digitalvoice.
>         For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "digitalvoice" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected]
> <mailto:[email protected]>.
> To post to this group, send email to [email protected]
> <mailto:[email protected]>.
> Visit this group at http://groups.google.com/group/digitalvoice.
> For more options, visit https://groups.google.com/d/optout.

------------------------------------------------------------------------------
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to