Bug 195345 - www/nghttp2 asio fails
Summary: www/nghttp2 asio fails
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Many People
Assignee: Po-Chuan Hsieh
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-24 19:37 UTC by mikhail.rokhin
Modified: 2014-12-08 16:28 UTC (History)
2 users (show)

See Also:
mikhail.rokhin: maintainer-feedback? (sunpoet)


Attachments
Use nghttp2's current headers, not from previous version (1.58 KB, patch)
2014-11-30 16:17 UTC, Mikhail T.
mi: maintainer-approval?
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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