bug-coreutils
[Top][All Lists]
Advanced

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

Re: tail question


From: Bob Proulx
Subject: Re: tail question
Date: Wed, 21 Jan 2004 10:03:08 -0700
User-agent: Mutt/1.3.28i

Warren L Dodge wrote:
> I built coreutils-5.0 on solaris 2.51, solaris 8, and linux

Nice!  So now you have the same utilities available on all three of
those types of systems.

> On the two solaris systems the following command works.
> tail -1 file

You mean on solaris using which set of utilities?  My understanding is
that you now have three to choose from there.

  /usr/bin/tail
  /usr/xpg4/bin/tail
  /usr/local/bin/tail  # Wherever you installed the GNU version.

> As we work in a multi-platform environment it is important to remain
> compatible with the Solaris utilities. 

My understanding is that you need to set PATH=/usr/xpg4/bin:$PATH in
order to get the newer Solaris version of these programs.  But I don't
use Solaris so this is from references.  This is regardless of the GNU
versions.

But if you have the GNU versions installed then why not use them?  If
you need to use the native Solaris versions then why compile and
install the GNU versions?  There seems to be a basic conflict in
purpose there.

Note that I have a similar environment with HP-UX.  So I am quite
familiar with the issues.  But the implementation is a different one.

> If there are other areas of change I'd sure like to know.

As Alfred suggested:

  export _POSIX2_VERSION=199209

Alternately when you compile coreutils you can define it at compile
time like (off the top of my head)

  ./configure CPPFLAGS=-D_POSIX2_VERSION=199209

and this would permanently set the POSIX compliance version to the
older standard.  This is only needed if your C library does not
declare a standards level or you want to override the one it declares.
I think in your case it is not declaring one so coreutils defaults to
the newest standard.  Then with the option compiled in the environment
variable would not be needed.  In that case the environment variable
could be set to the newer standard 200112 to get the new behavior for
standards conformance.

  export _POSIX2_VERSION=200112

Bob




reply via email to

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