Bug 1610513 - GNU Radio build: disabled ZeroMQ, no controlport RPC backend (thrift), no Python docs (sphinx)
Summary: GNU Radio build: disabled ZeroMQ, no controlport RPC backend (thrift), no Pyt...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnuradio
Version: 28
Hardware: Unspecified
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Jaroslav Škarvada
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-07-31 19:25 UTC by Marcus Müller
Modified: 2019-01-17 02:16 UTC (History)
5 users (show)

Fixed In Version: gnuradio-3.7.13.4-3.fc29
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1601263
Environment:
Last Closed: 2019-01-17 02:16:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
My own gnuradio.spec (26.41 KB, text/plain)
2018-07-31 19:25 UTC, Marcus Müller
no flags Details

Description Marcus Müller 2018-07-31 19:25:40 UTC
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!

Comment 1 Jaroslav Škarvada 2018-08-10 14:38:31 UTC
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.

Comment 2 Jaroslav Škarvada 2018-08-10 14:46:02 UTC
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.

Comment 3 Vasil Velichkov 2018-08-31 16:43:41 UTC
Hi Jaroslav,

If possible please build with log4cpp support as well. You only need to add 'BuildRequires: log4cpp-devel' in the spec file.

Comment 4 Jaroslav Škarvada 2018-09-03 07:06:48 UTC
(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.

Comment 5 Fedora Update System 2019-01-10 11:44:22 UTC
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

Comment 6 Fedora Update System 2019-01-11 04:16:54 UTC
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

Comment 7 Fedora Update System 2019-01-17 02:16:07 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.