kindredgroup / puppet-forge-server

Private Puppet forge server supports local files and both v1 and v3 API proxies
69 stars 44 forks source link

Issues compiling PriorityQueue gem #78

Open TheMeier opened 4 years ago

TheMeier commented 4 years ago

puppet-forge-server uses https://rubygems.org/gems/lrucache wich uses https://rubygems.org/gems/PriorityQueue both look somewhat unmaintained. Compiling the latter on modern gcc seems to somewhat problematic:


compiling priority_queue.c
priority_queue.c: In function 'priority_node_free_recursively':
priority_queue.c:80:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
   80 |   priority_node* n1 = n;
      |   ^~~~~~~~~~~~~
priority_queue.c: In function 'link_nodes':
priority_queue.c:95:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
   95 |   priority_node* child = b1->child;
      |   ^~~~~~~~~~~~~
priority_queue.c: In function 'assert_pointers_correct':
priority_queue.c:210:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  210 |   priority_node *n1 = n->right;
      |   ^~~~~~~~~~~~~
priority_queue.c: In function 'consolidate_queue':
priority_queue.c:235:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  235 |   priority_node* n = NULL;
      |   ^~~~~~~~~~~~~
priority_queue.c: In function 'priority_queue_delete_min':
priority_queue.c:258:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  258 |   priority_node* min = q->min;
      |   ^~~~~~~~~~~~~
priority_queue.c: In function 'pq_mark_recursive':
priority_queue.c:459:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  459 |   priority_node* n1 = n->child;
      |   ^~~~~~~~~~~~~
priority_queue.c: In function 'pq_mark':
priority_queue.c:472:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  472 |   priority_node* n2 = n1;
      |   ^~~~~~~~~~~~~
priority_queue.c: In function 'pq_node2dot':
priority_queue.c:804:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  804 |   unsigned int i;
      |   ^~~~~~~~
At top level:
priority_queue.c:207:6: warning: 'assert_pointers_correct' defined but not used [-Wunused-function]
  207 | void assert_pointers_correct(priority_node* n) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby.h:33,
                 from priority_queue.c:24:
priority_queue.c: In function 'pq_node2dot':
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:1779:3: error: call to 'rb_varargs_bad_length' declared with attribute error:  argument length doesn't
match
 1779 |   rb_varargs_bad_length(argc, vargc)), \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:2474:6: note: in expansion of macro 'rb_varargs_argc_check'
 2474 |      rb_varargs_argc_check(rb_funcall_argc, rb_funcall_nargs), \
      |      ^~~~~~~~~~~~~~~~~~~~~
priority_queue.c:820:4: note: in expansion of macro 'rb_funcall'
  820 |    rb_funcall(Qnil, id_format, 4, rb_str_new2("NODE%i -> NODE%i;\n"),
      |    ^~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:1779:3: error: call to 'rb_varargs_bad_length' declared with attribute error:  argument length doesn't
match
 1779 |   rb_varargs_bad_length(argc, vargc)), \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:2474:6: note: in expansion of macro 'rb_varargs_argc_check'
 2474 |      rb_varargs_argc_check(rb_funcall_argc, rb_funcall_nargs), \
      |      ^~~~~~~~~~~~~~~~~~~~~
priority_queue.c:820:4: note: in expansion of macro 'rb_funcall'
  820 |    rb_funcall(Qnil, id_format, 4, rb_str_new2("NODE%i -> NODE%i;\n"),
      |    ^~~~~~~~~~
In function 'pq_node2dot',
    inlined from 'pq_node2dot' at priority_queue.c:817:7,
    inlined from 'pq_to_dot' at priority_queue.c:841:7:
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:1779:3: error: call to 'rb_varargs_bad_length' declared with attribute error:  argument length doesn't
match
 1779 |   rb_varargs_bad_length(argc, vargc)), \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:2474:6: note: in expansion of macro 'rb_varargs_argc_check'
 2474 |      rb_varargs_argc_check(rb_funcall_argc, rb_funcall_nargs), \
      |      ^~~~~~~~~~~~~~~~~~~~~
priority_queue.c:820:4: note: in expansion of macro 'rb_funcall'
  820 |    rb_funcall(Qnil, id_format, 4, rb_str_new2("NODE%i -> NODE%i;\n"),
      |    ^~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:1779:3: error: call to 'rb_varargs_bad_length' declared with attribute error:  argument length doesn't
match
 1779 |   rb_varargs_bad_length(argc, vargc)), \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:2474:6: note: in expansion of macro 'rb_varargs_argc_check'
 2474 |      rb_varargs_argc_check(rb_funcall_argc, rb_funcall_nargs), \
      |      ^~~~~~~~~~~~~~~~~~~~~
priority_queue.c:820:4: note: in expansion of macro 'rb_funcall'
  820 |    rb_funcall(Qnil, id_format, 4, rb_str_new2("NODE%i -> NODE%i;\n"),
      |    ^~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:1779:3: error: call to 'rb_varargs_bad_length' declared with attribute error:  argument length doesn't
match
 1779 |   rb_varargs_bad_length(argc, vargc)), \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:2474:6: note: in expansion of macro 'rb_varargs_argc_check'
 2474 |      rb_varargs_argc_check(rb_funcall_argc, rb_funcall_nargs), \
      |      ^~~~~~~~~~~~~~~~~~~~~
priority_queue.c:820:4: note: in expansion of macro 'rb_funcall'
  820 |    rb_funcall(Qnil, id_format, 4, rb_str_new2("NODE%i -> NODE%i;\n"),
      |    ^~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:1779:3: error: call to 'rb_varargs_bad_length' declared with attribute error:  argument length doesn't
match
 1779 |   rb_varargs_bad_length(argc, vargc)), \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:2474:6: note: in expansion of macro 'rb_varargs_argc_check'
 2474 |      rb_varargs_argc_check(rb_funcall_argc, rb_funcall_nargs), \
      |      ^~~~~~~~~~~~~~~~~~~~~
priority_queue.c:820:4: note: in expansion of macro 'rb_funcall'
  820 |    rb_funcall(Qnil, id_format, 4, rb_str_new2("NODE%i -> NODE%i;\n"),
      |    ^~~~~~~~~~
In function 'pq_node2dot',
    inlined from 'pq_to_dot' at priority_queue.c:841:7:
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:1779:3: error: call to 'rb_varargs_bad_length' declared with attribute error:  argument length doesn't
match
 1779 |   rb_varargs_bad_length(argc, vargc)), \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:2474:6: note: in expansion of macro 'rb_varargs_argc_check'
 2474 |      rb_varargs_argc_check(rb_funcall_argc, rb_funcall_nargs), \
      |      ^~~~~~~~~~~~~~~~~~~~~
priority_queue.c:820:4: note: in expansion of macro 'rb_funcall'
  820 |    rb_funcall(Qnil, id_format, 4, rb_str_new2("NODE%i -> NODE%i;\n"),
      |    ^~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:1779:3: error: call to 'rb_varargs_bad_length' declared with attribute error:  argument length doesn't
match
 1779 |   rb_varargs_bad_length(argc, vargc)), \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/cmaser/.rbenv/versions/2.5.3/include/ruby-2.5.0/ruby/ruby.h:2474:6: note: in expansion of macro 'rb_varargs_argc_check'
 2474 |      rb_varargs_argc_check(rb_funcall_argc, rb_funcall_nargs), \
      |      ^~~~~~~~~~~~~~~~~~~~~
priority_queue.c:820:4: note: in expansion of macro 'rb_funcall'
  820 |    rb_funcall(Qnil, id_format, 4, rb_str_new2("NODE%i -> NODE%i;\n"),
      |    ^~~~~~~~~~
priority_queue.c: At top level:
cc1: warning: unrecognized command line option '-Wno-self-assign'
cc1: warning: unrecognized command line option '-Wno-constant-logical-operand'
cc1: warning: unrecognized command line option '-Wno-parentheses-equality'
make: *** [Makefile:242: priority_queue.o] Error 1

make failed, exit code 2

Gem files will remain installed in /home/cmaser/GIT/TheMeier/puppet-forge-server/vendor/bundle/ruby/2.5.0/gems/PriorityQueue-0.1.2 for inspection.
Results logged to /home/cmaser/GIT/TheMeier/puppet-forge-server/vendor/bundle/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/PriorityQueue-0.1.2/gem_make.out

An error occurred while installing PriorityQueue (0.1.2), and Bundler cannot continue.
Make sure that `gem install PriorityQueue -v '0.1.2' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  puppet-forge-server was resolved to 1.10.1, which depends on
    lrucache was resolved to 0.1.4, which depends on
      PriorityQueue