pgxn-utils icon indicating copy to clipboard operation
pgxn-utils copied to clipboard

Build Fails on Buster & Ruby 2.5.0

Open theory opened this issue 5 years ago • 1 comments

I don't know the Ruby stuff well enough to quickly fix this myself, but I assume it would be straightforward for a knowledgable Rubyist. Appears to be an issue with the JSON library build. Is there a dependency that needs to be updated?

root@ab6dd302b63b:/# gem install pgxn_utils
Fetching: diff-lcs-1.3.gem (100%)
Successfully installed diff-lcs-1.3
Fetching: mime-types-1.25.1.gem (100%)
Successfully installed mime-types-1.25.1
Fetching: grit-2.4.1.gem (100%)
Successfully installed grit-2.4.1
Fetching: highline-1.6.21.gem (100%)
Successfully installed highline-1.6.21
Fetching: multipart-post-1.1.5.gem (100%)
Successfully installed multipart-post-1.1.5
Fetching: rubyzip-0.9.9.gem (100%)
Successfully installed rubyzip-0.9.9
Fetching: thor-0.20.3.gem (100%)
Successfully installed thor-0.20.3
Fetching: json-1.6.8.gem (100%)
Building native extensions. This could take a while...
ERROR:  Error installing pgxn_utils:
	ERROR: Failed to build gem native extension.

    current directory: /var/lib/gems/2.5.0/gems/json-1.6.8/ext/json/ext/generator
/usr/bin/ruby2.5 -r ./siteconf20200613-4010-1x0nu63.rb extconf.rb
creating Makefile

current directory: /var/lib/gems/2.5.0/gems/json-1.6.8/ext/json/ext/generator
make "DESTDIR=" clean

current directory: /var/lib/gems/2.5.0/gems/json-1.6.8/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
In file included from generator.c:1:
../fbuffer/fbuffer.h: In function 'fbuffer_to_s':
../fbuffer/fbuffer.h:151:47: error: macro "rb_str_new" requires 2 arguments, but only 1 given
     VALUE result = rb_str_new(FBUFFER_PAIR(fb));
                                               ^
../fbuffer/fbuffer.h:151:20: warning: initialization of 'VALUE' {aka 'long unsigned int'} from 'VALUE (*)(const char *, long int)' {aka 'long unsigned int (*)(const char *, long int)'} makes integer from pointer without a cast [-Wint-conversion]
     VALUE result = rb_str_new(FBUFFER_PAIR(fb));
                    ^~~~~~~~~~
In file included from generator.c:2:
generator.c: In function 'cState_aref':
generator.h:96:27: warning: variable 'state' set but not used [-Wunused-but-set-variable]
     JSON_Generator_State *state;              \
                           ^~~~~
generator.c:632:5: note: in expansion of macro 'GET_STATE'
     GET_STATE(self);
     ^~~~~~~~~
generator.c: In function 'generate_json':
generator.c:800:25: error: 'rb_cFixnum' undeclared (first use in this function); did you mean 'mFixnum'?
     } else if (klass == rb_cFixnum) {
                         ^~~~~~~~~~
                         mFixnum
generator.c:800:25: note: each undeclared identifier is reported only once for each function it appears in
generator.c:802:25: error: 'rb_cBignum' undeclared (first use in this function); did you mean 'mBignum'?
     } else if (klass == rb_cBignum) {
                         ^~~~~~~~~~
                         mBignum
generator.c: In function 'isArrayOrObject':
generator.c:867:22: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
     return *p == '[' && *q == ']' || *p == '{' && *q == '}';
            ~~~~~~~~~~^~~~~~~~~~~~
make: *** [Makefile:243: generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in /var/lib/gems/2.5.0/gems/json-1.6.8 for inspection.
Results logged to /var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/json-1.6.8/gem_make.out

theory avatar Jun 13 '20 19:06 theory

Perhaps fixed in a1ad73f? Needs a release?

theory avatar Jun 13 '20 19:06 theory