I tried to compile fdmdv2 from source on Ubuntu 12, but wasn't
successful. The complaint was while "Building CXX object
src/CMakeFiles/freedv.dir/dlg_about.cpp.o". Below is a reconstruction
of what I did. Please let me know if I can help with additional
information or tests.
Thank you,
Brian
-----
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.4 LTS
Release: 12.04
Codename: precise
$ uname -a
Linux battleship 3.2.0-60-generic #91-Ubuntu SMP Wed Feb 19 03:54:44 UTC 2014
x86_64 x86_64 x86_64 GNU/Linux
[ I worked up to this package list in stages, it did not all happen in
one command. I have messed with gnuradio and some of the other SDR
programs, so there was previous configuration to the ham radio
libraries. I didn't find a libsox, I picked sox instead. Later,
cmake reports a /usr/lib/libsox.so is found. ]
root# apt-get install cmake gcc g++ libportaudio-dev libhamlib-dev
libsamplerate-dev libsndfile-dev libsox-dev libgtk-3-dev libasound-dev
libportaudio2 libhamlib2 libsamplerate0 libsndfile1 libgtk-3-0 libasound2
libcairo2-doc libgtk-3-doc libpango1.0-doc libportaudio-doc sox
$ svn checkout svn://svn.code.sf.net/p/freetel/code/ freetel-code
[ revision was from evening of 22Apr2014, prior to revision 1544 ]
[ codec2-dev built without complaint ]
[ tried building fdmdv2 with ./configure, which failed, then
tried building it with cmake, which failed on missing wxwidgets ]
$ cd [ various ]
$ mkdir fdmdv2_BOOTSTRAP_WXWIDGETS
$ cd fdmdv2_BOOTSTRAP_WXWIDGETS
$ cmake -DBOOTSTRAP_WXWIDGETS=TRUE ../fdmdv2
[...]
$ make
[ wxwidgets downloads and compiles ]
[ 87%] Performing install step for 'wxWidgets'
------------------------------------------------------
The installation of wxWidgets is finished. On certain
platforms (e.g. Linux) you'll now have to run ldconfig
if you installed a shared library and also modify the
LD_LIBRARY_PATH (or equivalent) environment variable.
wxWidgets comes with no guarantees and doesn't claim
to be suitable for any purpose.
Read the wxWindows Licence on licencing conditions.
------------------------------------------------------
[100%] Completed 'wxWidgets'
[100%] Built target wxWidgets
root# ldconfig
$ cmake .
-- FreeDV version: 0.96.5
-- Adding wxWidgets build target...
-- Looking for include files HAVE_LIMITS_H
-- Looking for include files HAVE_LIMITS_H - found
-- Looking for include files HAVE_STDDEF_H
-- Looking for include files HAVE_STDDEF_H - found
-- Looking for include files HAVE_STDLIB_H
-- Looking for include files HAVE_STDLIB_H - found
-- Looking for include files HAVE_STRING_H
-- Looking for include files HAVE_STRING_H - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Check size of int
-- Check size of int - done
-- Looking for floor
-- Looking for floor - found
-- Looking for memset
-- Looking for memset - found
-- Looking for pow
-- Looking for pow - found
-- Looking for sqrt
-- Looking for sqrt - found
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Threads library flags: -lpthread
-- Looking for portaudio...
-- portaudio library: /usr/lib/libportaudio.so
-- portaudio headers: /usr/include
-- Looking for hamlib...
-- Hamlib library: /usr/lib/libhamlib.so
-- Hamlib headers: /usr/include
-- Hamlib library found.
-- Looking for samplerate...
-- samplerate library: /usr/lib/x86_64-linux-gnu/libsamplerate.so
-- samplerate headers: /usr/include
-- Looking for sndfile...
-- sndfile library: /usr/lib/x86_64-linux-gnu/libsndfile.so
-- sndfile headers: /usr/include
-- Looking for sox...
-- sox library: /usr/lib/libsox.so
-- sox headers: /usr/include
-- Looking for wxWidgets...
-- wx-config:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2_BOOTSTRAP_WXWIDGETS/external/dist/bin/wx-config
-- wxrc:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2_BOOTSTRAP_WXWIDGETS/external/dist/bin/wxrc
-- Found wxWidgets: TRUE
-- wxWidgets version: 3.0.0
-- Looking for codec2...
-- codec2 library: /usr/local/lib/libcodec2.so
-- codec2 headers: /usr/local/include/codec2
-- Build type will be: Release
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2_BOOTSTRAP_WXWIDGETS
$ make
Scanning dependencies of target wxWidgets
[ 33%] Built target wxWidgets
Scanning dependencies of target freedv
[ 37%] Building CXX object src/CMakeFiles/freedv.dir/dlg_about.cpp.o
In file included from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:74:0,
from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.h:24,
from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.cpp:23:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:44:9:
error: ‘PaStreamCallback’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:45:9:
error: ‘PaStreamFinishedCallback’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:46:15:
error: ‘PaStreamCallbackTimeInfo’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:48:9:
error: ‘PaStreamParameters’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:49:9:
error: ‘PaStreamParameters’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:52:9:
error: ‘PaStreamCallbackFlags’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:60:9:
error: ‘PaDeviceIndex’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:61:9:
error: ‘PaDeviceIndex’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:62:9:
error: ‘PaStreamParameters’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:68:41:
error: ‘PaStreamCallback’ has not been declared
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:69:65:
error: ‘PaStreamCallback’ has not been declared
In file included from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:74:0,
from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.h:24,
from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.cpp:23:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:70:73:
error: ‘PaStreamFinishedCallback’ has not been declared
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:72:50:
error: ‘PaStreamParameters’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:72:70:
error: ISO C++ forbids declaration of ‘inputBuffer’ with no type [-fpermissive]
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:73:44:
error: ‘PaDeviceIndex’ has not been declared
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:78:45:
error: ‘PaTime’ has not been declared
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:80:9:
error: ‘PaTime’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:81:30:
error: expected ‘;’ at end of member declaration
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:81:58:
error: expected ‘)’ before ‘dev’
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:83:45:
error: ‘PaDeviceIndex’ has not been declared
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:87:46:
error: ‘PaTime’ has not been declared
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:89:9:
error: ‘PaTime’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:92:51:
error: ‘PaStreamParameters’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:92:71:
error: ISO C++ forbids declaration of ‘outputBuffer’ with no type [-fpermissive]
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:93:41:
error: ‘PaStreamCallbackTimeInfo’ has not been declared
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:96:29:
error: ‘PaStreamParameters’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:97:29:
error: ‘PaStreamParameters’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:98:29:
error: ‘PaStreamCallbackFlags’ does not name a type
In file included from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:74:0,
from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.h:24,
from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.cpp:23:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h: In
member function ‘int PortAudioWrap::getDeviceCount()’:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:59:73:
error: ‘Pa_GetDeviceCount’ was not declared in this scope
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h: In
member function ‘PaError PortAudioWrap::setStreamCallback(PortAudioStream*,
int*)’:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:69:95:
error: ‘m_pStreamCallback’ was not declared in this scope
In file included from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:74:0,
from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.h:24,
from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.cpp:23:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h: In
member function ‘void PortAudioWrap::setInputBuffer(const int&)’:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:72:92:
error: ‘class PortAudioWrap’ has no member named ‘m_inputBuffer’
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h: In
member function ‘void PortAudioWrap::setOutputBuffer(const int&)’:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:92:92:
error: ‘class PortAudioWrap’ has no member named ‘m_outputBuffer’
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h: In
member function ‘void PortAudioWrap::setTimeInfo(int*)’:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_pa_wrapper.h:93:92:
error: ‘class PortAudioWrap’ has no member named ‘m_pTimeInfo’
In file included from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.h:24:0,
from
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/dlg_about.cpp:23:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h: At global
scope:
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:366:39: error:
‘PaStreamCallbackTimeInfo’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:366:65: error:
ISO C++ forbids declaration of ‘outTime’ with no type [-fpermissive]
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:367:33: error:
‘PaStreamCallbackFlags’ has not been declared
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:375:39: error:
‘PaStreamCallbackTimeInfo’ does not name a type
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:375:65: error:
ISO C++ forbids declaration of ‘outTime’ with no type [-fpermissive]
/home/bb/freedv/DEPOT.src/freetel-code/fdmdv2/src/fdmdv2_main.h:376:33: error:
‘PaStreamCallbackFlags’ has not been declared
make[2]: *** [src/CMakeFiles/freedv.dir/dlg_about.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/freedv.dir/all] Error 2
make: *** [all] Error 2
------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2