Bug 14798 - 'make install' fails if the pathname has a '+' in it
'make install' fails if the pathname has a '+' in it
Status: CLOSED FIXED
Product: R
Classification: Unclassified
Component: Installation
R 2.14.0
x86_64/x64/amd64 (64-bit) All
: P5 trivial
Assigned To: R-core
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-31 03:03 UTC by John Palmieri
Modified: 2012-02-10 16:51 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Palmieri 2012-01-31 03:03:39 UTC
On at least one linux box and one OS X box, running 'make prefix=/path/... install' fails if the path contains '+'.  Try it with 'make prefix=/tmp/one+two install', for example (after creating the directory /tmp/one+two).

On OS X, I see this error message:

mkdir /Applications/sage_builds/Lion/sage-5.0.beta1+/local/lib/R/share/texmf/tex
mkdir /Applications/sage_builds/Lion/sage-5.0.beta1+/local/lib/R/share/texmf/tex/latex
mkdir /Applications/sage_builds/Lion/sage-5.0.beta1+/local/lib/R/bin
sed: 1: "s+\(R_SHARE_DIR=\).*+\1 ...": bad flag in substitute command: '/'
make[4]: *** [install] Error 1
make[3]: *** [install] Error 1
make[2]: *** [install] Error 1

On linux, I see

mkdir -p -- /scratch/palmieri/one+two/lib64/R/share/texmf/bibtex/bst
mkdir -p -- /scratch/palmieri/one+two/lib64/R/share/texmf/tex/latex
make[1]: Leaving directory `/mnt/usb1/scratch/palmieri/r-2.14.0.p1/src/share'
make[1]: Entering directory `/mnt/usb1/scratch/palmieri/r-2.14.0.p1/src/src'
make[2]: Entering directory `/mnt/usb1/scratch/palmieri/r-2.14.0.p1/src/src/scripts'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
mkdir -p -- /scratch/palmieri/one+two/bin
mkdir -p -- /scratch/palmieri/one+two/lib64/R/bin
sed: -e expression #2, char 46: unknown option to `s'
make[2]: *** [install] Error 1
make[2]: Leaving directory `/mnt/usb1/scratch/palmieri/r-2.14.0.p1/src/src/scripts'
make[1]: *** [install] Error 1
make[1]: Leaving directory `/mnt/usb1/scratch/palmieri/r-2.14.0.p1/src/src'
make: *** [install] Error 1

It looks like the path name is not being properly escaped before an invocation of sed.