Andrew Birt
2016-08-12 08:44:27 UTC
Hello,
This is a continuation (from the Google digital-voice group) of some of
the woes I am having compiling freedv.rx/tx using the freedv.api.
I am trying to build/compile exe. files for use on my XUbuntu 16.04
machine, principally to experiment with the 2400B mode.
Freedv 1.1 has previously been successfully built and used OK.
The test
./freedv_tx 1600 speechsample.raw - | ./freedv_rx 1600 - - | play -t raw
-r 8000 -s -2 -q -
works ok (using the exes from the api page).
My codec2 is svn 2841 (current)
In a nutshell >>>>>
Compile directory contents are:-
freedv_api.h
freedv_api.c
freedv_rx.c
freedv_tx.c
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
My compile command line:-
:~/Desktop/weds$ g++
-I/home/g3nr/free-dv/src/-I/home/g3nr/free-dv/build_linux/codec2-dev/src/
freedv_api.c freedv_tx.c -o foo
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Compiler response:-
In file included from freedv_api.c:46:0:
/home/g3nr/free-dv/build_linux/codec2-dev/src/freedv_api_internal.h:138:34:
error: redefinition of ‘float quiskFilt120t480 [480]’
static float quiskFilt120t480[480] = { -0.000005050567303837,
-0.00000026701179
^
In file included from freedv_api.c:46:0:
/home/g3nr/free-dv/build_linux/codec2-dev/src/freedv_api_internal.h:59:14:
note: ‘float quiskFilt120t480 [480]’ previously declared here
static float quiskFilt120t480[480];
^
freedv_api.c: In function ‘freedv* freedv_open(int)’:
freedv_api.c:174:31: error: invalid conversion from ‘void*’ to ‘int*’
[-fpermissive]
f->codec_bits = malloc(1);
^
freedv_api.c:201:31: error: invalid conversion from ‘void*’ to ‘int*’
[-fpermissive]
f->codec_bits = malloc(1);
^
freedv_api.c:230:31: error: invalid conversion from ‘void*’ to ‘int*’
[-fpermissive]
f->codec_bits = malloc(1);
^
In file included from /usr/include/stdlib.h:492:0,
from freedv_api.c:30:
freedv_api.c: In function ‘void freedv_tx_fsk_voice(freedv*, short int*)’:
freedv_api.c:434:16: error: invalid conversion from ‘void*’ to ‘float*’
[-fpermissive]
tx_float = alloca(sizeof(float)*f->n_nom_modem_samples);
^
freedv_api.c: In function ‘void freedv_tx_fsk_data(freedv*, short int*)’:
freedv_api.c:464:16: error: invalid conversion from ‘void*’ to ‘float*’
[-fpermissive]
tx_float = alloca(sizeof(float)*f->n_nom_modem_samples);
^
freedv_api.c: In function ‘int freedv_comprx_fdmdv_700(freedv*, COMP*,
int*)’:
freedv_api.c:1202:107: error: cannot convert ‘float*’ to ‘char*’ for
argument ‘5’ to ‘void cohpsk_put_test_bits(COHPSK*, int*, short int*,
int*, char*)’
its(f->cohpsk, &f->test_frame_sync_state, error_pattern, &bit_errors,
rx_bits);
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Am I being too simplistic here? Are there file paths I haven't included
properly?
Any help please would be much appreciated.
73s Andrew G3NR
This is a continuation (from the Google digital-voice group) of some of
the woes I am having compiling freedv.rx/tx using the freedv.api.
I am trying to build/compile exe. files for use on my XUbuntu 16.04
machine, principally to experiment with the 2400B mode.
Freedv 1.1 has previously been successfully built and used OK.
The test
./freedv_tx 1600 speechsample.raw - | ./freedv_rx 1600 - - | play -t raw
-r 8000 -s -2 -q -
works ok (using the exes from the api page).
My codec2 is svn 2841 (current)
In a nutshell >>>>>
Compile directory contents are:-
freedv_api.h
freedv_api.c
freedv_rx.c
freedv_tx.c
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
My compile command line:-
:~/Desktop/weds$ g++
-I/home/g3nr/free-dv/src/-I/home/g3nr/free-dv/build_linux/codec2-dev/src/
freedv_api.c freedv_tx.c -o foo
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Compiler response:-
In file included from freedv_api.c:46:0:
/home/g3nr/free-dv/build_linux/codec2-dev/src/freedv_api_internal.h:138:34:
error: redefinition of ‘float quiskFilt120t480 [480]’
static float quiskFilt120t480[480] = { -0.000005050567303837,
-0.00000026701179
^
In file included from freedv_api.c:46:0:
/home/g3nr/free-dv/build_linux/codec2-dev/src/freedv_api_internal.h:59:14:
note: ‘float quiskFilt120t480 [480]’ previously declared here
static float quiskFilt120t480[480];
^
freedv_api.c: In function ‘freedv* freedv_open(int)’:
freedv_api.c:174:31: error: invalid conversion from ‘void*’ to ‘int*’
[-fpermissive]
f->codec_bits = malloc(1);
^
freedv_api.c:201:31: error: invalid conversion from ‘void*’ to ‘int*’
[-fpermissive]
f->codec_bits = malloc(1);
^
freedv_api.c:230:31: error: invalid conversion from ‘void*’ to ‘int*’
[-fpermissive]
f->codec_bits = malloc(1);
^
In file included from /usr/include/stdlib.h:492:0,
from freedv_api.c:30:
freedv_api.c: In function ‘void freedv_tx_fsk_voice(freedv*, short int*)’:
freedv_api.c:434:16: error: invalid conversion from ‘void*’ to ‘float*’
[-fpermissive]
tx_float = alloca(sizeof(float)*f->n_nom_modem_samples);
^
freedv_api.c: In function ‘void freedv_tx_fsk_data(freedv*, short int*)’:
freedv_api.c:464:16: error: invalid conversion from ‘void*’ to ‘float*’
[-fpermissive]
tx_float = alloca(sizeof(float)*f->n_nom_modem_samples);
^
freedv_api.c: In function ‘int freedv_comprx_fdmdv_700(freedv*, COMP*,
int*)’:
freedv_api.c:1202:107: error: cannot convert ‘float*’ to ‘char*’ for
argument ‘5’ to ‘void cohpsk_put_test_bits(COHPSK*, int*, short int*,
int*, char*)’
its(f->cohpsk, &f->test_frame_sync_state, error_pattern, &bit_errors,
rx_bits);
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Am I being too simplistic here? Are there file paths I haven't included
properly?
Any help please would be much appreciated.
73s Andrew G3NR