problem compiling R package processx
Markus Hoenicka
markus.hoenicka@mhoenicka.de
Wed Apr 29 12:19:50 GMT 2020
Hi,
I've installed Cygwin on a fresh Windows 10 system yesterday. R 3.6.3.1
runs ok, and installing some of the CRAN packages that I need also works
ok. Trying to install the processx package (current version 3.4.2)
throws a bunch of errors though:
$ R
[...]
> install.packages("processx")
[...]
* installing *source* package ‘processx’ ...
** Paket ‘processx’ erfolgreich entpackt und MD5 Summen überprüft
** using staged installation
** libs
gcc -ggdb -O2 -pipe -Wall -Werror=format-security
-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong
--param=ssp-buffer-size=4 -std=gnu99
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/build=/usr/src/debug/R-3.6.3-1
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/src/R-3.6.3=/usr/src/debug/R-3.6.3-1
-Wall tools/px.c -o tools/px
gcc -ggdb -O2 -pipe -Wall -Werror=format-security
-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong
--param=ssp-buffer-size=4 -std=gnu99
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/build=/usr/src/debug/R-3.6.3-1
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/src/R-3.6.3=/usr/src/debug/R-3.6.3-1
supervisor/supervisor.c supervisor/utils.c \
-o supervisor/supervisor
gcc -I"/usr/lib/R/include" -DNDEBUG -ggdb -O2 -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong
--param=ssp-buffer-size=4 -std=gnu99
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/build=/usr/src/debug/R-3.6.3-1
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/src/R-3.6.3=/usr/src/debug/R-3.6.3-1
-c base64.c -o base64.o
gcc -I"/usr/lib/R/include" -DNDEBUG -ggdb -O2 -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong
--param=ssp-buffer-size=4 -std=gnu99
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/build=/usr/src/debug/R-3.6.3-1
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/src/R-3.6.3=/usr/src/debug/R-3.6.3-1
-c client.c -o client.o
gcc -I"/usr/lib/R/include" -DNDEBUG -ggdb -O2 -pipe -Wall
-Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong
--param=ssp-buffer-size=4 -std=gnu99
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/build=/usr/src/debug/R-3.6.3-1
-fdebug-prefix-map=/cygdrive/d/cyg_pub/devel/R/R-3.6.3-1.x86_64/src/R-3.6.3=/usr/src/debug/R-3.6.3-1
-c errors.c -o errors.o
gcc -shared -L"/usr/lib/R/lib" -o client.dll base64.o client.o errors.o
/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
base64.o: in function `processx_base64_encode':
/tmp/RtmpyuAKvT/R.INSTALL2dfd356fee1/processx/src/base64.c:79: undefined
reference to `RAW'
/tmp/RtmpyuAKvT/R.INSTALL2dfd356fee1/processx/src/base64.c:79:(.text+0x14):
relocation truncated to fit: R_X86_64_PC32 against undefined symbol
`RAW'
/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
/tmp/RtmpyuAKvT/R.INSTALL2dfd356fee1/processx/src/base64.c:80: undefined
reference to `LENGTH'
/tmp/RtmpyuAKvT/R.INSTALL2dfd356fee1/processx/src/base64.c:80:(.text+0x1f):
relocation truncated to fit: R_X86_64_PC32 against undefined symbol
`LENGTH'
/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld:
/tmp/RtmpyuAKvT/R.INSTALL2dfd356fee1/processx/src/base64.c:82: undefined
reference to `Rf_allocVector'
[...and so forth...]
This makes me think that R does not properly pick up its own include
files in /lib/R/include/ as Rinternals.h seems to define the functions
or symbols that cause the errors above. The source file base64.c
includes Rinternals.h, that file exists, and it is readable. Did I miss
something?
regards,
Markus
--
Markus Hoenicka
http://www.mhoenicka.de
AQ score 38
More information about the Cygwin
mailing list