On 19/06/11 11:52, Jim Meyering wrote:
> I normally use automake built from the head of "master",
> but not long ago, it started failing like this:
> 
>     src/Makefile.am:141: error: `pkglibdir' is not a legitimate directory \
>       for `PROGRAMS'
> 
> That variable determines where we install libstdbuf.so.
> 
> One possibility is to change src/Makefile.am as below,
> but that would mean moving libstdbuf.so from
> $prefix/lib/coreutils/ to
> $prefix/libexec/coreutils/
> and adjusting stdbuf.c, and causing distros to adjust.
> 
> There's probably a less invasive change...
> 
> diff --git a/src/Makefile.am b/src/Makefile.am
> index 516e1e5..ef0e7a4 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -138,7 +138,7 @@ bin_PROGRAMS = $(OPTIONAL_BIN_PROGS)
> 
>  noinst_PROGRAMS = setuidgid getlimits
> 
> -pkglib_PROGRAMS = $(OPTIONAL_PKGLIB_PROGS)
> +pkglibexec_PROGRAMS = $(OPTIONAL_PKGLIB_PROGS)
> 
>  noinst_HEADERS =     \
>    chown-core.h               \
> --
> 1.7.6.rc2.4.g36bfb.dirty

Well I used lib/ rather that libexec/ because
we don't actually dlload and link against the lib, and
also if it was in /usr/lib/ then one can specify
the lib without full path to LD_PRELOAD.
Though I notice that on Fedora 15 this lib is
in /usr/lib64/coreutils so the latter point is moot.

The above change might not cause much issues for
distros at all?

cheers,
Pádraig.

Reply via email to