Thanks for the suggestion, Joel. But that's practically the
same compilation attempt that I made before. But I'm trying
it again.
Last time I built codec2-dev myself, but I see this time
your Makefile is building it within the src directory.
This time, the fdmdv2 INSTALL file isn't empty. The
instructions inside differ from yours. They include some
./configure incantations. So there's yet another attempt I
can make. Your instructions are the same as the ones in
README.linux. For someone like me who is not a professional
software developer, contradictory sets of instructions or
other information make the task even more confusing.
Result:
Unfortunately you don't download and build portaudio-2.0. I
cannot find this package in Synaptic and do not know how I
would obtain it or how safe it would be to add it to my
machine that already has ALSA, PulseAudio, maybe even Jack.
The compilation ends with a long stream of errors:
make[1]: Leaving directory
`/home/jont/freedv/fdmdv2/src/libctb-0.16/build'
Package portaudio-2.0 was not found in the pkg-config search
path.
Perhaps you should add the directory containing
`portaudio-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'portaudio-2.0' found
g++ -D_NO_AUTOTOOLS_
-I/home/jont/freedv/fdmdv2/src/wxWidgets-2.9.4/build_gtk/lib/wx/include/gtk2-unicode-2.9
-I/home/jont/freedv/fdmdv2/src/wxWidgets-2.9.4/include
-D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread
-Icodec2-dev/src -Isox-14.4.0/src/ -Ilibctb-0.16/include -I.
-g -Wall -O3 -DSVN_REVISION='"1250"' -MMD -MP -c
topFrame.cpp -o topFrame.o
topFrame.cpp: In constructor �TopFrame::TopFrame(wxWindow*,
wxWindowID, const wxString&, const wxPoint&, const wxSize&,
long int)�:
topFrame.cpp:71:17: warning: variable
�m_menuItemCaptTxInStream� set but not used
[-Wunused-but-set-variable]
topFrame.cpp:194:17: warning: variable �bSizer141� set but
not used [-Wunused-but-set-variable]
Package portaudio-2.0 was not found in the pkg-config search
path.
Perhaps you should add the directory containing
`portaudio-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'portaudio-2.0' found
g++ -D_NO_AUTOTOOLS_
-I/home/jont/freedv/fdmdv2/src/wxWidgets-2.9.4/build_gtk/lib/wx/include/gtk2-unicode-2.9
-I/home/jont/freedv/fdmdv2/src/wxWidgets-2.9.4/include
-D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread
-Icodec2-dev/src -Isox-14.4.0/src/ -Ilibctb-0.16/include -I.
-g -Wall -O3 -DSVN_REVISION='"1250"' -MMD -MP -c
fdmdv2_main.cpp -o fdmdv2_main.o
In file included from fdmdv2_main.h:71:0,
from fdmdv2_main.cpp:22:
fdmdv2_pa_wrapper.h:44:9: error: �PaStreamCallback� does not
name a type
fdmdv2_pa_wrapper.h:45:9: error: �PaStreamFinishedCallback�
does not name a type
fdmdv2_pa_wrapper.h:46:15: error: �PaStreamCallbackTimeInfo�
does not name a type
fdmdv2_pa_wrapper.h:48:9: error: �PaStreamParameters� does
not name a type
fdmdv2_pa_wrapper.h:49:9: error: �PaStreamParameters� does
not name a type
fdmdv2_pa_wrapper.h:52:9: error: �PaStreamCallbackFlags�
does not name a type
fdmdv2_pa_wrapper.h:60:9: error: �PaDeviceIndex� does not
name a type
fdmdv2_pa_wrapper.h:61:9: error: �PaDeviceIndex� does not
name a type
fdmdv2_pa_wrapper.h:62:9: error: �PaStreamParameters� does
not name a type
fdmdv2_pa_wrapper.h:68:41: error: �PaStreamCallback� has not
been declared
fdmdv2_pa_wrapper.h:69:65: error: �PaStreamCallback� has not
been declared
In file included from fdmdv2_main.h:71:0,
from fdmdv2_main.cpp:22:
fdmdv2_pa_wrapper.h:70:73: error: �PaStreamFinishedCallback�
has not been declared
fdmdv2_pa_wrapper.h:72:50: error: �PaStreamParameters� does
not name a type
fdmdv2_pa_wrapper.h:72:70: error: ISO C++ forbids
declaration of �inputBuffer� with no type [-fpermissive]
fdmdv2_pa_wrapper.h:73:44: error: �PaDeviceIndex� has not
been declared
fdmdv2_pa_wrapper.h:78:45: error: �PaTime� has not been declared
fdmdv2_pa_wrapper.h:80:9: error: �PaTime� does not name a type
fdmdv2_pa_wrapper.h:81:30: error: expected �;� at end of
member declaration
fdmdv2_pa_wrapper.h:81:58: error: expected �)� before �dev�
fdmdv2_pa_wrapper.h:83:45: error: �PaDeviceIndex� has not
been declared
fdmdv2_pa_wrapper.h:87:46: error: �PaTime� has not been declared
fdmdv2_pa_wrapper.h:89:9: error: �PaTime� does not name a type
fdmdv2_pa_wrapper.h:92:51: error: �PaStreamParameters� does
not name a type
fdmdv2_pa_wrapper.h:92:71: error: ISO C++ forbids
declaration of �outputBuffer� with no type [-fpermissive]
fdmdv2_pa_wrapper.h:93:41: error: �PaStreamCallbackTimeInfo�
has not been declared
fdmdv2_pa_wrapper.h:96:29: error: �PaStreamParameters� does
not name a type
fdmdv2_pa_wrapper.h:97:29: error: �PaStreamParameters� does
not name a type
fdmdv2_pa_wrapper.h:98:29: error: �PaStreamCallbackFlags�
does not name a type
In file included from fdmdv2_main.h:71:0,
from fdmdv2_main.cpp:22:
fdmdv2_pa_wrapper.h: In member function �int
PortAudioWrap::getDeviceCount()�:
fdmdv2_pa_wrapper.h:59:73: error: �Pa_GetDeviceCount� was
not declared in this scope
fdmdv2_pa_wrapper.h: In member function �PaError
PortAudioWrap::setStreamCallback(PortAudioStream*, int*)�:
fdmdv2_pa_wrapper.h:69:95: error: �m_pStreamCallback� was
not declared in this scope
In file included from fdmdv2_main.h:71:0,
from fdmdv2_main.cpp:22:
fdmdv2_pa_wrapper.h: In member function �void
PortAudioWrap::setInputBuffer(const int&)�:
fdmdv2_pa_wrapper.h:72:92: error: �class PortAudioWrap� has
no member named �m_inputBuffer�
fdmdv2_pa_wrapper.h: In member function �void
PortAudioWrap::setOutputBuffer(const int&)�:
fdmdv2_pa_wrapper.h:92:92: error: �class PortAudioWrap� has
no member named �m_outputBuffer�
fdmdv2_pa_wrapper.h: In member function �void
PortAudioWrap::setTimeInfo(int*)�:
fdmdv2_pa_wrapper.h:93:92: error: �class PortAudioWrap� has
no member named �m_pTimeInfo�
In file included from fdmdv2_main.cpp:22:0:
fdmdv2_main.h: At global scope:
fdmdv2_main.h:337:39: error: �PaStreamCallbackTimeInfo� does
not name a type
fdmdv2_main.h:337:65: error: ISO C++ forbids declaration of
�outTime� with no type [-fpermissive]
fdmdv2_main.h:338:33: error: �PaStreamCallbackFlags� has not
been declared
fdmdv2_main.h:346:39: error: �PaStreamCallbackTimeInfo� does
not name a type
fdmdv2_main.h:346:65: error: ISO C++ forbids declaration of
�outTime� with no type [-fpermissive]
fdmdv2_main.h:347:33: error: �PaStreamCallbackFlags� has not
been declared
fdmdv2_main.cpp: In member function �virtual void
MainFrame::OnToolsComCfg(wxCommandEvent&)�:
fdmdv2_main.cpp:1442:13: warning: unused variable
�iLineState� [-Wunused-variable]
fdmdv2_main.cpp: In member function �void
MainFrame::initPortAudioDevice(PortAudioWrap*, int, int,
int, int, int)�:
fdmdv2_main.cpp:1793:29: error: �class PortAudioWrap� has no
member named �getInputDefaultLowLatency�
fdmdv2_main.cpp:1801:30: error: �class PortAudioWrap� has no
member named �getOutputDefaultLowLatency�
fdmdv2_main.cpp: In member function �void
MainFrame::startRxStream()�:
fdmdv2_main.cpp:1946:49: error: no matching function for
call to �PortAudioWrap::setCallback(int (&)(const void*,
void*, long unsigned int, const int*, int, void*))�
fdmdv2_main.cpp:1946:49: note: candidate is:
In file included from fdmdv2_main.h:71:0,
from fdmdv2_main.cpp:22:
fdmdv2_pa_wrapper.h:68:29: note: PaError
PortAudioWrap::setCallback(int*)
fdmdv2_pa_wrapper.h:68:29: note: no known conversion for
argument 1 from �int(const void*, void*, long unsigned int,
const int*, int, void*)� to �int*�
fdmdv2_main.cpp:1985:53: error: no matching function for
call to �PortAudioWrap::setCallback(int (&)(const void*,
void*, long unsigned int, const int*, int, void*))�
fdmdv2_main.cpp:1985:53: note: candidate is:
In file included from fdmdv2_main.h:71:0,
from fdmdv2_main.cpp:22:
fdmdv2_pa_wrapper.h:68:29: note: PaError
PortAudioWrap::setCallback(int*)
fdmdv2_pa_wrapper.h:68:29: note: no known conversion for
argument 1 from �int(const void*, void*, long unsigned int,
const int*, int, void*)� to �int*�
fdmdv2_main.cpp: At global scope:
fdmdv2_main.cpp:2397:35: error: �PaStreamCallbackTimeInfo�
does not name a type
fdmdv2_main.cpp:2397:61: error: ISO C++ forbids declaration
of �timeInfo� with no type [-fpermissive]
fdmdv2_main.cpp:2398:29: error: �PaStreamCallbackFlags� has
not been declared
fdmdv2_main.cpp: In static member function �static int
MainFrame::rxCallback(const void*, void*, long unsigned int,
const int*, int, void*)�:
fdmdv2_main.cpp:2460:12: error: �paContinue� was not
declared in this scope
fdmdv2_main.cpp: At global scope:
fdmdv2_main.cpp:2952:35: error: �PaStreamCallbackTimeInfo�
does not name a type
fdmdv2_main.cpp:2952:61: error: ISO C++ forbids declaration
of �outTime� with no type [-fpermissive]
fdmdv2_main.cpp:2953:29: error: �PaStreamCallbackFlags� has
not been declared
fdmdv2_main.cpp: In static member function �static int
MainFrame::txCallback(const void*, void*, long unsigned int,
const int*, int, void*)�:
fdmdv2_main.cpp:3011:12: error: �paContinue� was not
declared in this scope
fdmdv2_main.cpp:3012:1: warning: control reaches end of
non-void function [-Wreturn-type]
fdmdv2_main.cpp: In static member function �static int
MainFrame::rxCallback(const void*, void*, long unsigned int,
const int*, int, void*)�:
fdmdv2_main.cpp:2461:1: warning: control reaches end of
non-void function [-Wreturn-type]
In file included from fdmdv2_main.h:71:0,
from fdmdv2_main.cpp:22:
fdmdv2_pa_wrapper.h: In member function �int
PortAudioWrap::getDeviceCount()�:
fdmdv2_pa_wrapper.h:59:76: warning: control reaches end of
non-void function [-Wreturn-type]
make: *** [fdmdv2_main.o] Error 1
I could waste a lot of time on this. I'll try again when I
see updates to your repo.
I'm about to try the Windows binary.
Thanks again.