Building gr-uhd: .Tpo file not found/Permission denied

Hello!

I just tried to build gr-uhd, and got this error:

libtool: compile: g++ -DHAVE_CONFIG_H -I. -I…/…
-I/home/past/src/gnuradio/gnuradio-core/src/lib/runtime
-I/home/past/src/gnuradio/gnuradio-core/src/lib/general
-I/home/past/src/gnuradio/gnuradio-core/src/lib/general
-I/home/past/src/gnuradio/gnuradio-core/src/lib/gengen
-I/home/past/src/gnuradio/gnuradio-core/src/lib/gengen
-I/home/past/src/gnuradio/gnuradio-core/src/lib/filter
-I/home/past/src/gnuradio/gnuradio-core/src/lib/filter
-I/home/past/src/gnuradio/gnuradio-core/src/lib/missing
-I/home/past/src/gnuradio/gnuradio-core/src/lib/reed-solomon
-I/home/past/src/gnuradio/gnuradio-core/src/lib/viterbi
-I/home/past/src/gnuradio/gnuradio-core/src/lib/io
-I/home/past/src/gnuradio/gnuradio-core/src/lib/g72x
-I/home/past/src/gnuradio/gnuradio-core/src/lib/swig
-I/home/past/src/gnuradio/gnuradio-core/src/lib/hier
-I/home/past/src/gnuradio/gnuradio-core/src/lib/swig
-I/home/past/src/gnuradio/gruel/src/include
-I/home/past/src/gnuradio/gruel/src/include
-I/home/past/src/gnuradio/volk/include -I/usr/include
-I/usr/local/include -I/home/past/src/gnuradio/gr-uhd/lib -g -O2 -Wall
-Woverloaded-virtual -pthread -MT uhd_multi_usrp_source.lo -MD -MP -MF
.deps/uhd_multi_usrp_source.Tpo -c uhd_multi_usrp_source.cc -fPIC -DPIC
-o .libs/uhd_multi_usrp_source.o
uhd_multi_usrp_source.cc:187: fatal error: opening dependency file
.deps/uhd_multi_usrp_source.Tpo: Permission denied
compilation terminated.
make[3]: *** [uhd_multi_usrp_source.lo] Error 1
make[3]: Leaving directory `/home/past/src/gnuradio/gr-uhd/lib’

Seems like the file does not exist:
$ ls -1 gr-uhd/lib/.deps/
uhd_multi_usrp_sink.Plo
uhd_multi_usrp_source.Plo
uhd_single_usrp_sink.Plo
uhd_single_usrp_source.Plo

What I did:

Build UHD acording to the UHD Manual[1].

The UHD wiki[2] says I should take the “next” branch:
git branch --track next origin/next
git checkout next

Then I pulled the last changes:
git pull

Built gnuradio:

./bootstrap && ./configure --disable-gr-sounder --disable-gr-trellis
–disable-gr-video-sdl --disable-gr-radio-astronomy --disable-usrp2
–disable-gr-usrp2 --disable-gr-atsc --disable-gr-msdd6000
–disable-gr-gsm-fr-vocoder --disable-gr-noaa --disable-gr-pager
–disable-gr-radar-mono --disable-gr-gpio --disable-gr-cvsd-vocoder
–disable-gr-audio-jack --disable-gr-audio-oss
–disable-gr-audio-portaudio --disable-gr-gpio && make

configure did not report any errors AFAIKS. About gr-uhd it says:
checking for UHD… yes
Component gr-uhd passed configuration checks; building.

I googled for the error message, and found something about quoting
problems in automake 1.9[3], but the paths and filenames seem to be not
exotic or worth quoting.

What I use:

Ubuntu 10.10 Maverick amd64 with some mixed-in Debian unstable

$ libtool --version
ltmain.sh (GNU libtool) 2.2.6b

$ automake --version
automake (GNU automake) 1.11.1

$ git name-rev --name-only HEAD
next

$ git describe
v3.3.1git-831-gbb438e7

UHD version is
0001.20101231183142.b4d58f3
UHD:
$ git log |head -n 3
commit b4d58f3501596fdddf240d576d0b1b2cb5862892
Author: Nick F. [email protected]
Date: Fri Dec 31 10:31:42 2010 -0800

Maybe I’m on the wrong branch?

Regards

Patrick

[1]
http://www.ettus.com/uhd_docs/manual/html/build.html#build-instructions-unix
[2]
http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki/#Gnuradio-UHD
[3]
http://thread.gmane.org/gmane.comp.sysutils.automake.general/7661/focus=7670

Its nothing special, you probably just did sudo make command and got
something with root permission. Make sure that your user has permission
on all the files, worst case scenario, git clean and rebuild.

-josh

schrieb Josh B. on 2011-01-09 04:29:

Its nothing special, you probably just did sudo make command and got
something with root permission. Make sure that your user has permission
on all the files, worst case scenario, git clean and rebuild.

You are right, thanks.

For some strange reason gr-uhd/lib/.deps was owned by root:root. I think
I ran sudo make install when the tree was not built. This triggered a
regular build, wich started with ‘make dep’, wich generated root wowned
.dep-directories.

sudo make distclean
was the solution.

Regards
Patrick

On 01/09/2011 06:39 PM, Patrick S. wrote:

Regards
Patrick

That’s an extremely common mistake to make on Linux/Unix systems which
Windows
developers may never run into.

31 years as a Unix/Linux/BSD geek, and I still make that mistake
sometimes (particularly
late at night after 57-barjillion debug cycles).


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium