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

Compile problem with ruby preview 2.4.0 - possibly related to the upcoming Bignum/Fixnum change/unification #17

Closed
ghost opened this Issue Jun 24, 2016 · 1 comment

Comments

1 participant
@ghost

ghost commented Jun 24, 2016

Hello Aaron and others,

I have tried latest ruby 2.4.0-preview1. It may be not worth the
time to invest for previews - however had, perhaps even in the
final 2.4.0 release, this issue may persist, hence why I report
it.

Command (works perfectly fine on ruby 2.3.1 by the way):

gem install syck-1.1.0.gem

Building native extensions. This could take a while...

ERROR: Error installing syck-1.1.0.gem:
ERROR: Failed to build gem native extension.

current directory: /Programs/Ruby/2.4.0preview1/lib/ruby/gems/2.4.0/gems/syck-1.1.0/ext/syck
/Programs/Ruby/2.4.0preview1/bin/ruby -r ./siteconf20160624-21263-8tem4.rb extconf.rb

checking for st.h... yes
creating Makefile

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Programs/Ruby/2.4.0preview1/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0/syck-1.1.0/mkmf.log

current directory: /Programs/Ruby/2.4.0preview1/lib/ruby/gems/2.4.0/gems/syck-1.1.0/ext/syck
make "DESTDIR=" clean

current directory: /Programs/Ruby/2.4.0preview1/lib/ruby/gems/2.4.0/gems/syck-1.1.0/ext/syck
make "DESTDIR="
compiling bytecode.c
compiling emitter.c
compiling gram.c
compiling handler.c
compiling implicit.c
compiling node.c
compiling rubyext.c

The error appears to be:

rubyext.c: In function 'syck_resolver_transfer':
rubyext.c:1165:34: error: 'rb_cBignum' undeclared (first use in this function)
                 if ( subclass == rb_cBignum )
                              ^
rubyext.c:1165:34: note: each undeclared identifier is reported only once for 
each function it appears in make: *** [Makefile:241: rubyext.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Programs/Ruby/2.4.0preview1/lib/ruby/gems/2.4.0/gems/syck-1.1.0 for inspection.
Results logged to /Programs/Ruby/2.4.0preview1/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0/syck-1.1.0/gem_make.out

I am not sure why this error happens, perhaps because of the Bignum/Fixnum change? My C is
very weak but perhaps there may have to be a check added to see whether rb_cBignum is
available or not. But I am just guessing here really, anyway.

At any rate, this is just a small report, feel free to close it at any time.

Thanks!

@hsbt

This comment has been minimized.

Show comment
Hide comment
@hsbt

hsbt Jun 25, 2016

Member

@shevegen I fixed this at #18

Member

hsbt commented Jun 25, 2016

@shevegen I fixed this at #18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment