We recently discovered that since R 3.3.0, on our CentOS 6 based cluster, R gets built without TIFF support. The last version where TIFF support was built, was 3.2.5.
We have libtiff 3.9.4 installed: $ rpm -q libtiff-devel libtiff-devel-3.9.4-21.el6_8.x86_64 (Since CentOS 6 is so old, we have manually installed newer versions of some dependencies: curl 7.46.0, zlib 1.2.8, bzip2 1.0.6, xz 5.2.2 and pcre 8.38.) We configure R like this: BLAS=--with-blas='-mkl=parallel' LAPACK=--with-lapack ./configure --prefix=$destdir "$BLAS" "$LAPACK" --enable-BLAS-shlib --enable-R-shlib (and build with Intel compilers.) The tiff-related output of the configure script in R 3.2.5 was $ grep -i tiff _log_3.2.5 checking tiffio.h usability... yes checking tiffio.h presence... yes checking for tiffio.h... yes checking for TIFFOpen in -ltiff... yes Additional capabilities: PNG, JPEG, TIFF, NLS, cairo Beginning with R 3.3.0, it was just $ grep -i tiff _log_3.3.0 Capabilities skipped: TIFF, ICU (This has been the output for all versions we've installed since 3.3.0.) I looked at the configure script, and in 3.2.5, the tests for libtiff starts like this (I've adjusted the indentation): if test "${use_libtiff}" = yes; then for ac_header in tiffio.h do : ac_fn_c_check_header_mongrel "$LINENO" "tiffio.h" "ac_cv_header_tiffio_h" "$ac_includes_default" if test "x$ac_cv_header_tiffio_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_TIFFIO_H 1 _ACEOF From 3.3.0 on, it starts like this (with indentation adjusted): if test "${use_libtiff}" = yes; then mod= ## pkg-config support was introduced in libtiff 4.0.0 ## I guess the module name might change in future, so ## program defensively here. if "${PKGCONF}" --exists libtiff-4; then mod=libtiff-4 fi if test -n "${mod}"; then save_CPPFLAGS=${CPPFLAGS} TIF_CPPFLAGS=`"${PKGCONF}" --cflags ${mod}` CPPFLAGS="${CPPFLAGS} ${TIF_CPPFLAGS}" for ac_header in tiffio.h do : ac_fn_c_check_header_mongrel "$LINENO" "tiffio.h" "ac_cv_header_tiffio_h" "$ac_includes_default" if test "x$ac_cv_header_tiffio_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_TIFFIO_H 1 _ACEOF And all the rest of the tests for libtiff are within the "if test -n "${mod}"; then" branch. As I read it, this means that if you don't have libtiff >= 4.0.0 installed, the tests for libtiff will not be run, and support for TIFF disabled. On the other hand, Appendix A.2 "Useful libraries and programs" in https://cran.r-project.org/doc/manuals/r-release/R-admin.html says "The bitmapped graphics devices jpeg(), png() and tiff() need the appropriate headers and libraries installed: jpeg (version 6b or later, or libjpeg-turbo) or libpng (version 1.2.7 or later) and zlib or libtiff (any recent version – 3.9.[4-7] and 4.0.[2-10] have been tested) respectively." which seems to imply that libtiff 3.9.4 should be fine. Is there a bug in the configure script, is the "R Installation and Administration" not up to date, or is it me that misunderstands something here? -- Regards, Bjørn-Helge Mevik
signature.asc
Description: PGP signature
______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel