Skip to content

Ruby 2.4.1 build failed on macOS Sierra 10.12.3 #1068

@wissamir

Description

@wissamir

Ruby 2.4.1 build fails on macOS Sierra 10.12.3, below the log I got

rbenv install 2.4.1
ruby-build: use openssl from homebrew
Downloading ruby-2.4.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.bz2
Installing ruby-2.4.1...

BUILD FAILED (OS X 10.12.3 using ruby-build 20170201)

Inspect or clean up the working tree at /var/folders/j2/90b3sd_j3fqcgc2yxp_wwc600000gq/T/ruby-build.20170326214012.36750
Results logged to /var/folders/j2/90b3sd_j3fqcgc2yxp_wwc600000gq/T/ruby-build.20170326214012.36750.log

Last 10 log lines:
../.././include/ruby/ruby.h:2166:6: note: expanded from macro 'rb_scan_args_count_block'
     rb_scan_args_count_end(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:2162:12: note: expanded from macro 'rb_scan_args_count_end'
    ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 warnings and 1 error generated.
make[2]: *** [ossl_x509store.o] Error 1
make[1]: *** [ext/openssl/all] Error 2
make: *** [build-ext] Error 2

cat /var/folders/j2/90b3sd_j3fqcgc2yxp_wwc600000gq/T/ruby-build.20170326214012.36750.log | grep -i error
checking for ERRORFUNC function attribute... x
checking for strerror... yes
	CFLAGS = -O3 -Wno-error=shorten-64-to-32  -pipe
compiling error.c
compiling regerror.c
compiling dataerror.c
ossl_x509store.c:175:16: error: member reference type 'int' is not a pointer
13 warnings and 1 error generated.
make[2]: *** [ossl_x509store.o] Error 1
make[1]: *** [ext/openssl/all] Error 2
make: *** [build-ext] Error 2

my openssl is the latest:

brew info openssl
openssl: stable 1.0.2k (bottled) [keg-only]
SSL/TLS cryptography library
https://openssl.org/
/usr/local/Cellar/openssl/1.0.2d_1 (1,638 files, 12.1M)
  Poured from bottle on 2015-07-13 at 20:46:23
/usr/local/Cellar/openssl/1.0.2k (1,696 files, 12M)
  Poured from bottle on 2017-02-03 at 07:32:39
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/openssl.rb
==> Dependencies
Build: makedepend ✘
==> Options
--universal
	Build a universal binary
--without-test
	Skip build-time tests (not recommended)
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include
For pkg-config to find this software you may need to set:
    PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig

brew upgrade openssl
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
bash-git-prompt                                              checkstyle                                                   idris

Error: openssl 1.0.2k already installed

Any suggestion?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions