[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tr and automake
Re: tr and automake
Fri, 14 Oct 2005 09:35:41 +0200
* James Laird wrote on Tue, Oct 11, 2005 at 04:52:10PM CEST:
> On Tue, 11 Oct 2005, Ralf Wildenhues wrote:
> > * James Laird wrote on Mon, Oct 10, 2005 at 08:11:31PM CEST:
> > >
> > > My package (hdf.ncsa.uiuc.edu/HDF5) has historically tested that the tr
> > > utility works correctly at configure time. Apparently there are two
> > > kinds of tr which expect slightly different syntax for their input.
> > What are the exact differences? What does "the other tr" do in the test
> > you quoted?
> It's a difference in syntax. This is what I got from the sysadmin:
> > System V has historically implemented character ranges using
> > the syntax ``[c-c]'' instead of the ``c-c'' used by historic
> > as ``a\-z''. In order to get POSIX.2 behavior, the POSIX2
> > environment variable should be set, otherwise the historic
> > Svstem V behavior is gotten.
Ah, thanks, I didn't know that (and I really should've checked SUS
Can't you set POSIX2, as documented, instead of searching for "the other
tr"? *time passes* Nope, no go. Setting POSIX2 is not documented on
Solaris 9, nor does it work.
> > > We have now encountered a platform where setting the path to point to the
> > > "correct" tr confuses the path to some libraries that the compiler needs.
> > >
> > Let me guess: some w32 platform?
> Solaris 8, 9, and 10, actually.
> > In general, two differences between execution from within `configure'
> > and outside are likely candidates for different behavior: setting of
> > PATH, and locale settings. Just FYI.
> Right. Our problem isn't with configure finding one tr and the user
> finding another, but with configure expecting one tr and the PATH being
> set to point to another. Setting the PATH to point to the "correct" tr
> works on most platforms, but this time it also confused the path to
> something else, so we're looking for a better solution.
> You're right; I think the macros in question may come from libtool rather
> than automake. They seem to be setting sys_lib_search_path_spec.
Now, I can't reproduce this. We only use `tr' in a couple of
situations, on a couple of systems, and so far I had thought this to be
safe. Which libtool version is this (./libtool --version, or look into
Can you post some output that demonstrates the breakage?
(Like: `configure' output, config.log, or even `sh -x configure' output)
> Sorry if my explanation left a little to be desired; I'm trying to
> maintain legacy tests on a platform that I personally don't have access
> to. :)
Well, I can test on Solaris 9 if I know exactly what to look for
(which hdf version, autotools versions, can I just try a tarball from
> The symptom of the problem is that the test (included below) fails.
> Commenting out the test and using the "wrong" version of tr (the two
> versions are explained above) may or may not have repercussions; the build
> had a few odd issues but succeeded, but some issues were expected since it
> was a new platform.
Hmm, where does this test originate from? Ahh, hdf/configure.in, ok.
I don't like the test too much, here's why:
- if it turns out we need to choose one of several available `tr'
programs, it would be better to set a variable `TR' with the correct
one, and use that throughout,
- the former also can be modified to allow the user to override the
- for general usability, macros that fail as the negative case should
accept an optional argument to override this. Other packages may just
want to see if a decent `tr' is available, or not need it in all
> At any rate, since we know there are two different versions of tr, we'd
> like to enforce that users have the same tr utility that we test with; we
> have a test to enforce this, but can't change the tests in aclocal.m4 that
> we didn't write (and which apparently came from libtool?).
> Should I just forward this conversation to a libtool list rather than an
> automake list?
I'm not convinced yet that this is a libtool issue. We can still move