You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] Build is broken with libmicrohttpd => 0.9.71 #198
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
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]
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.
../../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&&)'
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) )
CentOS / RHEL 7 stock compiler does not work. It needs at least gcc 5.
You can use devtoolset to get it to build. Did we ever put this into
configure to fail on the configure step? I can do it if not.
On Sat, Jan 2, 2021 at 11:30 AM johntaves ***@***.***> wrote:
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 (
***@***.***
edhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) )
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#198 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIGB3C6ZJP55IB62WWPF4UTSX5Q3JANCNFSM4OQZQ6JA>
.
@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.
Activity
etr commentedon Jul 6, 2020
Thanks for the PR.
I'll keep this open to add an additional test on travis with the new version of libmicrohttpd.
philipp-classen commentedon Nov 13, 2020
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.
etr commentedon Nov 14, 2020
I've created a release (0.18.2) - hope that helps.
philipp-classen commentedon Nov 16, 2020
Thanks the fast help, now it builds.
johntaves commentedon Dec 30, 2020
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&&)'
etr commentedon Jan 1, 2021
Hey, which OS (distro), compiler and version are you using?
johntaves commentedon Jan 2, 2021
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) )
beneschtech commentedon Jan 2, 2021
etr commentedon Jan 3, 2021
@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.
beneschtech commentedon Jan 3, 2021
etr commentedon Mar 15, 2021
Closing, given this should be now fixed by PR #227