diff options
author | Don Lewis <truckman@FreeBSD.org> | 2015-02-25 06:01:58 +0000 |
---|---|---|
committer | Don Lewis <truckman@FreeBSD.org> | 2015-02-25 06:01:58 +0000 |
commit | 5e342df15e34d353724ca53f8695613580ca3c6c (patch) | |
tree | fcaf359642ba271005a58b0364266a76fdce35cf /net | |
parent | Undo an unintended Makefile change that slipped in. (diff) |
Fix build breakage when libreoffice is installed.
The problem is that libreoffice installs its own copy of unopkg in
${PREFIX}/bin and that the openoffice build attempts to use this copy
of unopkg instead of the openoffice version which is in subdirectory
of ${WRKSRC}.
The reason is that the openoffice build expects to find its own copy
of unopkg by depending on having "." in its $PATH, but its $PATH has
${PREFIX}/bin before ".". Openoffice attempts to do the right thing
by first constructing $PATH by prepending "." and a small number of
other directories where it stashes executables used during the build
to the value of $PATH that it inherits from the environment. Things
go wrong when it tries to add the paths for ${CC}, perl, and java
to $PATH. If $PATH has /usr/bin before ${PREFIX}/bin, the openoffice
build finds the perl symlink in /usr/bin before it finds perl in
${PREFIX}/bin, so it prepends ${PREFIX}/bin to $PATH to try to ensure
that the correct version of perl will be found first. This moves
${PREFIX}/bin earlier in $PATH than ".".
The operation to put the path to ${CC} in $PATH has a different
problem. It uses the variable COMPATH for this, which is the dirname
of the patch to $CC, with the trailing /bin stripped off. That
results in /usr/local being added to $PATH, which is nonsensical,
though mostly harmless.
There are three fixes here:
* Always keep the parts of $PATH for the directories under ${WRKSRC},
including "." at the beginning of the path.
* Ignore symlinks to executables when deciding to prepend a directory
to the path.
* Append "/bin" when using COMPATH so that the result points to the
directory where ${CC} actually resides. There is actually another
variable CC_PATH, but it has an extra trailing "/", so it doesn't
match ${PREFIX}/bin.
PR: 195967
Differential Revision: https://reviews.freebsd.org/D1957
Approved by: mat (mentor)
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions