Skip to content
This repository was archived by the owner on Nov 14, 2019. It is now read-only.
This repository was archived by the owner on Nov 14, 2019. It is now read-only.

Fails to compile with newer library versions (libssl?) #53

@spang

Description

@spang

I'm trying to compile brubeck on Debian Sid with the following library versions:

➜  brubeck git:(master) ✗ dpkg -l libmicrohttpd-dev libjansson-dev libssl-dev gcc
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                    Version                  Architecture             Description
+++-=======================================-========================-========================-====================================================================================
ii  gcc                                     4:6.1.1-1                amd64                    GNU C compiler
ii  libjansson-dev:amd64                    2.7-5                    amd64                    C library for encoding, decoding and manipulating JSON data (dev)
ii  libmicrohttpd-dev                       0.9.51-1                 amd64                    library embedding HTTP server functionality (development)
ii  libssl-dev:amd64                        1.1.0b-2                 amd64                    Secure Sockets Layer toolkit - development files

It fails to compile with this error:

➜  brubeck git:(master) ✗ ./script/bootstrap
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/backend.c -o src/backend.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/backends/carbon.c -o src/backends/carbon.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/bloom.c -o src/bloom.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/city.c -o src/city.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/histogram.c -o src/histogram.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/ht.c -o src/ht.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/http.c -o src/http.o
src/http.c: In function ‘expire_metric’:
src/http.c:67:3: warning: ‘MHD_create_response_from_data’ is deprecated: MHD_create_response_from_data() is deprecated, use MHD_create_response_from_buffer() [-Wdeprecated-declarations]
   return MHD_create_response_from_data(
   ^~~~~~
In file included from src/http.c:4:0:
/usr/include/microhttpd.h:2079:1: note: declared here
 MHD_create_response_from_data (size_t size,
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/http.c: In function ‘send_metric’:
src/http.c:100:3: warning: ‘MHD_create_response_from_data’ is deprecated: MHD_create_response_from_data() is deprecated, use MHD_create_response_from_buffer() [-Wdeprecated-declarations]
   return MHD_create_response_from_data(
   ^~~~~~
In file included from src/http.c:4:0:
/usr/include/microhttpd.h:2079:1: note: declared here
 MHD_create_response_from_data (size_t size,
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/http.c: In function ‘send_stats’:
src/http.c:177:2: warning: ‘MHD_create_response_from_data’ is deprecated: MHD_create_response_from_data() is deprecated, use MHD_create_response_from_buffer() [-Wdeprecated-declarations]
  return MHD_create_response_from_data(
  ^~~~~~
In file included from src/http.c:4:0:
/usr/include/microhttpd.h:2079:1: note: declared here
 MHD_create_response_from_data (size_t size,
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/http.c: In function ‘send_ping’:
src/http.c:210:2: warning: ‘MHD_create_response_from_data’ is deprecated: MHD_create_response_from_data() is deprecated, use MHD_create_response_from_buffer() [-Wdeprecated-declarations]
  return MHD_create_response_from_data(
  ^~~~~~
In file included from src/http.c:4:0:
/usr/include/microhttpd.h:2079:1: note: declared here
 MHD_create_response_from_data (size_t size,
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/http.c: In function ‘handle_request’:
src/http.c:244:3: warning: ‘MHD_create_response_from_data’ is deprecated: MHD_create_response_from_data() is deprecated, use MHD_create_response_from_buffer() [-Wdeprecated-declarations]
   response = MHD_create_response_from_data(
   ^~~~~~~~
In file included from src/http.c:4:0:
/usr/include/microhttpd.h:2079:1: note: declared here
 MHD_create_response_from_data (size_t size,
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/internal_sampler.c -o src/internal_sampler.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/log.c -o src/log.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/metric.c -o src/metric.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/sampler.c -o src/sampler.o
gcc -g -Wall -O3 -Wno-strict-aliasing -Isrc -Ivendor/ck/include -DNDEBUG=1 -DGIT_SHA=\"dad4b3b\" -DBRUBECK_HAVE_MICROHTTPD -c src/samplers/statsd-secure.c -o src/samplers/statsd-secure.o
src/samplers/statsd-secure.c: In function ‘statsd_secure__thread’:
src/samplers/statsd-secure.c:101:11: error: storage size of ‘ctx’ isn’t known
  HMAC_CTX ctx;
           ^~~
src/samplers/statsd-secure.c:111:2: warning: implicit declaration of function ‘HMAC_CTX_init’ [-Wimplicit-function-declaration]
  HMAC_CTX_init(&ctx);
  ^~~~~~~~~~~~~
src/samplers/statsd-secure.c:152:2: warning: implicit declaration of function ‘HMAC_CTX_cleanup’ [-Wimplicit-function-declaration]
  HMAC_CTX_cleanup(&ctx);
  ^~~~~~~~~~~~~~~~
src/samplers/statsd-secure.c:101:11: warning: unused variable ‘ctx’ [-Wunused-variable]
  HMAC_CTX ctx;
           ^~~
Makefile:44: recipe for target 'src/samplers/statsd-secure.o' failed
make: *** [src/samplers/statsd-secure.o] Error 1

I suspect OpenSSL 1.1, but haven't yet looked into it extensively. The program compiles just fine on a machine running Debian 8 with OpenSSL 1.0.1t.

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