New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Sage patches to R; fix build on Cygwin #22761
Comments
comment:2
Looks like the Cygwin aspect of this still needs work, as building rpy2 demonstrates for me. I'm not sure libR.dll is being installed in the correct place. |
comment:3
Nevermind, this seems to have more to do with rpy2 I think. |
comment:4
Sorry, I think it is this after all. I can't reproduce the problem on an older branch, and there were no changes to rpy2. I think it's probably an installation path issue with the new build changes to R. |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
Dependencies: #22627 |
New commits:
|
comment:10
Does not apply |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
comment:12
I think there was some weird disconnect between when I made this branch, and when #22627 was actually merged into develop... |
comment:14
Built for me okay on Cygwin. Off to the buildbots. |
Reviewer: Travis Scrimshaw |
Changed branch from u/embray/cleanup-r-patches to |
comment:16
Thanks! |
Changed commit from |
I regenerated some of the patches we maintain for R, from a repository based on R 3.3.3, the current version in Sage since #20523. So the new patches should apply more cleanly. I also updated a few of the patches slightly:
Updated
hardcoded_dirs.patch
so that it only takes action if$SAGE_LOCAL
is actually set. Otherwise it would set an invalid$R_HOME_DIR
. This was confusing for testing the validity of the patch set outside the context of Sage.The original
m4_macro_bug.patch
only patched the m4 script, but did not update theconfigure
script with the resulting changes.The patches for Cygwin were not being applied (see [#22627 comment:13]). This fixes that, but also reworks the original
cygwin.patch
in such a way that it doesn't break building on other platforms. Instead of trying to make a DLL import lib (libR.dll.a
) this relies on the fact that direct linking (see under "direct linking to a dll") tolibR.dll
was already working. And in fact trying to use the import lib didn't work immediately without patching rpy2.The reason it wasn't working seems to be some undocumented (that I can find) subtlety with symbol resolution in
ld
when direct linking to a DLL versus using an import lib. For some reason it's less fussy about-l
flag order when using direct linking. At any case, not using an import lib for R works in this case and simplifies the patches needed for Cygwin support.This fixes building R 3.3.3 on Cygwin.
Depends on #22627
CC: @jpflori @sagetrac-gouezel @tscrim
Component: packages: standard
Keywords: cygwin windows r
Author: Erik Bray
Branch:
6fb42c2
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/22761
The text was updated successfully, but these errors were encountered: