fs icon indicating copy to clipboard operation
fs copied to clipboard

Unable to install fs on Redhat Linux 8.4

Open jordanFC opened this issue 3 years ago • 2 comments

I'm trying to install fs as a dependency for many other packages. Whenever I attempt this, I get the following error:

* installing *source* package ‘fs’ ...
** package ‘fs’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c init.cc -o init.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c id.cc -o id.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c file.cc -o file.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c path.cc -o path.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c fs.cc -o fs.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c link.cc -o link.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c utils.cc -o utils.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c dir.cc -o dir.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c getmode.cc -o getmode.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c error.cc -o error.o
g++ -std=gnu++14 -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c unix/getmode.cc -o unix/getmode.o
gcc -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c bsd/setmode.c -o bsd/setmode.o
gcc -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c bsd/strmode.c -o bsd/strmode.o
gcc -I"/opt/R/4.1.0/lib/R/include" -DNDEBUG -I./libuv-1.38.1/include -I. -pthread  -I/usr/local/include   -fpic  -g -O2  -c bsd/reallocarray.c -o bsd/reallocarray.o
(cd libuv-1.38.1 \
&& CC="gcc" CFLAGS="-g -O2  -I/usr/local/include -fpic -fvisibility=hidden" AR="ar" RANLIB="ranlib" LDFLAGS="-L/usr/local/lib" ./configure --quiet)
/@[a-zA-Z_][a-zA-Z_0-9]*@/build_os='linux-gnu'
sed: can't find label for jump to `uild_os='linux-gnu''
sed: can't find label for jump to `uild_os='linux-gnu''
make --directory=libuv-1.38.1 \
        HAVE_DTRACE=0
make[1]: Entering directory '/tmp/Rtmpk7rU1x/R.INSTALL7e1602f513939/fs/src/libuv-1.38.1'
make[1]: *** No targets.  Stop.
make[1]: Leaving directory '/tmp/Rtmpk7rU1x/R.INSTALL7e1602f513939/fs/src/libuv-1.38.1'
make: *** [Makevars:35: libuv-1.38.1/.libs/libuv.a] Error 2
ERROR: compilation failed for package ‘fs’

The installation source is fs_1.5.0.tar.gz. I can't seem to find the offending lines in the Makefile. Based on some googling/stack overflow, it seems this sed error is related to an improperly escaped / character but I'm not sure where to go to fix this.

Any help appreciated.

jordanFC avatar Jul 09 '21 21:07 jordanFC

I cannot reproduce this on centos 8.4, with R 4.1.2 from https://github.com/rstudio/r-builds and fs 1.5.1 currently on CRAN. Do you still have this issue?

gaborcsardi avatar Dec 08 '21 14:12 gaborcsardi

Similar on Ubuntu 20.04 with R 4.2.0 (from https://cdn.rstudio.com/r/ubuntu-2004/pkgs/r-4.2.0_1_amd64.deb). When installing fs, the config phase is expecting to find sed in /usr/bin/sed, not using the existent /bin/sed. My workaround was doing a soft link from the former to the latter. I got the clue because R shows a message that cannot find tar in /usr/bin/tar and instead is using /bin/tar.

victe avatar Apr 27 '22 10:04 victe