discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] GNU Stow and make install (DESTDIR)


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] GNU Stow and make install (DESTDIR)
Date: Thu, 6 Jan 2011 14:52:28 -0500

On Thu, Jan 6, 2011 at 1:51 PM, Patrick Strasser
<address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]