Build errors

2,223 views
Skip to first unread message

Phil

unread,
Jul 29, 2012, 12:24:28 AM7/29/12
to gq...@googlegroups.com
Thank you for reading this.

At the risk of being jumped on I going to post my question again. Even a hint of how I might overcome the build errors would be most welcome.

These are the errors:

make: Entering directory `/home/phil/Download/qrx/gqrx-build-desktop-Qt_in_PATH_Release'

/usr/bin/qmake -spec /usr/lib/qt4/mkspecs/linux-g++ -o Makefile ../csete-gqrx-a613fed/gqrx.pro

fatal: Not a git repository (or any parent up to mount parent )

Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

Project ERROR: Package gnuradio-osmosdr not found

make: Leaving directory `/home/phil/Download/qrx/gqrx-build-desktop-Qt_in_PATH_Release'

make: *** [Makefile] Error 2

14:21:36: The process "/usr/bin/make" exited with code 2.

Error while building project gqrx (target: Desktop)

When executing build step 'Make'


Paul Warren

unread,
Jul 29, 2012, 8:21:34 AM7/29/12
to gq...@googlegroups.com
Hi there Phil,

That error message is complaining that it can't find the
gnuradio-osmosdr package. The easiest option to get this up and
running is to use the build-gnuradio script by doing the following:

mkdir build-gnuradio
cd build-gnuradio
wget http://www.sbrac.org/files/build-gnuradio
chmod +x ./build-gnuradio
./build-gnuradio -v

that installs all the necessary dependancies, and then build gnuradio,
along with gnuradio-osmosdr, some other bits and pieces.

Once that's done, you should be able to successfully build gqrx! by
downloading the source, which I guess you've already done, then run:

qmake
make
./gqrx

from within that source.

Hope that helps, and post back if you still have trouble!

Cheers
--
Paul
> --
> You received this message because you are subscribed to the Google Groups
> "Gqrx SDR" group.
> To post to this group, send email to gq...@googlegroups.com.
> To unsubscribe from this group, send email to
> gqrx+uns...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/gqrx/-/0h-jRlX360oJ.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>



--
Paul Warren
p dot a dot warren at gmail dot com
pawarren.blogspot.com

Phil

unread,
Jul 29, 2012, 10:47:43 PM7/29/12
to gq...@googlegroups.com
Thanks for your reply Paul, it's much appreciated.

I do have gnuradio working, as mentioned in an earlier post, and I even have a receiver (multimode) working so I must have all of the necessary files. My guess is that are not where Qt creator expects them to be. I have experimented with the pro file and receiver.h but without any success.

Can you think of any "tests" that I can run to sort this out?
 

Alexandru Csete

unread,
Jul 30, 2012, 2:18:18 AM7/30/12
to gq...@googlegroups.com
On Mon, Jul 30, 2012 at 4:47 AM, Phil <phill...@gmail.com> wrote:
> Thanks for your reply Paul, it's much appreciated.
>
> I do have gnuradio working, as mentioned in an earlier post, and I even have
> a receiver (multimode) working so I must have all of the necessary files. My
> guess is that are not where Qt creator expects them to be. I have
> experimented with the pro file and receiver.h but without any success.
>

Phil,

It's not gnuradio the build is complaining about, it is the gr-osmosdr
package (an external package that provides hardware drivers). Please
understand that we are guessing here since you have provided no
information about you system or your setup. Which linux are you using?
How did you install gnuradio and gr-osmosdr and yes, how did all this
end up in /usr/local/src ??? That's not the place for it to be. Which
hardware device do you have? And so on...

> Can you think of any "tests" that I can run to sort this out?

Assuming that you are using Ubuntu linux, I can only recommend that
you wipe your existing gnuradio installation and start using one of
the existing tutorials:
https://groups.google.com/d/topic/gqrx/qtfG1qbIn0s/discussion

Alex

Phil

unread,
Jul 30, 2012, 4:12:07 AM7/30/12
to gq...@googlegroups.com
Thank you Alex,

Maybe I've got the bull by the horns but I think I have all of the software installed that's needed, but then again maybe not.

I'm using an Ezcap DVB dongle and to get it working with the gnuradio multimode SDR receiver I had to install gr-osmosdr plus rtl-sdr, both from the osmocom site. I followed the instructions and installed them under /usr/local/src. So, I do have osmosdr_source_c.h which is the cause of one of the compile errors. As I said earlier, I suspect that it's not where QT creator expects it to be and my experimenting with the source files has not helped at all.

Mageia Linux is my choice of OS and it provides gnuradio companion. Installing that package provided many of the packages that were needed to get the multimode SDR receiver going. No doubt I would have saved myself a lot of grief if I had used Ubuntu but I've used Mageia, and it's predecessor, for about 15 years and I'm familiar with it.

I have read both of the installation tutorials that you have provided links to but I will read them again in case I've missed something.

I had expected a simple path change would have got things going but perhaps there's more to it. If you can think of anything that I should try then please let me know.

Alexandru Csete

unread,
Jul 30, 2012, 6:07:43 AM7/30/12
to gq...@googlegroups.com
Ok, if you chose to install to /usr/local/src then fine. It should
work without any changes to the source code or build files. I myself
have all gnuradio related stuff installed in various directories under
/opt/ and it works well (even multiple versions at the same time).

Qt -creator itself doesn't care about where gnuradio or gr-osmosdr is
installed. It uses pkg-config to find the libraries and headers. Thus
pkg-config must be told where to find these.

If you type "pkg-config --cflags --libs gnuradio-osmosdr" in a
terminal (without the quotes) what do you get?

It should print a lots of directories pointing to various places
within /usr/local/src/

For this to work it is required that /usr/local/src/lib/pkgconfig is
in the PKG_CONFIG_PATH environment setting, e.g.

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/src/lib/pkgconfig

The exact path depends on whether you have everythin installed in
/usr/local/src or you have them split out in separate subdirectories.

Alex
> --
> You received this message because you are subscribed to the Google Groups
> "Gqrx SDR" group.
> To post to this group, send email to gq...@googlegroups.com.
> To unsubscribe from this group, send email to
> gqrx+uns...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/gqrx/-/GkFDH2bYBkUJ.

Phil

unread,
Jul 30, 2012, 6:52:12 AM7/30/12
to gq...@googlegroups.com
OK Alex, this is how I have set the PKG_CONFIG_PATH,

gnuradio-osmsdr.pc is in /usr/local/src/gr-osmosdr/build so I have set the path as follows:

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/src/gr-osmosdr/build

pkg-config --cflags --libs gnuradio-osmosdr
-I/usr/local/include/osmosdr -I/usr/include/gnuradio  -L/usr/local/lib -lgnuradio-osmosdr -lgnuradio-core -lgruel -lfftw3f -lgsl -lgslcblas -lm

If I don't export the path as above then the path is empty. I think there is an error here somewhere.


On Sunday, July 29, 2012 2:24:28 PM UTC+10, Phil wrote:

Alexandru Csete

unread,
Jul 30, 2012, 7:14:04 AM7/30/12
to gq...@googlegroups.com
On Mon, Jul 30, 2012 at 12:52 PM, Phil <phill...@gmail.com> wrote:
> OK Alex, this is how I have set the PKG_CONFIG_PATH,
>
> gnuradio-osmsdr.pc is in /usr/local/src/gr-osmosdr/build so I have set the

