f4exb / sdrangel

SDR Rx/Tx software for Airspy, Airspy HF+, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay and FunCube
GNU General Public License v3.0
2.93k stars 447 forks source link

Build error #217

Closed cyberxml closed 6 years ago

cyberxml commented 6 years ago

Building on Fedora 28 with current git pull of sdrangle and bladeRF from github Linux localhost.localdomain 4.17.14-202.fc28.x86_64 #1 SMP Wed Aug 15 12:29:25 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

https://www.github.com/nuand/bladeRF

Make error

[ 58%] Building CXX object plugins/samplesource/bladerfinput/CMakeFiles/inputbladerf.dir/bladerfinput.cpp.o In file included from /home/cyberxml/gits/sdrangel/plugins/samplesource/bladerfinput/bladerfinput.h:23, from /home/cyberxml/gits/sdrangel/plugins/samplesource/bladerfinput/bladerfinput.cpp:17: /home/cyberxml/gits/sdrangel/plugins/samplesource/bladerfinput/bladerfinput.cpp: In member function ‘bool BladerfInput::openDevice()’: /home/cyberxml/gits/sdrangel/plugins/samplesource/bladerfinput/bladerfinput.cpp:115:43: error: invalid conversion from ‘bladerf_channel’ {aka ‘int’} to ‘bladerf_channel_layout’ [-fpermissive] if ((res = bladerf_sync_config(m_dev, BLADERF_MODULE_RX, BLADERF_FORMAT_SC16_Q11, 64, 8192, 32, 10000)) < 0) ^~~~~ /usr/local/include/libbladeRF.h:2485:58: note: initializing argument 2 of ‘int bladerf_sync_config(bladerf*, bladerf_channel_layout, bladerf_format, unsigned int, unsigned int, unsigned int, unsigned int)’ bladerf_channel_layout layout,


make[2]: *** [plugins/samplesource/bladerfinput/CMakeFiles/inputbladerf.dir/build.make:80: plugins/samplesource/bladerfinput/CMakeFiles/inputbladerf.dir/bladerfinput.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3587: plugins/samplesource/bladerfinput/CMakeFiles/inputbladerf.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

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.1.1 -- The CXX compiler identification is GNU 8.1.1 -- 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/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/lib64/libGL.so

and GLVND libraries for OpenGL and GLX:

OPENGL_opengl_LIBRARY: /usr/lib64/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib64/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:60 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

-- Found OpenGL: /usr/lib64/libOpenGL.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.4.2") -- Boost version: 1.66.0 -- Checking for module 'fftw3f >= 3.0' -- Found fftw3f , version 3.3.5 -- Found FFTW3F: /lib64/libfftw3f.so
-- Found FFTW3F: /usr/include, /lib64/libfftw3f.so, /lib64/libfftw3f_threads.so -- Checking for module 'libdsdcc' -- Package 'libdsdcc', required by 'virtual:world', not 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 -- Checking for module 'libusb-1.0' -- Found libusb-1.0, version 1.0.22 -- Found libusb-1.0: /usr/include, /usr/lib64/libusb-1.0.so -- Checking for module 'libbladeRF' -- Found libbladeRF, version 2.0.0-git-e5fb3e9c -- Found libbladerf: /usr/local/include, /usr/local/lib64/libbladeRF.so -- Checking for module 'libhackrf' -- Found libhackrf, version 0.5 -- Found libhackrf: /usr/local/include, /usr/local/lib/libhackrf.so -- Found Lime Suite: /usr/local/include, /usr/local/lib/libLimeSuite.so -- Checking for module 'libiio' -- Found libiio, version 0.7 -- Found libiio: /usr/include, /usr/lib64/libiio.so -- Checking for module 'libperseus' -- Package 'libperseus', required by 'virtual:world', not found -- Found libperseus: /usr/local/include, /usr/local/lib/libperseus-sdr.so -- Checking for module 'libavcodec' -- Found libavcodec, version 58.18.100 -- Checking for module 'libavformat' -- Found libavformat, version 58.12.100 -- Checking for module 'libavdevice' -- Found libavdevice, version 58.3.100 -- Checking for module 'libavutil' -- Found libavutil, version 56.14.100 -- Checking for module 'libavfilter' -- Found libavfilter, version 7.16.100 -- Checking for module 'libswscale' -- Found libswscale, version 5.1.100 -- Checking for module 'libpostproc' -- Found libpostproc, version 55.1.100 -- Checking for module 'libswresample' -- Found libswresample, version 3.1.100 -- Found FFmpeg: /usr/lib64/libavcodec.so;/usr/lib64/libavformat.so;/usr/lib64/libavutil.so
-- FFmpeg version 4.0.2--bindir=/usr/bin found -- Include demoddatv -- Checking for module 'libcm256cc' -- Package 'libcm256cc', required by 'virtual:world', not found -- Found CM256cc: /usr/local/include/cm256cc, /usr/local/lib64/libcm256cc.so -- Found CM256CC: /usr/local/lib64/libcm256cc.so
-- DaemonSink: use SSSE3 SIMD -- Checking for module 'libcm256cc' -- Package 'libcm256cc', required by 'virtual:world', not found -- Found CM256cc: /usr/local/include/cm256cc, /usr/local/lib64/libcm256cc.so -- DaemonSource: use SSSE3 SIMD CMake Warning at plugins/channeltx/CMakeLists.txt:14 (find_package): By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "OpenCV", but CMake did not find one.

Could not find a package configuration file provided by "OpenCV" with any of the following names:

OpenCVConfig.cmake
opencv-config.cmake

Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set "OpenCV_DIR" to a directory containing one of the above files. If "OpenCV" provides a separate development package or SDK, be sure it has been installed.

-- Checking for module 'libairspy' -- Found libairspy, version 1.0 -- Found libairspy: /usr/local/include, /usr/local/lib/libairspy.so -- Checking for module 'libairspyhf' -- Package 'libairspyhf', required by 'virtual:world', not found -- Found libairspyhf: /usr/local/include, /usr/local/lib/libairspyhf.so -- Found Lime Suite: /usr/local/include, /usr/local/lib/libLimeSuite.so -- Checking for module 'librtlsdr' -- Found librtlsdr, version 0.5.4-9-g9047 -- Found librtlsdr: /usr/include, /usr/lib64/librtlsdr.so -- Checking for module 'libcm256cc' -- Package 'libcm256cc', required by 'virtual:world', not found -- Found CM256cc: /usr/local/include/cm256cc, /usr/local/lib64/libcm256cc.so -- SDRdaemonSource: use SSSE3 SIMD -- Checking for module 'libmirisdr' -- Package 'libmirisdr', required by 'virtual:world', not found -- Found libmirisdr: /usr/local/include, /usr/local/lib/libmirisdr.so -- LibMiriSDR found -- Found Lime Suite: /usr/local/include, /usr/local/lib/libLimeSuite.so -- Checking for module 'libcm256cc' -- Package 'libcm256cc', required by 'virtual:world', not found -- Found CM256cc: /usr/local/include/cm256cc, /usr/local/lib64/libcm256cc.so -- SDRdaemonFEC: use SSSE3 SIMD -- Checking for module 'libcm256cc' -- Package 'libcm256cc', required by 'virtual:world', not found -- Found CM256cc: /usr/local/include/cm256cc, /usr/local/lib64/libcm256cc.so -- Checking for module 'libcm256cc' -- Package 'libcm256cc', required by 'virtual:world', not found -- Found CM256cc: /usr/local/include/cm256cc, /usr/local/lib64/libcm256cc.so CMake Warning at pluginssrv/channeltx/CMakeLists.txt:14 (find_package): By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "OpenCV", but CMake did not find one.

Could not find a package configuration file provided by "OpenCV" with any of the following names:

OpenCVConfig.cmake
opencv-config.cmake

Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set "OpenCV_DIR" to a directory containing one of the above files. If "OpenCV" provides a separate development package or SDK, be sure it has been installed.

-- Found Lime Suite: /usr/local/include, /usr/local/lib/libLimeSuite.so -- Checking for module 'libcm256cc' -- Package 'libcm256cc', required by 'virtual:world', not found -- Found CM256cc: /usr/local/include/cm256cc, /usr/local/lib64/libcm256cc.so -- SDRdaemonFEC: use SSSE3 SIMD -- Found Lime Suite: /usr/local/include, /usr/local/lib/libLimeSuite.so -- Checking for module 'libcm256cc' -- Package 'libcm256cc', required by 'virtual:world', not found -- Found CM256cc: /usr/local/include/cm256cc, /usr/local/lib64/libcm256cc.so -- SDRdaemonSource: use SSSE3 SIMD -- LibMiriSDR found -- Configuring done -- Generating done -- Build files have been written to: /home/cyberxml/gits/sdrangel/build

cyberxml commented 6 years ago

Is this related to 'v2' of libbladerf? https://github.com/f4exb/sdrangel/issues/215

cyberxml commented 6 years ago

Work around was to install "bladeRF-2016.06" into a local directory. Note that I had to modify two files to compile on my Fedora 28 distro

  1. device_identifier.c
  2. flash.c

Then run cmake with pointers to the older bladerf library/include cmake -DLIBBLADERF_LIBRARIES=/home/cyberxml/local/bladeRF-2016.06/usr/local/lib64/libbladeRF.so -DLIBBLADERF_INCLUDE_DIR=/home/cyberxml/local/bladeRF-2016.06/usr/local/include ..

I have not yet tested this with a bladeRF as I was compiling to get support for another device.

f4exb commented 6 years ago

Support for libbladerf v2 is under way with support of the BladeRF micro (issue #215). You can try the dev branch which should be working with libbladerf 2018.08 and the version 1 of the BladeRF (plugins are renamed with bladerf1 in theit name).

f4exb commented 6 years ago

Closed in favor of #215