Bug 195345

Summary: www/nghttp2 asio fails
Product: Ports & Packages Reporter: mikhail.rokhin
Component: Individual Port(s)Assignee: Po-Chuan Hsieh <sunpoet>
Status: Closed FIXED    
Severity: Affects Many People CC: freebsd-2024, mikhail.rokhin
Priority: --- Flags: mikhail.rokhin: maintainer-feedback? (sunpoet)
Version: Latest   
Hardware: amd64   
OS: Any   
Attachments:
Description Flags
Use nghttp2's current headers, not from previous version freebsd-2024: maintainer-approval?

Description mikhail.rokhin 2014-11-24 19:37:36 UTC
when chosed ASIO option build fails.
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2014-11-24 19:37:36 UTC
Auto-assigned to maintainer sunpoet@FreeBSD.org
Comment 2 Po-Chuan Hsieh freebsd_committer freebsd_triage 2014-11-24 21:49:13 UTC
Detailed OS environment and log files are needed for further investigation. Thanks!

I've tested ASIO option in both poudriere and host. It builds fine. This option is disabled by default because boost-libs is really a huge library/dependency.
Comment 3 mikhail.rokhin 2014-11-25 16:18:29 UTC
(In reply to Sunpoet Po-Chuan Hsieh from comment #2)
> Detailed OS environment and log files are needed for further investigation.
> Thanks!
> 
> I've tested ASIO option in both poudriere and host. It builds fine. This
> option is disabled by default because boost-libs is really a huge
> library/dependency.

amd64 platform, CURRENT 

11.0-CURRENT FreeBSD 11.0-CURRENT #16 r275046: Tue Nov 25 19:08:54 MSK 2014     root@win95:/usr/obj/usr/src/sys/GENERIC  amd64


make -C /usr/ports/www/nghttp2/
===>  Building for nghttp2-0.6.6
--- all ---
/usr/bin/make  all-recursive
--- all-recursive ---
Making all in lib
--- all-recursive ---
Making all in includes
Making all in third-party
Making all in src
--- all-recursive ---
Making all in includes
--- libnghttp2_asio_la-asio_http2_impl.lo ---
--- HtmlParser.o ---
--- nghttpd.o ---
--- libnghttp2_asio_la-asio_http2_impl.lo ---
CXX      libnghttp2_asio_la-asio_http2_impl.lo
--- HtmlParser.o ---
CXX      HtmlParser.o
--- nghttpd.o ---
CXX      nghttpd.o
--- libnghttp2_asio_la-asio_http2_impl.lo ---
In file included from asio_http2_impl.cc:25:
In file included from ./asio_http2_impl.h:30:
/usr/local/include/nghttp2/asio_http2.h:236:23: error: unknown type name 'time_t'
std::string http_date(time_t t);
                      ^
--- HttpServer.o ---
  CXX      HttpServer.o
--- shrpx.o ---
  CXX      shrpx.o
--- h2load.o ---
  CXX      h2load.o
--- h2load_http2_session.o ---
  CXX      h2load_http2_session.o
--- h2load_spdy_session.o ---
  CXX      h2load_spdy_session.o
--- inflatehd.o ---
  CXX      inflatehd.o
--- comp_helper.o ---
  CC       comp_helper.o
--- deflatehd.o ---
  CXX      deflatehd.o
--- libnghttp2_asio_la-asio_http2_impl.lo ---
1 error generated.
*** [libnghttp2_asio_la-asio_http2_impl.lo] Error code 1

make[5]: stopped in /usr/ports/www/nghttp2/work/nghttp2-0.6.6/src
1 error

make[5]: stopped in /usr/ports/www/nghttp2/work/nghttp2-0.6.6/src
*** [all-recursive] Error code 1

make[4]: stopped in /usr/ports/www/nghttp2/work/nghttp2-0.6.6/src
1 error

make[4]: stopped in /usr/ports/www/nghttp2/work/nghttp2-0.6.6/src
*** [all-recursive] Error code 1

make[3]: stopped in /usr/ports/www/nghttp2/work/nghttp2-0.6.6
1 error

make[3]: stopped in /usr/ports/www/nghttp2/work/nghttp2-0.6.6
*** [all] Error code 2

make[2]: stopped in /usr/ports/www/nghttp2/work/nghttp2-0.6.6
1 error

make[2]: stopped in /usr/ports/www/nghttp2/work/nghttp2-0.6.6
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/nghttp2
*** Error code 1

Stop.
make: stopped in /usr/ports/www/nghttp2
Comment 4 Mikhail T. 2014-11-30 16:17:17 UTC
Created attachment 150033 [details]
Use nghttp2's current headers, not from previous version

Hit by the same problem -- out of the box, nghttp2 would, if found on the building system, pick OLD VERSION of its own headers -- ahead of the current ones.

The attached patch fixes that (see the post-patch hunk). The patch also updates the upstream version to 0.6.7 (released this morning) and disables -- for great justice -- libtool's silly attempts to hide the actual compiler command-line, which encumbers attempts to analyze exactly this sort of problems...

I've already raised awareness upstream too:
  https://github.com/tatsuhiro-t/nghttp2/issues/119
but our brute-force fix would not be suitable for them -- and I don't care to investigate, how to code Makefile.am.
Comment 5 commit-hook freebsd_committer freebsd_triage 2014-12-08 09:12:24 UTC
A commit references this bug:

Author: sunpoet
Date: Mon Dec  8 09:12:09 UTC 2014
New revision: 374254
URL: https://svnweb.freebsd.org/changeset/ports/374254

Log:
  - Make sure the include files from WRKSRC (current version) will be used instead of the installed ones

  PR:		ports/195345
  Submitted by:	Mikhail T <mi@ALDAN.algebra.com>

Changes:
  head/www/nghttp2/Makefile