Doesn't make sense!
Using the the standard build methods (cmake or autotools) the .pc file
should be installed under PREFIX/lib/pkgconfig/ where PREFIX is the
prefix you give the build script, in your case
/usr/local/src/gr-osmosdr (or /usr/local/src/gr-osmosdr/build - I
don't really understand that part).

> path as follows:
>
> export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/src/gr-osmosdr/build
>
> pkg-config --cflags --libs gnuradio-osmosdr
> -I/usr/local/include/osmosdr -I/usr/include/gnuradio -L/usr/local/lib
> -lgnuradio-osmosdr -lgnuradio-core -lgruel -lfftw3f -lgsl -lgslcblas -lm

Ok, this is where nothing makes any sense anymore. According to this
output you have gnuradio installed in /usr/ and gr-osmosdr installed
in /usr/local/ - how does that fit with /usr/local/src? Maybe you have
multiple versions installed?

Alex

Phil

unread,
Jul 30, 2012, 11:31:17 PM7/30/12
to gq...@googlegroups.com
Thanks again Alex,

It turns out that I do have multiple installations of gnuradio, one in /usr/ and the other in /usr/local. But only gnuradio and not multiple installations of the osmosdr files, they're under /usr/local/src.

This has occurred because of the trouble I had installing gnuradio in the first place and getting anything to work at all. In desperation I tried the Ubuntu install script which only installed some of the required files. I then resorted to installing the missing files manually and removing any multiples but I hadn't noticed that I have two copies of gnuradio.

I'll remove the gnuiradio files from /usr/ but I have the feeling that I'll still be in trouble.
 

Jasper Ragworth

unread,
Aug 1, 2012, 8:01:23 AM8/1/12
to gq...@googlegroups.com
If I were you, I would uninstall all gnuradio system packages [if applicable], search and destroy anything gnuradio related and then re-run the build-gnuradio script, then install the extra bits gqrx needs, then try installing gqrx again. It may strike you has inefficient to blow it all away and start again if it's partially working, but it's a lot more straightforward than trying to puzzle out where things have gone wrong and correct them. Of course, Step 1 in the preceding should read "take a backup"!

Phil

unread,
Aug 1, 2012, 10:10:51 PM8/1/12
to gq...@googlegroups.com
A good idea Jasper and one that I'd considered.

I can't use the build script on my system and that's what got me into trouble in the first place. I had run it a couple of times and ended up with some files installed twice in different locations and many missing. I ended up manually installing the missing files and eventually got gnuradio going but not Gqrx.

I have installed Kubuntu on an external drive but my laptop won't boot from an external drive even though I have set the boot priority to boot from an external drive first.

So, if I decide to switch over the Kubuntu where is the correct location for self compiled applications? I currently put everything into /usr/local/src. The Ubuntu tutorial for Gqrx simple states "mkdir sdr" but where /home or /opt maybe? If I'm going to switch to Ubuntu then I should do things the Ubuntu way.

Phil

unread,
Aug 1, 2012, 10:12:12 PM8/1/12
to gq...@googlegroups.com

Jasper Ragworth

unread,
Aug 2, 2012, 6:48:43 AM8/2/12
to gq...@googlegroups.com
Sorry, I misread you, thought you were using Ubuntu. I don't think there is a "correct" location for locally compiled stuff; I use /usr/local, Mr C. says he uses /opt, whatever you choose, I suggest you avoid anywhere that your package manager likes to put files [ie /usr] as that will inevitably cause confusion. You can of course test ubuntu in Virtualbox, but you will be likely to hit performance issues, if you can even get it working.


Phil

unread,
Aug 3, 2012, 1:36:29 AM8/3/12
to gq...@googlegroups.com


On Monday, July 30, 2012 8:07:43 PM UTC+10, Alexandru Csete wrote:
Ok, if you chose to install to /usr/local/src then fine. It should
work without any changes to the source code or build files. I myself
have all gnuradio related stuff installed in various directories under
/opt/ and it works well (even multiple versions at the same time).

Qt -creator itself doesn't care about where gnuradio or gr-osmosdr is
installed. It uses pkg-config to find the libraries and headers. Thus
pkg-config must be told where to find these.

If you type "pkg-config --cflags --libs gnuradio-osmosdr" in a
terminal (without the quotes) what do you get?

I've made some progress, I now get the following:

[root@localhost build (master)]# pkg-config --cflags --libs gnuradio-osmosdr-I/usr/local/include/osmosdr -I/usr/local/include/gnuradio -I/usr/local/include  -L/usr/local/lib -lgnuradio-osmosdr -lgnuradio-core -lgruel -lfftw3f -lm 

But gqrx qt creator still cannot find gnuradio-osmosdr and I still get "not a git repository" fatal error.


make: Entering directory `/home/phil/Download/qrx/gqrx-build-desktop-Qt_in_PATH_Release'

/usr/bin/qmake -spec /usr/lib/qt4/mkspecs/linux-g++ -o Makefile ../csete-gqrx-a613fed/gqrx.pro

fatal: Not a git repository (or any parent up to mount parent )

Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

Project ERROR: Package gnuradio-osmosdr not found

make: Leaving directory `/home/phil/Download/qrx/gqrx-build-desktop-Qt_in_PATH_Release'

make: *** [Makefile] Error 2

15:02:50: The process "/usr/bin/make" exited with code 2.

Alexandru Csete

unread,
Aug 3, 2012, 4:13:26 AM8/3/12
to gq...@googlegroups.com
On Fri, Aug 3, 2012 at 7:36 AM, Phil <phill...@gmail.com> wrote:

On Monday, July 30, 2012 8:07:43 PM UTC+10, Alexandru Csete wrote:
Ok, if you chose to install to /usr/local/src then fine. It should
work without any changes to the source code or build files. I myself
have all gnuradio related stuff installed in various directories under
/opt/ and it works well (even multiple versions at the same time).

Qt -creator itself doesn't care about where gnuradio or gr-osmosdr is
installed. It uses pkg-config to find the libraries and headers. Thus
pkg-config must be told where to find these.

If you type "pkg-config --cflags --libs gnuradio-osmosdr" in a
terminal (without the quotes) what do you get?

I've made some progress, I now get the following:

[root@localhost build (master)]# pkg-config --cflags --libs gnuradio-osmosdr-I/usr/local/include/osmosdr -I/usr/local/include/gnuradio -I/usr/local/include  -L/usr/local/lib -lgnuradio-osmosdr -lgnuradio-core -lgruel -lfftw3f -lm 


Looks good, although I assume there is a newline after "gnuradio-osmosdr" above ;-)
Do you have any particular reason for running the command as root instead of a regular user?
Please try it using the same user name as you use when running Qt Creator.

 
But gqrx qt creator still cannot find gnuradio-osmosdr and I still get "not a git repository" fatal error.

make: Entering directory `/home/phil/Download/qrx/gqrx-build-desktop-Qt_in_PATH_Release'

/usr/bin/qmake -spec /usr/lib/qt4/mkspecs/linux-g++ -o Makefile ../csete-gqrx-a613fed/gqrx.pro

fatal: Not a git repository (or any parent up to mount parent )

Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

Project ERROR: Package gnuradio-osmosdr not found

make: Leaving directory `/home/phil/Download/qrx/gqrx-build-desktop-Qt_in_PATH_Release'

make: *** [Makefile] Error 2

15:02:50: The process "/usr/bin/make" exited with code 2.

Error while building project gqrx (target: Desktop)

When executing build step 'Make'



Sorry, I really have no clue about the git error. It is an error reported by git and I have no idea why git is involved in the build process? Did you by accident configure Qt creator to do some git stuff before building?

Of course, I assume that you are working inside Qt Creator and not trying to use qmake etc. from the command line.
Does it make any difference if you start Qtcreator from the terminal, i.e. "qtcreator gqrx.pro" (without the quotes).

You can try to remove the csete-gqrx-a613fed directory and also the gqrx-build-desktop-Qt_in_PATH_Release  and make a fresh checkout using git:

git clone git://github.com/csete/gqrx.git gqrx.git

then cd to gqrx.git and load the gqrx.pro file using "
qtcreator gqrx.pro"

Alex

Phil

unread,
Aug 4, 2012, 12:59:49 AM8/4/12
to gq...@googlegroups.com
Looks good, although I assume there is a newline after "gnuradio-osmosdr" above ;-)

Yes, a bit of bad editing.


Do you have any particular reason for running the command as root instead of a regular user?
Please try it using the same user name as you use when running Qt Creator.

/usr/local/ has always been a directory that needs root permission to access and I've been in the habit, for the past 15 years, of becoming root whenever I need to do anything within the directory. I suppose old habits die hard. Anyway, the result is the same.
 
 
Sorry, I really have no clue about the git error. It is an error reported by git and I have no idea why git is involved in the build process? Did you by accident configure Qt creator to do some git stuff before building?

I've downloaded the latest Qt creator version from the Nokia site and the git error has disappeared but not the cannot find osmosdr error.
 
Of course, I assume that you are working inside Qt Creator and not trying to use qmake etc. from the command line.
Does it make any difference if you start Qtcreator from the terminal, i.e. "qtcreator gqrx.pro" (without the quotes).

No, not a bit.
 
You can try to remove the csete-gqrx-a613fed directory and also the gqrx-build-desktop-Qt_in_PATH_Release  and make a fresh checkout using git:

git clone git://github.com/csete/gqrx.git gqrx.git

then cd to gqrx.git and load the gqrx.pro file using "
qtcreator gqrx.pro"

Tried that too, but still no joy.

Thank you for your patience Alex. I just have to accept that gqrx is just not going to work for me under my present Linux.

Phil

Phil

unread,
Aug 4, 2012, 1:46:45 AM8/4/12
to gq...@googlegroups.com
Another reply to myself. Gqrx works and it works very well, thank you Alex.

Phil

Alexandru Csete

unread,
Aug 4, 2012, 4:05:21 PM8/4/12
to gq...@googlegroups.com
That's good news Phil, but do you know why it works?
Alex

Phil

unread,
Aug 4, 2012, 10:20:42 PM8/4/12
to gq...@googlegroups.com


On Sunday, August 5, 2012 6:05:21 AM UTC+10, Alexandru Csete wrote:
That's good news Phil, but do you know why it works?
Alex


Yes, and it's somewhat embarrassing to have to admit. I thought about what you said earlier and realised that I had set the package config path is my bash.rc file but was trying to build the code as root. A lesson learned and perhaps I should change the permission of /usr/local to allow a normal user to have write access?

Gqrx is an amazing piece of work. I wonder if you're going to continue work on the project?

Phil

Robin Gape

unread,
Aug 5, 2012, 5:54:31 AM8/5/12
to gq...@googlegroups.com
Phil,

the usual process for building software is something similar to (or like if you're under 40!):

0) cd to the source directory (as user)

1) ./configure (as user)

2) make (as user)

3) make install (as root)

Step 3 is the only time in the process where root access is required. (Use su, see http://wiki.mandriva.com/en/Docs/Basic_tasks/Being_root.)

Then, if one is going to tell the make script where to put the newly compiled software, the two usual locations are either:
a) /usr/local/bin, or

b) /opt
However, the defaults in the make script will usually put software in /usr/bin, which is generally acceptable, but trickier when it comes to removing, rather than installing, software. (The choice of where to put any software should be guided by the contents of the $PATH variable—echo $PATH will remind one what it currently is.)

The troubleshooting notes at http://www.linuxtutorialblog.com/post/troubleshooting-configure-make-and-make-install-tutorial may also be helpful.

Good luck with Linux. It is worth it in the end!

73

Robin, G8DQX
--
You received this message because you are subscribed to the Google Groups "Gqrx SDR" group.
To post to this group, send email to gq...@googlegroups.com.
To unsubscribe from this group, send email to gqrx+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/gqrx/-/avztAwmStH8J.

Alexandru Csete

unread,
Aug 5, 2012, 5:21:08 PM8/5/12
to gq...@googlegroups.com
On Sun, Aug 5, 2012 at 4:20 AM, Phil <phill...@gmail.com> wrote:


On Sunday, August 5, 2012 6:05:21 AM UTC+10, Alexandru Csete wrote:
That's good news Phil, but do you know why it works?
Alex


Yes, and it's somewhat embarrassing to have to admit. I thought about what you said earlier and realised that I had set the package config path is my bash.rc file but was trying to build the code as root. A lesson learned and perhaps I should change the permission of /usr/local to allow a normal user to have write access?

Ok, I just wanted to know if there was anything particular that needed to be done.
As Robin explained in his response there is no need to change permissions for /usr/local.
 

Gqrx is an amazing piece of work. I wonder if you're going to continue work on the project?

Sure, why not?
Gqrx is still very much work in progress, but I have to take a break every now and then to also work on other projects.

Alex

Elmo

unread,
Apr 27, 2015, 9:52:48 AM4/27/15
to gq...@googlegroups.com
Same Problem, what have you done to solve it?

Elmo

unread,
Apr 27, 2015, 9:54:30 AM4/27/15
to gq...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages