new and a few build questions

102 views
Skip to first unread message

Greg Troxel

unread,
Jul 24, 2016, 8:00:43 PM7/24/16
to gq...@googlegroups.com

I am new to gqrx. I am building it on NetBSD and am creating a
packaging entry in pkgsrc, a portable packaging system, and have a few
questions. I have built and run gqrx without hardware so far but I have
a nooelec dongle that I'll try soon.

pkgsrc intentionally hides dependencies from the build if they have not
been declared. This is a feature to get repeatable builds.

1) Boost

I see the gr-osmosdr needs boost-headers for including the osmosdr .h
files. That's fine and I have marked the gr-osmosdr as needing that.

gqrx is not documented (list in README.md) as needing boost-libs. It
seems likely that they are necessary, because I see some of this in the
cmakelist file.

My question: is the documentation wrong, and I should expect boost-libs
to be a dependency? Or is something gqrx is depending on inserting
boost libs into the link line, and I should be finding out which and
adding a boost libs dependency on that?

2) dongle libs

From a packaging dependency point of view, I want minimal dependencies,
and also not to have build options, which only really work when building
From source. I am guessing that most of the bulk in terms of build time
and code size is due to qt, and then gnuradio, and the dongle libs are
small. Therefore I probably should include all the ones that are
packaged in pkgsrc. Does that sound right?

3) QT version

I tried to build with qt4 4.8.7, and that failed. I switched to qt5
5.5.1, which built. The README.md says 4.7 or later, so I wonder if
I'm having a problem or if the documentation has not caught up to recent
changes.

tnx es 73 de n1dam

signature.asc

David Ranch

unread,
Jul 24, 2016, 8:52:34 PM7/24/16
to Gqrx SDR, g...@lexort.com

Hello Greg,

It might be helpful by looking at how I package things for Centos6 here:

   http://www.trinityos.com/HAM/CentosDigitalModes/hampacketizing-centos.html#42j2.gqrx-compiling

Chasing to the point, check out the spec file:

   http://www.trinityos.com/HAM/CentosDigitalModes/usr/src/redhat/SPECS/gqrx.spec


To your specific points:



gqrx is not documented (list in README.md) as needing boost-libs.   It
seems likely that they are necessary, because I see some of this in the
cmakelist file.

boost-libs is a packaging thing for your *NIX distribution.  Many times, you'll have to install a specific program (boost in this example), it's run-time libraries, and even the devel libraries before you can figure out what's needed where for your specific packaging system.  This is where the "ldd" program is super useful.  Here is the output for Centos Linux 6.8:
--
$ ldd /usr/bin/gqrx                                                                                                                                                         
        linux-vdso.so.1 =>  (0x00007fff58bcf000)                                                                                                                                                              
        libboost_system.so.1.54.0 => /usr/lib64/libboost_system.so.1.54.0 (0x0000003c79000000)                                                                                                                
        libboost_program_options.so.1.54.0 => /usr/lib64/libboost_program_options.so.1.54.0 (0x0000003c7ca00000)                                                                                              
        librt.so.1 => /lib64/librt.so.1 (0x0000003c72c00000)                                                                                                                                                  
        libpulse-simple.so.0 => /usr/lib64/libpulse-simple.so.0 (0x0000003c81000000)                                                                                                                          
        libpulse.so.0 => /usr/lib64/libpulse.so.0 (0x0000003c8c200000)                                                                                                                                        
        libgnuradio-analog-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-analog-3.7.9.2.so.0.0.0 (0x0000003385e00000)                                                                                            
        libvolk.so.1.2.2 => /usr/lib64/libvolk.so.1.2.2 (0x0000003383c00000)                                                                                                                                  
        libgnuradio-digital-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-digital-3.7.9.2.so.0.0.0 (0x0000003386200000)                                                                                          
        libgnuradio-filter-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-filter-3.7.9.2.so.0.0.0 (0x0000003385200000)                                                                                            
        libgnuradio-fft-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-fft-3.7.9.2.so.0.0.0 (0x0000003384800000)                                                                                                  
        libgnuradio-osmosdr-0.1.5git.so.0.0.0 => /usr/lib64/libgnuradio-osmosdr-0.1.5git.so.0.0.0 (0x0000003386a00000)                                                                                        
        libgnuradio-blocks-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-blocks-3.7.9.2.so.0.0.0 (0x0000003384c00000)                                                                                            
        libgnuradio-runtime-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-runtime-3.7.9.2.so.0.0.0 (0x0000003384000000)                                                                                          
        libgnuradio-pmt-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-pmt-3.7.9.2.so.0.0.0 (0x0000003384400000)                                                                                                  
        libQtGui.so.4 => /usr/lib64/libQtGui.so.4 (0x0000003c81800000)                                                                                                                                        
        libQtNetwork.so.4 => /usr/lib64/libQtNetwork.so.4 (0x0000003c7ce00000)                                                                                                                                
        libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x0000003c7c400000)                                                                                                                                      
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003c72000000)                                                                                                                                        
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003c76400000)                                                                                                                                      
        libm.so.6 => /lib64/libm.so.6 (0x0000003c71c00000)                                                                                                                                                    
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003c75000000)                                                                                                                                            
        libc.so.6 => /lib64/libc.so.6 (0x0000003c71800000)                                                                                                                                                    
        /lib64/ld-linux-x86-64.so.2 (0x0000003c71400000)                                                                                                                                                      
        libpulsecommon-0.9.21.so => /usr/lib64/libpulsecommon-0.9.21.so (0x0000003c8ca00000)                                                                                                                  
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000003c74400000)                                                                                                                                            
        libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003c7b000000)                                                                                                                                            
        libSM.so.6 => /usr/lib64/libSM.so.6 (0x0000003c7ac00000)                                                                                                                                              
        libXtst.so.6 => /usr/lib64/libXtst.so.6 (0x0000003c80800000)                                                                                                                                          
        libwrap.so.0 => /lib64/libwrap.so.0 (0x0000003c8be00000)                                                                                                                                              
        libsndfile.so.1 => /usr/lib64/libsndfile.so.1 (0x0000003c89800000)                                                                                                                                    
        libasyncns.so.0 => /usr/lib64/libasyncns.so.0 (0x0000003c8c600000)                                                                                                                                    
        libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x0000003c78000000)                                                                                                                                          
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003c72400000)                                                                                                                                                  
        libboost_date_time.so.1.54.0 => /usr/lib64/libboost_date_time.so.1.54.0 (0x0000003c7da00000)                                                                                                          
        libboost_filesystem.so.1.54.0 => /usr/lib64/libboost_filesystem.so.1.54.0 (0x0000003c7c000000)                                                                                                        
        libboost_thread.so.1.54.0 => /usr/lib64/libboost_thread.so.1.54.0 (0x0000003c7d600000)                                                                                                                
        liborc-0.4.so.0 => /usr/lib64/liborc-0.4.so.0 (0x0000003c78800000)                                                                                                                                    
        libfftw3f.so.3 => /usr/lib64/libfftw3f.so.3 (0x0000003c7e800000)                                                                                                                                      
        libfftw3f_threads.so.3 => /usr/lib64/libfftw3f_threads.so.3 (0x0000003c81400000)                                                                                                                      
        libgnuradio-iqbalance.so.0 => /usr/lib64/libgnuradio-iqbalance.so.0 (0x0000003385a00000)
        libgnuradio-fcd-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-fcd-3.7.9.2.so.0.0.0 (0x0000003386e00000)
        librtlsdr.so.0 => /usr/lib64/librtlsdr.so.0 (0x0000003c7f800000)
        libgnuradio-uhd-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-uhd-3.7.9.2.so.0.0.0 (0x0000003386600000)
        libuhd.so.003 => /usr/lib64/libuhd.so.003 (0x0000003c7e200000)
        libairspy.so.0 => /usr/lib64/libairspy.so.0 (0x0000003383800000)
        libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x0000003c73c00000)
        libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003c73400000)
        libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x0000003c75c00000)
        libz.so.1 => /lib64/libz.so.1 (0x0000003c72800000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x0000003c76000000)
        libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003c74000000)
        libXi.so.6 => /usr/lib64/libXi.so.6 (0x0000003c77000000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x0000003c76c00000)
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x0000003c77800000)
        libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x0000003c77c00000)
        libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x0000003c78400000)
        libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x0000003c77400000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x0000003c76800000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000003c75800000)
        libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003c7bc00000)
        libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003c79400000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000003c74800000)
        libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003c78c00000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003c84200000)
        libFLAC.so.8 => /usr/lib64/libFLAC.so.8 (0x0000003c89000000)
        libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x0000003c80400000)
        libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x0000003c87c00000)
        libogg.so.0 => /usr/lib64/libogg.so.0 (0x0000003c86400000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003c73800000)
        libosmodsp.so.0 => /usr/lib64/libosmodsp.so.0 (0x0000003c85200000)
        libgnuradio-audio-3.7.9.2.so.0.0.0 => /usr/lib64/libgnuradio-audio-3.7.9.2.so.0.0.0 (0x0000003385600000)
        libusb-1.0.so.0 => /usr/lib64/libusb-1.0.so.0 (0x0000003c7f000000)
        libasound.so.2 => /lib64/libasound.so.2 (0x0000003c86800000)
        libjack.so.0 => /usr/lib64/libjack.so.0 (0x0000003c7b400000)
        libportaudio.so.2 => /usr/lib64/libportaudio.so.2 (0x0000003c80000000)
        libboost_regex.so.1.54.0 => /usr/lib64/libboost_regex.so.1.54.0 (0x0000003c7d200000)
        libboost_unit_test_framework.so.1.54.0 => /usr/lib64/libboost_unit_test_framework.so.1.54.0 (0x0000003c7de00000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003c75400000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003c7b800000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003c7a800000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003c79800000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003c79c00000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000003c74c00000)
        libicuuc.so.42 => /usr/lib64/libicuuc.so.42 (0x0000003c7f400000)
        libicui18n.so.42 => /usr/lib64/libicui18n.so.42 (0x0000003c7fc00000)
        libicudata.so.42 => /usr/lib64/libicudata.so.42 (0x0000003c8ac00000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003c7a400000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003c7a000000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003c73000000)
