There is a problem with cmake 3.11.0 and the parallel build fails with
See https://github.com/ptrkrysik/gr-gsm/pull/378#issuecomment-379583050
make[2]: *** No rule to make target 'swig/grgsm_swig.py', needed by 'swig/grgsm_swig.pyc'. Stop.
make[1]: *** [CMakeFiles/Makefile2:601: swig/CMakeFiles/pygen_swig_43235.dir/all] Error 2
See https://github.com/ptrkrysik/gr-gsm/pull/378#issuecomment-379587145
Traceback (most recent call last):
File "/usr/bin/grcc", line 29, in <module>
from gnuradio import gr
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/__init__.py", line 41, in <module>
from runtime_swig import *
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 17, in <module>
_runtime_swig = swig_import_helper()
File "/usr/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 16, in swig_import_helper
return importlib.import_module('_runtime_swig')
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named _runtime_swig
The table length was wrong becuase matchCostTable is a float pointer and
not an array since 792330777d
python2.7: /home/user/gr-gsm/lib/decoding/openbts/ViterbiR204.cpp:288: virtual void ViterbiR2O4::decode(const SoftVector&, BitVector&): Assertion `match-matchCostTable<(float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1' failed.
(gdb) f 4
#4 0x00007fffdff820c3 in ViterbiR2O4::decode (this=0x5555563bbdf0, in=..., target=...)
at /home/vasko/sources/gr-gsm/gr-gsm/lib/decoding/openbts/ViterbiR204.cpp:288
288 assert(match-matchCostTable<(float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1);
(gdb) p match-matchCostTable
$1 = 2
(gdb) p (float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1
$2 = 1
(gdb) p (float)sizeof(matchCostTable)/sizeof(matchCostTable[0])
$3 = 2
(gdb) p sizeof(matchCostTable)
$4 = 8
We are currently working on revitalizing CGRAN, the current version is here https://gnuradio.org/cgran/ and just like the old CGRAN it parses OOT's manifest files to get its information. Feel free to modify stuff, I just copied whatever info I could find.
On Fedora 26 when gr-gsm is installed in /usr/local/lib in order to work
some paths have to be added to PYTHONPATH and LD_LIBRARY_PATH enviroment
variables
This fixes the following errors
ImportError: No module named grgsm
ImportError: No module named _grgsm_swig
ImportError: libgrgsm-0.41.3.so.0.0.0: cannot open shared object file: No such file or directory
- Override the GR_UNIQUE_TARGET function to not append a hash to the
target name.
- Add explicit dependency between pygen_apps and _grgsm_swig
The _grgs_swig needs to be built first because grcc evaluates and
verify all imports
- Test the parallel build in the docker containers as well