Navigation Menu

Skip to content
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

mini_ssl.c failure for warnings - error: old-style function definition "ubuntu-20.04 head" #2806

Closed
olleolleolle opened this issue Jan 25, 2022 · 0 comments · Fixed by #2807

Comments

@olleolleolle
Copy link
Contributor

olleolleolle commented Jan 25, 2022

Describe the bug

There are warnings emitted during mini_ssl.c build, on some versions of Ruby.

  • ext/puma_http11/mini_ssl.c:53:5 error: old-style function definition [-Werror=old-style-definition]
  • Also ext/puma_http11/mini_ssl.c: At top level:
    • cc1: error: unrecognized command line option ‘-Wno-self-assign’ [-Werror]
    • cc1: error: unrecognized command line option ‘-Wno-parentheses-equality’ [-Werror]
    • cc1: error: unrecognized command line option ‘-Wno-constant-logical-operand’ [-Werror]
    • cc1: error: unrecognized command line option ‘-Wno-cast-function-type’ [-Werror]

While running tests for an unimportant typo, I noted a mini_ssl.c failure for https://github.com/puma/puma/runs/4934881239?check_suite_focus=true

/home/runner/.rubies/ruby-head/bin/ruby -I. -r.rake-compiler-siteconf.rb ../../../../ext/puma_http11/extconf.rb
mkdir -p tmp/x86_64-linux/puma_http11/3.2.0
cd tmp/x86_64-linux/puma_http11/3.2.0
using OpenSSL pkgconfig (openssl.pc)
checking for openssl/bio.h... yes
checking for DTLS_method() in openssl/ssl.h... yes
checking for TLS_server_method() in openssl/ssl.h... yes
checking for SSL_CTX_set_min_proto_version(NULL, 0) in openssl/ssl.h... yes
checking for X509_STORE_up_ref()... yes
checking for SSL_CTX_set_ecdh_auto(NULL, 0) in openssl/ssl.h... yes
checking for SSL_get1_peer_certificate() in openssl/ssl.h... no
checking for Random.bytes... yes
checking for whether -Werror is accepted as CFLAGS... yes
checking for whether -Wno-implicit-fallthrough is accepted as CFLAGS... yes
creating Makefile
/usr/bin/make
cd -
cd tmp/x86_64-linux/puma_http11/3.2.0
compiling ../../../../ext/puma_http11/http11_parser.c
compiling ../../../../ext/puma_http11/mini_ssl.c
../../../../ext/puma_http11/mini_ssl.c: In function ‘get_dh2048’:
../../../../ext/puma_http11/mini_ssl.c:53:5: error: old-style function definition [-Werror=old-style-definition]
   53 | DH *get_dh2048() {
      |     ^~~~~~~~~~
../../../../ext/puma_http11/mini_ssl.c: At top level:
cc1: error: unrecognized command line option ‘-Wno-self-assign’ [-Werror]
cc1: error: unrecognized command line option ‘-Wno-parentheses-equality’ [-Werror]
cc1: error: unrecognized command line option ‘-Wno-constant-logical-operand’ [-Werror]
cc1: all warnings being treated as errors
make: *** [Makefile:246: mini_ssl.o] Error 1
rake aborted!
Command failed with status (2): [/usr/bin/make...]
/home/runner/work/puma/puma/vendor/bundle/ruby/3.2.0/gems/rake-compiler-1.1.9/lib/rake/extensiontask.rb:181:in `block (2 levels) in define_compile_tasks'
/home/runner/work/puma/puma/vendor/bundle/ruby/3.2.0/gems/rake-compiler-1.1.9/lib/rake/extensiontask.rb:180:in `block in define_compile_tasks'
/home/runner/work/puma/puma/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/home/runner/.rubies/ruby-head/bin/bundle:25:in `load'
/home/runner/.rubies/ruby-head/bin/bundle:25:in `<main>'
Tasks: TOP => compile => compile:x86_64-linux => compile:puma_http11:x86_64-linux => copy:puma_http11:x86_64-linux:3.2.0 => tmp/x86_64-linux/puma_http11/3.2.0/puma_http11.so
(See full trace by running task with --trace)

Puma config:

See link above.

To Reproduce

See link above - the "rake build" step.

Expected behavior

Green build.

Desktop (please complete the following information):

  • OS: ubuntu-20.04
  • Puma Version: main
@olleolleolle olleolleolle changed the title mini_ssl.c failure for error: old-style function definition "ubuntu-20.04 head" mini_ssl.c failure for warnings - error: old-style function definition "ubuntu-20.04 head" Jan 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant