Bug #3776
openBuild fail using gcc version 7.3.0 Ubuntu 18.04.1 LTS
0%
Description
I recently upgraded from Ubuntu 16.04 lts to 18.04 lts. Before upgrading I was able to install op25 but after upgrading I am unable to.
The version of gcc I have is gcc version 7.3.0
When I attempt to build and install op25 it fails around 62% of the way through. The last error and warning displayed is as follows:
/home/user/sdr/src/op25/op25/gr-op25_repeater/lib/p25_frame_assembler_impl.cc: In member function ‘void gr::op25_repeater::p25_frame_assembler_impl::p25p2_queue_msg(int)’:
/home/user/sdr/src/op25/op25/gr-op25_repeater/lib/p25_frame_assembler_impl.cc:42:41: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
static const char wbuf2 = {0xff, 0xff}; // dummy NAC
^
/home/user/sdr/src/op25/op25/gr-op25_repeater/lib/p25_frame_assembler_impl.cc:42:41: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/build.make:206: recipe for target 'op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_frame_assembler_impl.cc.o' failed
make2: * [op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/p25_frame_assembler_impl.cc.o] Error 1
CMakeFiles/Makefile2:682: recipe for target 'op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/all' failed
make1: [op25/gr-op25_repeater/lib/CMakeFiles/gnuradio-op25_repeater.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: ** [all] Error 2
Attached is the full output when I attempt to build the project.
Files
Updated by higinbotham@hotmail.com almost 5 years ago
I am not a programmer. This is only my observations only. William Higinbotham
I notice that the #include in ysf_tx_sb_impl.cc
#include <gnuradio/io_signature.h>
#include "mbelib.h"
#include "p25p2_vf.h"
#include "ysf_tx_sb_impl.h"
#include "ysf_const.h"
#include <op25_imbe_frame.h>
I personally feel that op25_imbe_frame.h may need to be in quotes??
higinbotham@OS2BORG:~$ locate op25_imbe_frame.h
/home/higinbotham/op25-master/op25/gr-op25/lib/op25_imbe_frame.h
/home/higinbotham/op25-master/op25/gr-op25_repeater/lib/op25_imbe_frame.h
higinbotham@OS2BORG:~$ locate io_signature.h
/usr/include/gnuradio/io_signature.h
higinbotham@OS2BORG:~$ locate ysf_const.h
/home/higinbotham/op25-master/op25/gr-op25_repeater/lib/ysf_const.h
Reason:
''filename.cpp'' checks both current directory and the directory where libraries are placed.Whereas <filename.cpp> checks only the directory where the required libraries are placed
Updated by xexzy almost 5 years ago
- File op25Fix.png op25Fix.png added
- File op25-successfulInstall.png op25-successfulInstall.png added
This can be fixed by adding set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-narrowing") to the gr-op25/op25/*gr-op25_repeater/CMakeLists.txt*