--

 

My question: is the documentation wrong

No.. this is a unique situation to packaging.  The boost people don't care about how packages are built per se for different distros, OSes, etc.

 
, and I should expect boost-libs to be a dependency?

Probably

 
 Or is something gqrx is depending on inserting
boost libs into the link line, and I should be finding out which and
adding a boost libs dependency on that?

gr-osmosdr is NOT Gqrx.. it's an add-on package that GnuRadio + Gqrx can use to support other hardware devices.

 
2) dongle libs

From a packaging dependency point of view, I want minimal dependencies,
and also not to have build options, which only really work when building
From source.  I am guessing that most of the bulk in terms of build time
and code size is due to qt, and then gnuradio

Both Qt and GnuRadio are beasts but much of the HW support from GnuRadio, and then the various OSMOSDR packages.  Since you're compiling from scratch, you can have it any way you want but if you publish your package binaries or sources to make the packages, you might be doing others a disservice by disabling hardware support that they might need.

 
, and the dongle libs are
small.  Therefore I probably should include all the ones that are
packaged in pkgsrc.  Does that sound right?

Yes.. that's what I would recommend.

 

3) QT version

I tried to build with qt4 4.8.7, and that failed.  I switched to qt5
5.5.1, which built.   The README.md says 4.7 or later, so I wonder if
I'm having a problem or if the documentation has not caught up to recent
changes.

I have it working ok with Qt 4.8 but I bet 4.7 will work.  Post your Gqrx build issues against Qt 4.7 in a different thread and we'll try to get you going there.  To make sure you have all the required Qt programs and libraries installed first.

 --David
KI6ZHD

Alexandru Csete

unread,
Jul 25, 2016, 2:14:26 PM7/25/16
to gq...@googlegroups.com
On Mon, Jul 25, 2016 at 2:00 AM, Greg Troxel <g...@lexort.com> wrote:
>
> I am new to gqrx. I am building it on NetBSD and am creating a
> packaging entry in pkgsrc, a portable packaging system, and have a few
> questions.

Hi Greg,

I don't have much experience with BSD and definitely not with the
various flavors, but isn't there something here that you can reuse for
your own packaging:
https://www.freshports.org/comms/gqrx/

>
> 1) Boost
>
> I see the gr-osmosdr needs boost-headers for including the osmosdr .h
> files. That's fine and I have marked the gr-osmosdr as needing that.
>
> gqrx is not documented (list in README.md) as needing boost-libs. It
> seems likely that they are necessary, because I see some of this in the
> cmakelist file.
>
> My question: is the documentation wrong, and I should expect boost-libs
> to be a dependency? Or is something gqrx is depending on inserting
> boost libs into the link line, and I should be finding out which and
> adding a boost libs dependency on that?

Gqrx depends on libboost_system and libboost_program_options but these
are also required by gnuradio-core and gr-osmosdr.


> 2) dongle libs
>
> From a packaging dependency point of view, I want minimal dependencies,
> and also not to have build options, which only really work when building
> From source. I am guessing that most of the bulk in terms of build time
> and code size is due to qt, and then gnuradio, and the dongle libs are
> small. Therefore I probably should include all the ones that are
> packaged in pkgsrc. Does that sound right?

You should definitely include at least librtlsdr, libhackrf and
libairspy - these are all very small libraries. You can then add more
as users request it.
You can also check the others, perhaps they are not so big, although
as I recall both UHD and Bladerf require FPGA images which may be
quite large.

> 3) QT version
>
> I tried to build with qt4 4.8.7, and that failed. I switched to qt5
> 5.5.1, which built. The README.md says 4.7 or later, so I wonder if
> I'm having a problem or if the documentation has not caught up to recent
> changes.

I strongly recommend going with Qt 5.x
While I do my best to keep compatibility with Qt 4, it is becoming
increasingly painful and at some point we may just drop it and move on
with Qt 5 alone.

I hope this helps.

Alex

Greg Troxel

unread,
Jul 25, 2016, 8:15:15 PM7/25/16
to David Ranch, Gqrx SDR

David Ranch <dra...@gmail.com> writes:

> It might be helpful by looking at how I package things for Centos6 here:
>
> http://www.trinityos.com/HAM/CentosDigitalModes/hampacketizing-centos.html#42j2.gqrx-compiling
>
> Chasing to the point, check out the spec file:
>
> http://www.trinityos.com/HAM/CentosDigitalModes/usr/src/redhat/SPECS/gqrx.spec

Thanks - those are really useful.

>> gqrx is not documented (list in README.md) as needing boost-libs. It
>> seems likely that they are necessary, because I see some of this in the
>> cmakelist file.

> boost-libs is a packaging thing for your *NIX distribution.

Sorry, I should have spoken more generally. In pkgsrc, most libraries
are in a package with headers and libs together, vs the -devel split
common in Linux. But boost is split into multiple packages because it's
big, and we have boost-headers and boost-libraries.

So let me say:

gqrx is not documented as requiring any boost libraries.

and I see from Alexandru's note that it does actually need them.

>> Or is something gqrx is depending on inserting boost libs into the
>> link line, and I should be finding out which and adding a boost libs
>> dependency on that?
>
> gr-osmosdr is NOT Gqrx.. it's an add-on package that GnuRadio + Gqrx can
> use to support other hardware devices.

gnuradio-osmosdr (which I think is the human name for the code in the
gr-osmosdr git repo) is listed as a non-optional dependency. I realize
it's separate, but I'm trying to get all the expressed dependencies
correct in the packaging system.

>> 2) dongle libs
>>
>> From a packaging dependency point of view, I want minimal dependencies,
>> and also not to have build options, which only really work when building
>> From source. I am guessing that most of the bulk in terms of build time
>> and code size is due to qt, and then gnuradio
>
> Both Qt and GnuRadio are beasts but much of the HW support from GnuRadio,
> and then the various OSMOSDR packages. Since you're compiling from
> scratch, you can have it any way you want but if you publish your package
> binaries or sources to make the packages, you might be doing others a
> disservice by disabling hardware support that they might need.

Exactly. pkgsrc supports both source builds (since it covers many
operating systems, versions of them, and cpu types) but also the more
normal binary builds.

>> , and the dongle libs are
>> small. Therefore I probably should include all the ones that are
>> packaged in pkgsrc. Does that sound right?
>
> Yes.. that's what I would recommend.

Thanks. I'll do that.

>> 3) QT version
>>
>> I tried to build with qt4 4.8.7, and that failed. I switched to qt5
>> 5.5.1, which built. The README.md says 4.7 or later, so I wonder if
>> I'm having a problem or if the documentation has not caught up to recent
>> changes.
>
> I have it working ok with Qt 4.8 but I bet 4.7 will work. Post your Gqrx
> build issues against Qt 4.7 in a different thread and we'll try to get you
> going there. To make sure you have all the required Qt programs and
> libraries installed first.

