I have such a file ( ~/Pobrane/multi-rtl/swig/multi_rtl_swig.i ) :
/* -*- c++ -*- */
#define MULTI_RTL_API
%include "gnuradio.i" // the common stuff
%include "feval.i"
//load generated python docstrings
%include "multi_rtl_swig_doc.i"
%{
#include "multi_rtl/vector_sink_cn.h"
%}
%include "multi_rtl/vector_sink_cn.h"
GR_SWIG_BLOCK_MAGIC2(multi_rtl, vector_sink_cn);
and I get following error during make process:
[ 26%] Swig source multi_rtl_swig.i
Deprecated command line option: -modern. This option is now always on.
~/Pobrane/multi-rtl/swig/multi_rtl_swig.i:5: Error: Unable to find 'gnuradio.i'
~/Pobrane/multi-rtl/swig/multi_rtl_swig.i:6: Error: Unable to find 'feval.i'
make[2]: *** [swig/CMakeFiles/multi_rtl_swig_swig_compilation.dir/build.make:81: swig/CMakeFiles/multi_rtl_swig.dir/multi_rtl_swigPYTHON.stamp] Error 1
make[2]: *** Delete file 'swig/CMakeFiles/multi_rtl_swig.dir/multi_rtl_swigPYTHON.stamp'
make[2]: Opuszczenie katalogu '~/Pobrane/multi-rtl/build'
make[1]: *** [CMakeFiles/Makefile2:407: swig/CMakeFiles/multi_rtl_swig_swig_compilation.dir/all] Błąd 2
make[1]: Opuszczenie katalogu '~/Pobrane/multi-rtl/build'
make: *** [Makefile:158: all] Błąd 2
Of course I have these files in such directories:
gnuradio.i - /usr/include/gnuradio/swig/gnuradio.i
feval.i - /usr/include/gnuradio/swig/feval.i
This error occurred during following command ( I know from make VERBOSE=1
command ):
cd ~/Pobrane/multi-rtl/build/swig && /usr/bin/cmake -E env SWIG_LIB=/usr/share/swig/4.0.1 /usr/bin/swig -python -fvirtual -modern -keyword -w511 -w314 -relativeimport -module multi_rtl_swig -I~/Pobrane/multi-rtl/lib -I~/Pobrane/multi-rtl/include -I~/Pobrane/multi-rtl/build/lib -I~/Pobrane/multi-rtl/build/include -I/usr/include -I/usr/include -I~/Pobrane/multi-rtl/build/swig -I~/Pobrane/multi-rtl/swig -I/usr/include/python2.7 -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I~/Pobrane/multi-rtl/lib -I~/Pobrane/multi-rtl/include -I~/Pobrane/multi-rtl/build/lib -I~/Pobrane/multi-rtl/build/include -I/usr/include -I/usr/include -I~/Pobrane/multi-rtl/build/swig -I~/Pobrane/multi-rtl/swig -I/usr/include/python2.7 -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -outdir ~/Pobrane/multi-rtl/build/swig -c++ -I~/Pobrane/multi-rtl/lib -I~/Pobrane/multi-rtl/include -I~/Pobrane/multi-rtl/build/lib -I~/Pobrane/multi-rtl/build/include -I/usr/include -o ~/Pobrane/multi-rtl/build/swig/CMakeFiles/multi_rtl_swig.dir/multi_rtl_swigPYTHON_wrap.cxx ~/Pobrane/multi-rtl/swig/multi_rtl_swig.i
I wonder where this error comes from, what it is caused and how can I fix it.
EDIT
I know what's causing the problem. I use deprecated ${GNURADIO_RUNTIME_INCLUDE_DIRS} macro. After replacing
foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS})
list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gnuradio/swig)
endforeach(incdir)
with
list(APPEND GR_SWIG_INCLUDE_DIRS "/usr/local/include/gnuradio/swig")
list(APPEND GR_SWIG_INCLUDE_DIRS "/usr/include/gnuradio/swig")
everything works. However, this is a temporary solution. How can I implement similar functionality in gnuradio 3.8?