Skip to content

[BUG] Build is broken with libmicrohttpd => 0.9.71 #198

Closed

Description

@bkuhls

Prerequisites

Description

Build is broken with libmicrohttpd => 0.9.71 due to upstream change:
https://lists.gnu.org/archive/html/libmicrohttpd/2020-06/msg00013.html

Furthermore, the release introduces an 'enum MHD_Result' instead of
#defines for MHD_YES/MHD_NO. This is intended to make it easier to check
for certain API misuse bugs by providing better types (not everything is
an 'int').  While this does NOT change the binary API, this change
_will_ cause compiler warnings for all legacy code -- until 'int' is
replaced with 'enum MHD_Result'.

Steps to Reproduce

  1. Build with libmicrohttpd => 0.9.71

Expected behavior: Build finishes without errors.

Actual behavior: Build is broken

Reproduces how often: 100%

Versions

  • OS version (linux - cross-compiled using buildroot)
  • libhttpserver version 0.18.1
  • libmicrohttpd version 0.9.71 - self-compiled

If you have problems during build:

  • Compiler version
    gcc version 8.3.0 (Buildroot 2020.02)
  • autotools version
    2.69

Additional Information

http_request.cpp: In member function 'const std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, httpserver::http::header_comparator> httpserver::http_request::get_headerlike_values(MHD_ValueKind) const':
http_request.cpp:110:9: error: invalid conversion from 'int (*)(void*, MHD_ValueKind, const char*, const char*)' to 'MHD_KeyValueIterator' {aka 'MHD_Result (*)(void*, MHD_ValueKind, const char*, const char*)'} [-fpermissive]

Activity

  1. added
    bugConfirmed bugs or reports that are very likely to be bugs.
    on Jul 5, 2020
  2. etr commented on Jul 6, 2020

    @etr
    Owner

    Thanks for the PR.

    I'll keep this open to add an additional test on travis with the new version of libmicrohttpd.

  3. philipp-classen commented on Nov 13, 2020

    @philipp-classen
    Contributor

    I was hitting the problem on Arch Linux with the 0.9.71 (libmicrohttpd) and 0.18.1 (libhttpserver) releases now. It is good news that a patch for it has been merged. Just wanted to ask if you plan any release soon? If so, I would prefer to wait for it, skip the 0.18.1 release and stay on 0.18.0 till then.

    Otherwise, it is possible to locally applying the changes as a patch (in the AUR package), but I would prefer to stick with unmodified releases if possible. If you think, the next release could take a few months, locally patching would make sense though.

  4. etr commented on Nov 14, 2020

    @etr
    Owner

    I've created a release (0.18.2) - hope that helps.

  5. philipp-classen commented on Nov 16, 2020

    @philipp-classen
    Contributor

    I've created a release (0.18.2) - hope that helps.

    Thanks the fast help, now it builds.

  6. johntaves commented on Dec 30, 2020

    @johntaves

    I get a compile error with .18.2.

    ../../src/httpserver/http_response.hpp:58:9: error: function 'httpserver::http_response::http_response(httpserver::http_response&&)' defaulted on its first declaration with an exception-specification that differs from the implicit declaration 'httpserver::http_response::http_response(httpserver::http_response&&)'

  7. etr commented on Jan 1, 2021

    @etr
    Owner

    Hey, which OS (distro), compiler and version are you using?

  8. johntaves commented on Jan 2, 2021

    @johntaves

    gcc -v -> gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
    redhat 7, I think.

    /proc/version ->
    Linux version 3.10.0-1127.19.1.el7.x86_64 (mockbuild@x86-vm-28.build.eng.bos.r
    edhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) )

  9. beneschtech commented on Jan 2, 2021

    @beneschtech
    Contributor
  10. etr commented on Jan 3, 2021

    @etr
    Owner

    @beneschtech that would help a lot (especially given you seem to have direct experience with the issue). I'd welcome the change as I see many folks coming from CentOS/RHEL with the issue.

  11. beneschtech commented on Jan 3, 2021

    @beneschtech
    Contributor
  12. etr commented on Mar 15, 2021

    @etr
    Owner

    Closing, given this should be now fixed by PR #227

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

Metadata

Metadata

Assignees

Labels

bugConfirmed bugs or reports that are very likely to be bugs.

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions