Topics

CMAKE error trying to build SDRAngel (latest version)...


Marty Wittrock
 

Hello All,

Hopefully someone can help me - I'm running into an error when I try to 'cmake ../' SDRAngel and the error message follows:

-- Checking for module 'libdsdcc'
--   No package 'libdsdcc' found
-- libdsdcc not found.
-- Architecture: x86_64
-- Use SSE 4.1 SIMD instructions
-- Use SSSE3 SIMD instructions
-- Use SSE2 SIMD instructions
-- Compiling for 16 bit Rx DSP chain
-- Compiling with SIMD instructions for DSP if available
CMake Error at /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Opus (missing: OPUS_INCLUDE_DIRS OPUS_LIBRARIES
  HAVE_OPUS_OPUS_H)
Call Stack (most recent call first):
  /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindOpus.cmake:47 (find_package_handle_standard_args)
  sdrbase/CMakeLists.txt:231 (find_package)


-- Configuring incomplete, errors occurred!

Does anyone have any information they can give me pertaining to the issue. I have installed all the normal dependencies that are required for an Ubuntu environment and have tried two different version of Ubuntu to build this with the same issue: 18.04 and now 18.10. The issue is that it cannot find a package libdsdcc and I've tried to install it by apt-get and other methods (-f to resolve missing dependencies) and it still throws this error in the 'cmake ../' sequence. I never used to have an issue like this building SDRAngel in Linux before and it's been hard to resolve this. just for further clarity, here's how it looked when I executed the command:

marty@Redstone:/opt/build/sdrangel/build$ cmake ../
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_policy):
  The OLD behavior for policy CMP0043 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at /usr/share/cmake-3.12/Modules/FindOpenGL.cmake:270 (message):
  Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
  available.  Run "cmake --help-policy CMP0072" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  FindOpenGL found both a legacy GL library:

    OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so

  and GLVND libraries for OpenGL and GLX:

    OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
    OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so

  OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
  compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
  CMakeLists.txt:62 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so  
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Boost version: 1.67.0
-- Checking for module 'fftw3f >= 3.0'
--   Found fftw3f , version 3.3.8
-- Found FFTW3F: /usr/lib/x86_64-linux-gnu/libfftw3f.so 
-- Found FFTW3F: /usr/include, /usr/lib/x86_64-linux-gnu/libfftw3f.so, /usr/lib/x86_64-linux-gnu/libfftw3f_threads.so
-- Checking for module 'libdsdcc'
--   No package 'libdsdcc' found
-- libdsdcc not found.
-- Architecture: x86_64
-- Use SSE 4.1 SIMD instructions
-- Use SSSE3 SIMD instructions
-- Use SSE2 SIMD instructions
-- Compiling for 16 bit Rx DSP chain
-- Compiling with SIMD instructions for DSP if available
CMake Error at /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Opus (missing: OPUS_INCLUDE_DIRS OPUS_LIBRARIES
  HAVE_OPUS_OPUS_H)
Call Stack (most recent call first):
  /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindOpus.cmake:47 (find_package_handle_standard_args)
  sdrbase/CMakeLists.txt:231 (find_package)


-- Configuring incomplete, errors occurred!
See also "/opt/build/sdrangel/build/CMakeFiles/CMakeOutput.log".

Anything anyone can help with this issue will be GREATLY appreciated. Please let me know - I'm trying to compile SDRAngel such that I can run the Lime-Mini for transmit testing since the Lime-Mini cannot be seen in the Windows version of SDRAngel.

Thanks in advance for your help - 73 de Marty, KN0CK


Michael Durkin
 

Tried ..

sudo apt-get install opus-tools

On Thu, Mar 21, 2019, 9:32 PM Marty Wittrock <martywittrock@...> wrote:
Hello All,

Hopefully someone can help me - I'm running into an error when I try to 'cmake ../' SDRAngel and the error message follows:

-- Checking for module 'libdsdcc'
--   No package 'libdsdcc' found
-- libdsdcc not found.
-- Architecture: x86_64
-- Use SSE 4.1 SIMD instructions
-- Use SSSE3 SIMD instructions
-- Use SSE2 SIMD instructions
-- Compiling for 16 bit Rx DSP chain
-- Compiling with SIMD instructions for DSP if available
CMake Error at /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Opus (missing: OPUS_INCLUDE_DIRS OPUS_LIBRARIES
  HAVE_OPUS_OPUS_H)
Call Stack (most recent call first):
  /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindOpus.cmake:47 (find_package_handle_standard_args)
  sdrbase/CMakeLists.txt:231 (find_package)


-- Configuring incomplete, errors occurred!

Does anyone have any information they can give me pertaining to the issue. I have installed all the normal dependencies that are required for an Ubuntu environment and have tried two different version of Ubuntu to build this with the same issue: 18.04 and now 18.10. The issue is that it cannot find a package libdsdcc and I've tried to install it by apt-get and other methods (-f to resolve missing dependencies) and it still throws this error in the 'cmake ../' sequence. I never used to have an issue like this building SDRAngel in Linux before and it's been hard to resolve this. just for further clarity, here's how it looked when I executed the command:

marty@Redstone:/opt/build/sdrangel/build$ cmake ../
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_policy):
  The OLD behavior for policy CMP0043 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at /usr/share/cmake-3.12/Modules/FindOpenGL.cmake:270 (message):
  Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
  available.  Run "cmake --help-policy CMP0072" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  FindOpenGL found both a legacy GL library:

    OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so

  and GLVND libraries for OpenGL and GLX:

    OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
    OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so

  OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
  compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
  CMakeLists.txt:62 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so  
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Boost version: 1.67.0
-- Checking for module 'fftw3f >= 3.0'
--   Found fftw3f , version 3.3.8
-- Found FFTW3F: /usr/lib/x86_64-linux-gnu/libfftw3f.so 
-- Found FFTW3F: /usr/include, /usr/lib/x86_64-linux-gnu/libfftw3f.so, /usr/lib/x86_64-linux-gnu/libfftw3f_threads.so
-- Checking for module 'libdsdcc'
--   No package 'libdsdcc' found
-- libdsdcc not found.
-- Architecture: x86_64
-- Use SSE 4.1 SIMD instructions
-- Use SSSE3 SIMD instructions
-- Use SSE2 SIMD instructions
-- Compiling for 16 bit Rx DSP chain
-- Compiling with SIMD instructions for DSP if available
CMake Error at /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Opus (missing: OPUS_INCLUDE_DIRS OPUS_LIBRARIES
  HAVE_OPUS_OPUS_H)
Call Stack (most recent call first):
  /usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindOpus.cmake:47 (find_package_handle_standard_args)
  sdrbase/CMakeLists.txt:231 (find_package)


-- Configuring incomplete, errors occurred!
See also "/opt/build/sdrangel/build/CMakeFiles/CMakeOutput.log".

Anything anyone can help with this issue will be GREATLY appreciated. Please let me know - I'm trying to compile SDRAngel such that I can run the Lime-Mini for transmit testing since the Lime-Mini cannot be seen in the Windows version of SDRAngel.

Thanks in advance for your help - 73 de Marty, KN0CK


Marty Wittrock
 

Mike,

All good - I'll give that a try. Do you think this will also remedy the issue with libdsdcc, too? It's good that SDRAngel has some great new features being brought on, but it's discouraging to start with an entirely clean build and find errors in the cmake like this - I'm even following the latest guidance from the SDRAngel Github site on how to gather all the dependencies for a clean compile <hopefully>. 

Have you compiled the latest 'Angel? Did you run into any of these issues? Let me know - I would like to keep a log of things so I don't get hung-up on tedious compiles like this in the future. 

73 de Marty, KN0CK


Edouard Griffiths
 

Hello,

cmake rightfully points you to what is missing for the build (dependency on Opus in that case).

Anyway this is still a bit experimental but if you want to get a clean build always then you have to build a Docker image. I have created a new repository focused on this matter: https://github.com/f4exb/sdrangel-docker Section specific to SDRangel is here: https://github.com/f4exb/sdrangel-docker/tree/master/sdrangel At least if anything goes wrong it is easy to fix the recipe for everyone. 

Building the Docker image for SDRangel takes some time and space on your disk but can save you a lot of time... Running Docker is not difficult and fun.

Brgds, Edouard.


Marty Wittrock
 

Edouard,

All good, I'll look into adding the opus-tools doing an apt-get when I get home this evening. Will this also fix the issue with the cmake where cmake is complianing about libdsdcc missing? I want to get both of these issues resolved with this latest build - I really need it for some Lime-Mini testing for the HF Band that only SDRAngel can do right now. So please let me know if adding the 'opus-tools' will also resolve the issue with libdsdcc, too.

I took some time this morning to look over 'Docker' and I am intrigued by it, but I'm not sure of the steps necessary to correctly set up this environment. I do see some steps toward setting up the environment, but beyond that I didn't see how I could build SDRAngel to make it play within Docker. I did see that this is more of a browser based GUI and it's remotable, but again, I'm not confident enough to set this environment up without more guidance in terms of a step-by-step guide how to setup the Docker environment and then how SDRAngel is built to be contained within it. I WANT to do this because I also believe that longer term this will be the easier way to update 'Angel. Also, I need to impart this on the LimeSDR forum, too. Please let me know more on this, Edouard,

73 de Marty, KN0CK