Skip to content

Commit 148dae3

Browse files
committed
[GR-30080] Do not capture libz.so by default in GraalVM release mode, rely on the system version.
PullRequest: fastr/2698
2 parents f87293a + 0dbfe99 commit 148dae3

File tree

5 files changed

+8
-11
lines changed

5 files changed

+8
-11
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# 22.1.0
22
* Improved performance of the `order` and `rank` builtin functions
3+
* FastR does not ship with its own copy of libz.so
4+
* System installation of this library becomes a requirement for FastR, but zlib is installed by default on MacOS and in most modern Linux distributions.
35
* Use JavaGD as the default graphical subsystem.
46
* Deprecate `--R.UseInternalGridGraphics` option.
57
* The FastR's graphical subsystem is now mostly compatible with GNU-R's, i.e., most functions from `graphics`, `grid`, and `grDevices` base packages are now supported.

com.oracle.truffle.r.native/gnur/Makefile.libs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,11 @@ LAPACK_SOURCE ?= $(BLAS_LAPACK_DIR)/libRlapack$(DYLIB_EXT)
4141
BLAS_TARGET := $(FASTR_LIB_DIR)/libRblas$(DYLIB_EXT)
4242
LAPACK_TARGET := $(FASTR_LIB_DIR)/libRlapack$(DYLIB_EXT)
4343

44-
# at a minimum we need to know where libpcre/libz/libgfortran/libquadmath are located,
44+
# at a minimum we need to know where libpcre/libgfortran/libquadmath are located,
4545
# to keep the Java side simpler, we (may) copy them to $(FASTR_LIB_DIR) unless
4646
# they were found in the standard system locations
4747
ifdef FASTR_RELEASE
48-
ifeq ($(OSNAME), Linux)
49-
FASTR_CAPTURE_DEPENDENCIES ?= pcre2-8 z gfortran quadmath gcc_s
50-
else ifeq ($(OSNAME), Darwin)
5148
FASTR_CAPTURE_DEPENDENCIES ?= pcre2-8 gfortran quadmath gcc_s
52-
else
53-
$(error OS $(OSNAME) is not supported)
54-
endif
5549
endif # FASTR_RELEASE
5650

5751
$(info ***** FastR Libraries configuration *****)

documentation/dev/build-process.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ to the corresponding FFI subdirectory (except the `managed` FFI).
143143
Then the dynamic library `libR` is built from the object files made in the previous step, which are stored into `lib`.
144144

145145
In the end, on Darwin, the installation paths of `libRblas.dylib`, `libRlapack.dylib` and `libR.dylib` are updated
146-
using `install_name_tool`. Also the paths of `libpcre2-8` and `libz` are updated using `mx.fastr/copylib.py updatelib` command (defined in `mx.fastr/mx_copylib.py`).
146+
using `install_name_tool`. Also the path of `libpcre2-8` is updated using `mx.fastr/copylib.py updatelib` command (defined in `mx.fastr/mx_copylib.py`).
147147

148148
#### Building `common` FFI
149149

documentation/dev/building.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ This can be controlled by the following environment variables:
2525
and must be used when you are building a GraalVM distribution (from the `graal/vm` mx suite),
2626
but it can be further configured by using the following environment variables:
2727
* `FASTR_NO_RECOMMENDED` set to any value turns off the recommended packages build and bundling with FastR. Only applicable if `FASTR_RELEASE` is set.
28-
* `FASTR_CAPTURE_DEPENDENCIES` if exported overrides the set of 3rd party libraries that are bundled with FastR, the value is space separated list of "base" names of the libraries, for example, use `gfortran`, for `libgfortran.so.5`. Libraries that can be bundled are: `libz`, `libpcre2-8`, `libgfortran`, `libquadmath`, and `libgcc_s`. Only applicable if `FASTR_RELEASE` is set.
28+
* `FASTR_CAPTURE_DEPENDENCIES` if exported overrides the set of 3rd party libraries that are bundled with FastR, the value is space separated list of "base" names of the libraries, for example, use `gfortran`, for `libgfortran.so.5`. Libraries that can be bundled are: `libpcre2-8`, `libgfortran`, `libquadmath`, and `libgcc_s`. Only applicable if `FASTR_RELEASE` is set.
2929

3030
Note for maintainers of packages for package managers like apt or yum: it is recommended to **not bundle** any 3rd party libraries with FastR, but instead use the dependency management mechanisms of your package manager. To achieve this, export `FASTR_BUNDLE_DEPENDENCIES` set to an empty value (and build FastR with `FASTR_RELEASE`).
3131

documentation/user/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ The R language home directory, which will be further referenced as `$R_HOME`, is
2727

2828
## Prerequisites
2929

30-
GraalVM's R runtime requires the [OpenMP runtime library](https://www.openmprtl.org/).
31-
The following commands should install this dependency:
30+
GraalVM's R runtime requires [zlib](https://zlib.net/) and the [OpenMP runtime library](https://www.openmprtl.org/).
31+
Zlib is default part of MacOS and most modern Linux distributions.
32+
The following commands should install the OpenMP runtime library:
3233

3334
* Ubuntu 18.04 and 19.10: `apt-get install libgomp1`
3435
* Oracle Linux 7 and 8: `yum install libgomp`

0 commit comments

Comments
 (0)