Skip to content

Commit b30ea29

Browse files
author
Release Manager
committed
Trac #29486: cygwin: Do not use system R
For package `rpy2` (versions 2.8.x) there is an unresolved build failure on cygwin when using system R (`cygwin-standard`). This can be seen on the GitHub Actions workflow from #29403 but has also been reproduced locally. Details below. This ticket disables use of system R on cygwin. This should be reverted with the #29441 upgrade to more recent `rpy2` (python-3 only). ------- {{{ gcc -shared -Wl,--enable-auto-image-base -L/cygdrive/d/a/sage/sage/local/lib -Wl,-rpath,/cygdrive/d/a/sage/sage/local/lib build/temp.cygwin-3.1.4-x86_64-3.7/./rpy/rinterface/_rinterface.o -L/usr/lib/R/lib -L/cygdrive/d/a/sage/sage/local/lib/python3.7/config -L/usr/lib -Lbuild/temp.cygwin-3.1.4-x86_64-3.7 -L/usr/lib/R/lib -lreadline -lR -lpcre -llzma -lbz2 -lz -ltirpc -lrt -ldl -lm -liconv -licuuc -licui18n -lpython3.7m -lr_utils -o build/lib.cygwin-3.1.4-x86_64-3.7/rpy2/rinterface/_rinterface.cpython- 37m-x86_64-cygwin.dll -fopenmp /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc- cygwin/bin/ld: build/temp.cygwin-3.1.4-x86_64-3.7/libr_utils.a(r_utils.o): in function `rpy2_findfun': /tmp/pip-req-build-ymc5_3kd/./rpy/rinterface/r_utils.c:58: undefined reference to `Rf_findVarInFrame3' /tmp/pip-req-build- ymc5_3kd/./rpy/rinterface/r_utils.c:58:(.text+0xda): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Rf_findVarInFrame3' /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc- cygwin/bin/ld: build/temp.cygwin-3.1.4-x86_64-3.7/libr_utils.a(r_utils.o): in function `rpy2_list_attr': /tmp/pip-req-build-ymc5_3kd/./rpy/rinterface/r_utils.c:129: undefined reference to `ATTRIB' /tmp/pip-req-build- ymc5_3kd/./rpy/rinterface/r_utils.c:129:(.text+0x340): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ATTRIB' /usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc- cygwin/bin/ld: build/temp.cygwin-3.1.4-x86_64-3.7/libr_utils.a(r_utils.o): in function `rpy2_remove': /tmp/pip-req-build-ymc5_3kd/./rpy/rinterface/r_utils.c:152: undefined reference to `Rf_lang4' }}} Full logs can be downloaded at: - https://github.com/mkoeppe/sage/runs/572730287 The sage-local artifact that has been built can be downloaded at - https://github.com/mkoeppe/sage/suites/584124994/artifacts/4126694 Previous tickets: https://trac.sagemath.org/search?q=rpy2+cygwin&noquick jump=1&branch=on&milestone=on&ticket=on&wiki=on URL: https://trac.sagemath.org/29486 Reported by: mkoeppe Ticket author(s): Matthias Koeppe Reviewer(s): Dima Pasechnik
2 parents b61ae68 + 032eb86 commit b30ea29

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

build/pkgs/r/spkg-configure.m4

+16-10
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
SAGE_SPKG_CONFIGURE([r], [
22
m4_pushdef([SAGE_R_MINVER],["3.4.4"])
33
SAGE_SPKG_DEPCHECK([atlas openblas iconv readline bzip2 xz pcre curl], [
4-
PKG_CHECK_MODULES([R], [libR >= $SAGE_R_MINVER], [
5-
AC_PATH_PROG([R], [R])
6-
AS_IF([test "x$R" = x], [
7-
AC_MSG_NOTICE([R is not found])
8-
sage_spkg_install_r=yes
9-
], [
10-
dnl TODO: check that versions of R and libR match
11-
sage_spkg_install_r=no
12-
])
13-
], [sage_spkg_install_r=yes])
4+
AS_CASE([$host],
5+
[*-*-cygwin*], [
6+
dnl #29486: rpy2 2.8.x does not build against system R on cygwin.
7+
sage_spkg_install_r=yes
8+
], [
9+
PKG_CHECK_MODULES([R], [libR >= $SAGE_R_MINVER], [
10+
AC_PATH_PROG([R], [R])
11+
AS_IF([test "x$R" = x], [
12+
AC_MSG_NOTICE([R is not found])
13+
sage_spkg_install_r=yes
14+
], [
15+
dnl TODO: check that versions of R and libR match
16+
sage_spkg_install_r=no
17+
])
18+
], [sage_spkg_install_r=yes])
19+
])
1420
])
1521
m4_popdef([SAGE_R_MINVER])
1622
])

0 commit comments

Comments
 (0)