Nuand / bladeRF

bladeRF USB 3.0 Superspeed Software Defined Radio Source Code
http://nuand.com
Other
1.15k stars 459 forks source link

Problem building on Arch linux #555

Closed budude2 closed 6 years ago

budude2 commented 6 years ago

cmake appears to work fine, it finds all of the dependencies:

-- The C compiler identification is GNU 8.1.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 if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.4.2") 
-- Checking libusb version...
-- libusb version: 1.0.22

-- Looking for clock_gettime in c
-- Looking for clock_gettime in c - found
-- Checking libc version...
-- libc version: 2.27

-- /usr/local/lib64 does not exist. Defaulting libbladeRF install location to /usr/local/lib.
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not 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  
-- libbladeRF version: 1.9.0-git-unknown
-- The CXX compiler identification is GNU 8.1.0
-- 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
-- nuand bladeRF udev rules will be installed to '/etc/udev/rules.d' upon running 'make install'
-- Will use pandoc to generate interactive help
-- Checking for module 'libtecla'
--   Package 'libtecla', required by 'virtual:world', not found
-- Found libtecla: /usr/include, /usr/lib/libtecla.so
-- libtecla support enabled
-- Not building man page for bladeRF-cli.  (BUILD_BLADERF_CLI_DOCUMENTATION is OFF)
-- Configured to build bladeRF-cli version: 1.5.1-git-unknown
-- Configuring done
-- Generating done
-- Build files have been written to: /home/txjacob/bladeRF-libbladeRF_v1.9.0/host/build

However, when I run "make" I get an error that stops the build:

[  1%] Building C object libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/src/async.c.o
[  1%] Building C object libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/src/backend/backend.c.o
[  2%] Building C object libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/src/bladerf.c.o
[  2%] Building C object libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/src/bladerf_priv.c.o
[  3%] Building C object libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/src/capabilities.c.o
[  3%] Building C object libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/src/config.c.o
[  4%] Building C object libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/src/dc_cal_table.c.o
[  4%] Building C object libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/src/device_identifier.c.o
In function ‘handle_serial’,
    inlined from ‘str2devinfo’ at /home/jboline/bladeRF-libbladeRF_v1.9.0/host/libraries/libbladeRF/src/device_identifier.c:229:30:
/home/txjacob/bladeRF-libbladeRF_v1.9.0/host/libraries/libbladeRF/src/device_identifier.c:140:5: error: ‘strncpy’ destination unchanged after copying no bytes [-Werror=stringop-truncation]
     strncpy(d->serial, value, len);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/txjacob/bladeRF-libbladeRF_v1.9.0/host/libraries/libbladeRF/src/device_identifier.c:140:5: error: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
/home/txjacob/bladeRF-libbladeRF_v1.9.0/host/libraries/libbladeRF/src/device_identifier.c: In function ‘str2devinfo’:
/home/txjacob/bladeRF-libbladeRF_v1.9.0/host/libraries/libbladeRF/src/device_identifier.c:119:11: note: length computed here
     len = strlen(value);
           ^~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/build.make:154: libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/src/device_identifier.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:141: libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
rtucker commented 6 years ago

Thanks for your report!

I can reproduce this w/ master, on archlinux (gcc 8.1.1+20180531-1) and fedora-latest (gcc 8.0.1-0.20.fc28). I'm taking a look.