Hello Richard,

On Tue, May 7, 2013 at 3:43 AM, Richard Shaw <[email protected]> wrote:
> I just submitted some cmake configuration updates and it now pretty much
> does everything I needed it to do (and more) but not quite everything I'd
> like it to do.

I have been using the make based build to compile the system on
various versions of Ubuntu, with success.

I tested the cmake based build. codec2-dev builds fine, good work
there. I have tried to build freedv, and have had less success. Unlike
David's makefile, the cmake build does not download nor build any
dependencies.

I realise that if we are to move towards getting FreeDV packed in
distros we need to build it against distro packages, but due to codec2
and wxwidgets not having packages, that's difficult on Ubuntu. I was
able to use the codelite.org wx2.9 packages, but this still leaves the
problem of codec2.

I then tried to point the cmake build to the (uninstalled) codec2
headers and library manually. That failed (I forget the syntax I
tried; cmake is a lot harder to find solutions than autotools for this
kind of thing).

In writing this email, I notice that in your latest cmake
configuration I get this output:

-- Looking for codec2...
--   codec2 library: CODEC2_LIBRARY-NOTFOUND
--   codec2 headers: CODEC2_INCLUDE_DIR-NOTFOUND
CMake Error at CMakeLists.txt:276 (message):
  codec2 library not found.

  Linux:

  Codec2 may not be in your distribution so build yourself or use the cmake
  option to build statically into FreeDV.

  Windws:

  It's easiest to use the cmake option: USE_STATIC_PORTAUDIO

I think that windows message, line 280 of CMakeLists.txt, needs to be
fixed. The Linux message is a bit cryptic, how do I set the option to
build codec2 statically? Looking again at CMakeLists.txt we have the
following logic:

#
# Find codec2
#
if(NOT USE_STATIC_CODEC2)
...
else(NOT USE_STATIC_CODEC2)
    message(STATUS "Will attempt static build of codec2.")
    include(cmake/BuildCodec2.cmake)
endif(NOT USE_STATIC_CODEC2)

How do I as a user discover this option, without having to read the
file? I'm after the cmake equivalent of ./configure --help

I worked out that I wanted to do this:

cmake . -DUSE_STATIC_CODEC=TRUE

It had the following results:

-- Will attempt static build of codec2.
CMake Error at CMakeLists.txt:285 (include):
  include could not find load file:

    cmake/BuildCodec2.cmake

In summary, out of the box the cmake system is much less user friendly
than the makefile based build. Most of this is due to the reliance on
the dev branch of wx widgets, but even with this sorted out, the build
is complex.

I encourage the work towards making the build system more appropriate
for packaging. I would suggest that it cannot be the first class build
system until it works out of the box for the average Linux user.

Regards,

Joel

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to