Created attachment 1471915 [details] My own gnuradio.spec Description of problem: Version-Release number of selected component (if applicable): The Fedora SPEC file doesn't list the necessary components for building GNU Radio with * Sphinx (Python documentation) * ZeroMQ (networking blocks) * ControlPort thrift backend (the only backend for GNU Radio's RPC framework) and uses non-existent options for CMake. How reproducible: reliably: See end of CMake Output in https://kojipkgs.fedoraproject.org//packages/gnuradio/3.7.13.4/1.fc28/data/logs/x86_64/build.log Steps to Reproduce: Run `mock --rebuild` on the source package Actual results: disabled components, non-functional ctrlport, cmake complains about wrong options: ``` CMake Warning: Manually-specified variables were not used by the project: CMAKE_Fortran_FLAGS_RELEASE ENABLE-GR_COMEDI ENABLE_GRUEL ENABLE_GR_CORE INCLUDE_INSTALL_DIR LIB_INSTALL_DIR SHARE_INSTALL_PREFIX SYSCONF_INSTALL_DIR ``` Expected results: Full-featured GNU Radio build Additional info: the CMake options passed seem to be very off, many of them don't exist (or ceased to exist. Also, passing "FORCE" to enable a component that's missing dependencies doesn't work; component (luckily) stays disabled. For completeness, I'll list them here: `usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -DENABLE_GR_CORE=FORCE -DENABLE_PYTHON=FORCE -DENABLE_DOXYGEN=FORCE -DENABLE_VOLK=FORCE -DENABLE_GRUEL=FORCE -DENABLE_GR_AUDIO=FORCE -DENABLE_GR_ATSC=FORCE -DENABLE_GR_VOCODER=FORCE -DENABLE_GR_UHD=FORCE -DENABLE_GR_NOAA=FORCE -DENABLE_GR_PAGER=FORCE -DENABLE_GR_TRELLIS=FORCE -DENABLE_GR_VIDEO_SDL=FORCE -DENABLE_GR_WXGUI=FORCE -DENABLE_GR_UTILS=FORCE -DENABLE_GRC=FORCE -DENABLE-GR_COMEDI=FORCE -DENABLE_GR_FCD=FORCE -DSYSCONFDIR=/etc -DGR_PKG_DOC_DIR=/usr/share/doc/gnuradio .. ` * -DENABLE_GR_CORE=FORCE: GR_CORE doesn't exist since 3.7.0 * same for GRUEL (but I think a bit longer) * all these FORCE values to enable components don't actually do something – things are enabled if the dependencies are met (and will be disabled when they aren't: see ENABLE_GR_COMEDI=FORCE not actually do anything); maybe you wanted to *disable* unused components, but then you'd disable the auto-enabling, and then manually set them to "ON" (FORCE has no specific effect on clean builds over ON) I've rewritten the spec file a while back to have my own private builds. Maybe you want to copy/adapt: https://copr-be.cloud.fedoraproject.org/results/marcusmueller/gnuradio/fedora-28-x86_64/00777522-gnuradio/gnuradio.spec It contains all dependencies for all components (but gr-comedi) on F26 through F29, and makes as much as possible work on CentOS 7. I hope it helps you a bit!
Thanks, updated the spec. Regarding the FORCE, it has been used in e.g. gnuradio-3.6.5 i.e.: > #if the user set the var to force, we note this > if("${${var}}" STREQUAL "FORCE") > set(${var} ON) > set(var_force TRUE) > else() > set(var_force FALSE) > endif() It doesn't seem to be used now, so dropping.
Unfortunately I cannot enable thrift support, because python2 thrift support has been dropped in f29. I will enable it later when I switch the package to python3.
Hi Jaroslav, If possible please build with log4cpp support as well. You only need to add 'BuildRequires: log4cpp-devel' in the spec file.
(In reply to Vasil Velichkov from comment #3) > Hi Jaroslav, > > If possible please build with log4cpp support as well. You only need to add > 'BuildRequires: log4cpp-devel' in the spec file. OK NP. At the moment gnuradio doesn't build, because noarch gnuradio-doc is built differently on various arches, I need to investigate.
gr-hpsdr-1.2-5.fc29 gr-fcdproplus-3.7.2-0.5.rc1.20180618gite5ff8396.fc29 gr-air-modes-0-0.63.20160831git3bad1f5d.fc29 gnuradio-3.7.13.4-3.fc29 gr-iqbal-0.37.2-32.fc29 gr-rds-1.1.0-4.fc29 gr-osmosdr-0.1.4-14.20170221git2a2236cc.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-da38f3c2d1
gnuradio-3.7.13.4-3.fc29, gr-air-modes-0-0.63.20160831git3bad1f5d.fc29, gr-fcdproplus-3.7.2-0.5.rc1.20180618gite5ff8396.fc29, gr-hpsdr-1.2-5.fc29, gr-iqbal-0.37.2-32.fc29, gr-osmosdr-0.1.4-14.20170221git2a2236cc.fc29, gr-rds-1.1.0-4.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-da38f3c2d1
gnuradio-3.7.13.4-3.fc29, gr-air-modes-0-0.63.20160831git3bad1f5d.fc29, gr-fcdproplus-3.7.2-0.5.rc1.20180618gite5ff8396.fc29, gr-hpsdr-1.2-5.fc29, gr-iqbal-0.37.2-32.fc29, gr-osmosdr-0.1.4-14.20170221git2a2236cc.fc29, gr-rds-1.1.0-4.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.