I'll post, but it also sounds like 4 is on the verge of being
de-supported.

Thanks for the help and especially your giant writeup on all things
ham/digital, which seems very useful beyond gqrx.

73 de n1dam
signature.asc

Greg Troxel

unread,
Jul 25, 2016, 8:29:21 PM7/25/16
to Alexandru Csete, gq...@googlegroups.com

Alexandru Csete <oz9...@gmail.com> writes:

> I don't have much experience with BSD and definitely not with the
> various flavors, but isn't there something here that you can reuse for
> your own packaging:
> https://www.freshports.org/comms/gqrx/

Thanks; that seems useful.

>> My question: is the documentation wrong, and I should expect boost-libs
>> to be a dependency? Or is something gqrx is depending on inserting
>> boost libs into the link line, and I should be finding out which and
>> adding a boost libs dependency on that?
>
> Gqrx depends on libboost_system and libboost_program_options but these
> are also required by gnuradio-core and gr-osmosdr.

when building a package, pkgsrc hides libraries that aren't declared as
dependencies (to prevent autoconf from finding undeclared things that
happen to be installed and getting different results). So even though
the system has boost libs, they weren't available until I listed them.
I can submit a PR to add boost to the dependencies list with a note that
they are implied by gnuradio-core.

>> From a packaging dependency point of view, I want minimal dependencies,
>> and also not to have build options, which only really work when building
>> from source. I am guessing that most of the bulk in terms of build time
>> and code size is due to qt, and then gnuradio, and the dongle libs are
>> small. Therefore I probably should include all the ones that are
>> packaged in pkgsrc. Does that sound right?
>
> You should definitely include at least librtlsdr, libhackrf and
> libairspy - these are all very small libraries. You can then add more
> as users request it.
> You can also check the others, perhaps they are not so big, although
> as I recall both UHD and Bladerf require FPGA images which may be
> quite large.

gnuradio-uhd and uhd are 3.6M and 28M. qt is 79 MB and gnuradio-core is
64M. Probably I should include uhd then; as it is the size of gqrx and
all dependencies is 200 MB.

>> 3) QT version
>>
>> I tried to build with qt4 4.8.7, and that failed. I switched to qt5
>> 5.5.1, which built. The README.md says 4.7 or later, so I wonder if
>> I'm having a problem or if the documentation has not caught up to recent
>> changes.
>
> I strongly recommend going with Qt 5.x
> While I do my best to keep compatibility with Qt 4, it is becoming
> increasingly painful and at some point we may just drop it and move on
> with Qt 5 alone.

It sounds like my package should depend on 5.x, which is how I have it now.

So would you like me to:

put a note in my package that while the README.md says 4.7 or higher,
upstream says that 4.x is on the verge of being desupported and 5
should be used, or

post a build log showing failures from 4.7, or

both, or

somethihng else

> I hope this helps.

Thanks - definitely helpful.


I will be back for questions about sound. The readme says pulseaudio is
Linux only but I don't see why. Maybe that means not Mac; I already
have pulseaudio built and installed as a dependency of fldigi. So I
will add it, once I get things running.
signature.asc

David Ranch

unread,
Jul 25, 2016, 10:02:10 PM7/25/16
to Gqrx SDR, dra...@gmail.com, g...@lexort.com

Hello Greg,



Sorry, I should have spoken more generally.  In pkgsrc, most libraries
are in a package with headers and libs together, vs the -devel split
common in Linux.  But boost is split into multiple packages because it's
big, and we have boost-headers and boost-libraries.

Yeah.. some of the uber packages are BIG and it's difficult to be a minimalist with them.

 

  gqrx is not documented as requiring any boost libraries.

and I see from Alexandru's note that it does actually need them.

Ok, technically your right yet since gr-osmosdr and GnuRadio needs them, you'll still have to make sure they get built.

 
I'll post, but it also sounds like 4 is on the verge of being
de-supported.

Well, I'll have to keep begging and pleading with Alex to keep it supported until I upgrade to Centos7 or something newer as I'm stuck on 4.8 for now.

 
Thanks for the help and especially your giant writeup on all things
ham/digital, which seems very useful beyond gqrx.

Glad it's helpful!

--David
KI6ZHD

Alexandru Csete

unread,
Jul 26, 2016, 5:05:52 PM7/26/16
to gq...@googlegroups.com
On Tue, Jul 26, 2016 at 2:29 AM, Greg Troxel <g...@lexort.com> wrote:
>
> It sounds like my package should depend on 5.x, which is how I have it now.
>
> So would you like me to:
>
> put a note in my package that while the README.md says 4.7 or higher,
> upstream says that 4.x is on the verge of being desupported and 5
> should be used, or
>
> post a build log showing failures from 4.7, or
>
> both, or
>
> somethihng else

I have just tested the build with Qt 4.8 and it builds fine using the
qmake method. The cmake method requires Qt 5.
I can no longer test with Qt 4.7.

I have updated the readme to Qt 4.8 and added the info about cmake.

I would recommend using Qt 5 for packaging unless there are other
reasons to stay with Qt 4.8.

Alex

Greg Troxel

unread,
Jul 26, 2016, 7:36:38 PM7/26/16
to Alexandru Csete, gq...@googlegroups.com

Alexandru Csete <oz9...@gmail.com> writes:

> I have just tested the build with Qt 4.8 and it builds fine using the
> qmake method. The cmake method requires Qt 5.
> I can no longer test with Qt 4.7.

I was using cmake.

> I have updated the readme to Qt 4.8 and added the info about cmake.

Thanks. I have adjusted my packaging notes.

> I would recommend using Qt 5 for packaging unless there are other
> reasons to stay with Qt 4.8.

Not for me; I have adjusted to Qt 5.

Here is my makefile so far, in case anyone is curious.

----------------------------------------
# $NetBSD$

VERSION= 2.5.3

DISTNAME= gqrx-sdr-src-${VERSION}
CATEGORIES= ham
MASTER_SITES= ${MASTER_SITE_GITHUB:=csete/}
GITHUB_PROJECT= gqrx
GITHUB_RELEASE= v${VERSION}
EXTRACT_SUFX= .tar.xz
PKGNAME= gqrx-${VERSION}

MAINTAINER= g...@NetBSD.org
HOMEPAGE= http://gqrx.dk/
COMMENT= SDR GUI using GNU Radio
LICENSE= gnu-gpl-v3

WRKSRC= ${WRKDIR}/gqrx-sdr-${VERSION}
USE_CMAKE= yes
USE_LANGUAGES= c c++

## These dependencies are organized according to upstream's README
## at https://github.com/csete/gqrx rather than alphabetically.

# upstream's README.md does not document a dependency on boost libraries,
# probably because gnuradio-core depends on boost, but there is one.
.include "../../devel/boost-libs/buildlink3.mk"

# Upstream documents needing multiple gnuradio blocks. These do not
# obviously correspond to pkgsrc split package names, so we list the
# required blocks ahead of each gnuradio split package.
# core has runtime, analog, audio, blocks, fft, filter, pmt
.include "../../ham/gnuradio-core/buildlink3.mk"
# digital has digital
.include "../../ham/gnuradio-digital/buildlink3.mk"

# gr-iqbalance (optional) - not in pkgsrc

# These are drivers for particular hardware. They are smallish and
# therefore not optional. (Also, gr-osmosdr depends on them, so
# avoiding dependencies would not save space.)
.include "../../ham/gnuradio-fcd/buildlink3.mk"
.include "../../ham/gnuradio-uhd/buildlink3.mk"
.include "../../ham/gr-fcdproplus/buildlink3.mk"
.include "../../ham/rtl-sdr/buildlink3.mk"
.include "../../ham/osmo-sdr/buildlink3.mk"
.include "../../ham/hackrf/buildlink3.mk"

.include "../../ham/gr-osmosdr/buildlink3.mk"
.include "../../audio/pulseaudio/buildlink3.mk"

# Upstream documents that with qmake, 4.8 is needed, but the cmake
# build requires qt5. Upstream also outright recommends qt5.
.include "../../x11/qt5-qtbase/buildlink3.mk"
.include "../../x11/qt5-qtsvg/buildlink3.mk"

.include "../../mk/bsd.pkg.mk"

# Pointers to other packaging systems:
# https://www.freshports.org/comms/gqrx/
signature.asc
Reply all
Reply to author
Forward
0 new messages