Bug 62190

Summary: CMakeLists.txt is missing mod_http2_extra_includes
Product: Apache httpd-2 Reporter: Michal Karm Babacek <michal.babacek>
Component: mod_http2Assignee: Apache HTTPD Bugs Mailing List <bugs>
Severity: normal CC: michal.babacek
Priority: P2 Keywords: FixedInTrunk, PatchAvailable
Version: 2.4-HEAD   
Target Milestone: ---   
Hardware: PC   
OS: All   
Attachments: CMakeLists.txt.patch

Description Michal Karm Babacek 2018-03-19 07:59:56 UTC
Created attachment 35785 [details]

The 2.4.x branch has been requiring this patch for me to build on Windows with mod_http2: [1]. When I try without it, I get:

> [ 54%] Building C object CMakeFiles/mod_http2.dir/modules/http2/mod_http2.c.obj
> mod_http2.c
> C:\workspace\workspace\httpd-windows\label\w2k12r2\modules\http2\mod_http2.c(30): fatal error C1083: Cannot open include file: 'nghttp2/nghttp2.h': No such file or directory

So, unless my nghttp2 package I build [2] arranges header files in a fashion httpd does not expect, this is a bug. The fix that helps me:

+SET(mod_http2_extra_includes         ${NGHTTP2_INCLUDE_DIR})


[1] https://raw.githubusercontent.com/modcluster/ci.modcluster.io/master/windows/httpd/httpd-2.4.29_CMakeLists.txt.patch
[2] https://ci.modcluster.io/job/nghttp2-windows/2/label=w2k12r2/artifact/nghttp2-v1.27.0-e8907a0-64.zip
Comment 1 Christophe JAILLET 2018-06-12 21:38:18 UTC
This has been fixed in r1743512 on trunk, but is not backported to 2.4.x yet.
Comment 2 William A. Rowe Jr. 2018-07-19 16:04:59 UTC
+1. Something I've never seen since I build all deps into a single dependency tree. The other expat/openssl etc paths worked around this.
Comment 3 William A. Rowe Jr. 2018-07-19 18:03:40 UTC
This was half-fixed by 2.4.34, but the remainder of r1743512 has been
committed in r1836289 and will be addressed in 2.4.next.