ports/51283: expat2 port fails to configure
Anton Berezin
tobez at tobez.org
Tue Apr 22 17:20:05 UTC 2003
The following reply was made to PR ports/51283; it has been noted by GNATS.
From: Anton Berezin <tobez at tobez.org>
To: Charles Swiger <cswiger at mac.com>
Cc: freebsd-gnats-submit at FreeBSD.org
Subject: Re: ports/51283: expat2 port fails to configure
Date: Tue, 22 Apr 2003 19:16:33 +0200
On Tue, Apr 22, 2003 at 09:40:16AM -0700, Charles Swiger wrote:
> Good call, Anton: I don't define $UNAME in /etc/make, but I do have
> it set in my shell startup scripts-- unsetting it is a valid
> workaround to the bug.
>
> That being said, I've been setting $UNAME to `uname -s` for about
> fifteen years for reasons which continue to be valid to me.
> ./configure should unset $UNAME if it can't deal with that being set
> to a reasonable value, or at least issue a warning.
I am not quite sure it is feasible. Configure script of a particular
port has very little to do with it. The actual culprit is the line
UNAME?= /usr/bin/uname
at /usr/ports/Mk/bsd.port.mk. ${UNAME} is being used by the ports
collection infrastructure to determine several important variables,
among them, ARCH and OSREL. Both of those are used by the
textproc/expat2 port, as well as by many other ports. In particular,
expat2 uses them to construct certain parameters then passed to the
configure script.
The majority (hopefully, all) of the binaries used by the ports
collection has corresponding make variables, for example LS, ID, FIND,
and so on. I am not sure that changing this practice to adjust to
habits of a single FreeBSD user is a good idea.
That said, there are several possible solutions for you.
One is to actually *define* a UNAME make variable to be /usr/bin/uname
in your /etc/make.conf. Due to the way make(1) operates, it will ignore
your shell UNAME variable in this case. In this way you will still have
UNAME to be whatever it is you like it to be in the SHELL, but not
inside makefiles.
Another possibility, which I do not personally like, is to modify
bsd.port.mk to use, for instance, UNAME_CMD instead of UNAME.
Please tell me whether the first solution is good enough for you, I'll
close this PR is this case. Otherwise, it should be assigned to
portmgr, and though I cannot speak for them, I am pretty sure that it
will be closed after a brief period without actually modifying
bsd.port.mk.
Cheers,
+Anton.
--
Perl is strongly typed, it just has very few types. -- Dan Sugalski
More information about the freebsd-ports-bugs
mailing list