On Thu, Jan 6, 2011 at 1:51 PM, Patrick Strasser <patrick.stras...@student.tugraz.at> wrote: > Hello! > > I tried to install GNU Radio with GNU Stow. I'd like to have several > versions of GNU Radio that I can switch betwenn without rebuild. Stow > seems to help much in that scenario. And it does a clean uninstall even > if the build tree has changed since build. > > How install does _not_ work: > ============================ > > The Stow manual recommends[1]: > ---------------------------- > 6.1.2 Other FSF software > > The Free Software Foundation, the organization behind the GNU project, > has been unifying the build procedure for its tools for some time. > Thanks to its tools `autoconf' and `automake', most packages now respond > well to these simple steps, with no other intervention necessary: > > ./configure options > make > make install prefix=/usr/local/stow/package > > Hopefully, these tools can evolve to be aware of Stow-managed packages, > such that providing an option to `configure' can allow `make' and `make > install' steps to work correctly without needing to "fool" the build > process. > ---------------------------- > > Unfortnately libtool does not like this way of installing: > $ make install prefix=/usr/local/stow/package > [...] > test -z "/usr/local/stow/packag/lib" || /bin/mkdir -p > "/usr/local/stow/packag/lib" > /bin/bash ../../../libtool --mode=install /usr/bin/install -c > libgnuradio-core.la '/usr/local/stow/packag/lib' > libtool: install: error: cannot install `libgnuradio-core.la' to a > directory not ending in /usr/local/lib > [...] > > How install _does_ work: > ============================ > > You rather need to install with DESTDIR[2]: > > # full version > STOWDIR=/usr/local/stow > PACKAGE=gnuradio > VERSION=3.3git > PREFIX=/usr/local > ./configure --prefix=${PREFIX} > make > sudo make install DESTDIR=${STOWDIR}/${PACKAGE}-${VERSION} > stow -d ${STOWDIR} -t / ${PACKAGE}-${VERSION} > > Note: make install with DESTDIR installs everything with DESTDIR > prepended. If PREFIX=/usr/local/, and DESTDIR=/usr/local/stow/package, > files will end up under /usr/local/stow/package/usr/local/. Stow just > moves files out of DESTDIR to the target directory. This is why the > target has to be /- > > If you install to the standard paths, this can be simplified to > > # simple version > PACKAGE=gnuradio > VERSION=3.3 > ./configure > make > sudo make install DESTDIR=/usr/local/stow/${PACKAGE}-${VERSION} > sudo stow -d /usr/local -t / ${PACKAGE}-${VERSION} > > If you get conflicts you probably have an old package version installed. > You need to uninstall first. > > Uninstall: > ========== > > List your stow packages: > > STOWDIR=/usr/local/stow > ls $STOWDIR > > The name of the directory is the name of the package. > > Unstow the currently installed version: > > sudo stow -d $STOWDIR -t/ -D package > > [1] http://www.gnu.org/software/stow/manual.html#SEC8 > [2] http://www.gnu.org/prep/standards/standards.html#DESTDIR > ======================================== > > I hope this information can help others manage their GNU Radio > installations. > > Regards > > Patrick
Patrick, Thanks for the info! Tom _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio