nealrichardson commented on pull request #8304: URL: https://github.com/apache/arrow/pull/8304#issuecomment-702983569
Current R Linux static build status (using shared libs for curl and openssl/crypto, provided by the system): * test-r-rhub-ubuntu-gcc-release (ubuntu 16.04, gcc 5.4.0): FAIL. C++ build with S3 succeeds but R package link error: `undefined symbol: __cpu_model` * test-r-rocker-r-base-latest (debian:testing, gcc 9.3.0): SUCCESS with S3 * test-r-rstudio-r-base-3.6-bionic (ubuntu 18.04, gcc 7.5.0): SUCCESS with S3 * test-r-rstudio-r-base-3.6-centos6 (gcc 8.3.1): FAIL because system openssl is stale: `Found unsuitable version "1.0.1e", but required is at least "1.0.2"` * test-r-rstudio-r-base-3.6-centos7 (gcc 4.8.5): SUCCESS *without S3* (gcc too old) * test-r-rstudio-r-base-3.6-centos8 (gcc 8.3.1): FAIL `(missing: OPENSSL_CRYPTO_LIBRARY) (found suitable version "1.1.1c", minimum required is "1.0.2")` * test-r-rstudio-r-base-3.6-opensuse15 (gcc 7.4.1): FAIL `(missing: OPENSSL_CRYPTO_LIBRARY) (found suitable version "1.1.0i", minimum required is "1.0.2")` * test-r-rstudio-r-base-3.6-opensuse42 (gcc 4.8): SUCCESS *without S3* (gcc too old) Summary: 2 success with S3, 2 successfully built without S3 because it detected that gcc was too old, 2 fail because they are finding openssl but not crypto for some reason, 1 fails because it has openssl but the version provided by the package manager is too old, one fails with `undefined symbol: __cpu_model` (a gcc 5 bug?). Among the reasons this is frustrating: * I've installed openssl but it says it can't find it (sometimes); I've installed it from the system package manager but it's still too old; these are both easily solvable by bundling openssl like we already do in the wheels, but I've gotten strong pushback on that. * I've tried to add logic in the R build script to detect whether we can build aws-sdk-cpp (https://github.com/apache/arrow/pull/8304/files#diff-3875fa5e75833c426b36487b25892bd8R370-R398) but that's apparently not enough to catch these deviant (yet common) cases. It would be nice to move this logic to cmake, an `ARROW_S3=PLEASE_IF_YOU_CAN` option: is there objection to that? * Given how fragile this is, I'm fearing the onslaught of bug reports after the release. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
