Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 675772 - net-libs/nghttp2 USE=hpack-tools|cxx links against bundled version of net-libs/http-parser
Summary: net-libs/nghttp2 USE=hpack-tools|cxx links against bundled version of net-lib...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Bernard Cafarelli
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: bundled-libs
  Show dependency tree
 
Reported: 2019-01-18 17:11 UTC by Jeroen Roovers (RETIRED)
Modified: 2022-07-10 12:52 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jeroen Roovers (RETIRED) gentoo-dev 2019-01-18 17:11:40 UTC
configure.ac:

enable_third_party=no
have_mruby=no
have_neverbleed=no
if test "x${enable_examples}" = "xyes" ||
   test "x${enable_app}" = "xyes" ||
   test "x${enable_hpack_tools}" = "xyes" ||
   test "x${enable_asio_lib}" = "xyes"; then
  enable_third_party=yes

So when USE=hpack-tools or USE=cxx, then it descends into the third-party sub-directory and compiles in a version of net-libs/http-parser:

Making all in third-party
make[2]: Entering directory '/home/jer/portage/net-libs/nghttp2-1.36.0/work/nghttp2-1.36.0-abi_x86_32.x86/third-party'
/bin/sh ../libtool  --tag=CC   --mode=compile x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I/home/jer/portage/net-libs/nghttp2-1.36.0/work/nghttp2-1.36.0/third-party -I..  -DHAVE_CONFIG_H   -frecord-gcc-switches -g -pipe -O2 -Wall -march=amdfam10 -mtune=amdfam10 -Wno-comment -c -o http-parser/http_parser.lo /home/jer/portage/net-libs/nghttp2-1.36.0/work/nghttp2-1.36.0/third-party/http-parser/http_parser.c
libtool: compile:  x86_64-pc-linux-gnu-gcc -m32 -DHAVE_CONFIG_H -I. -I/home/jer/portage/net-libs/nghttp2-1.36.0/work/nghttp2-1.36.0/third-party -I.. -DHAVE_CONFIG_H -frecord-gcc-switches -g -pipe -O2 -Wall -march=amdfam10 -mtune=amdfam10 -Wno-comment -c /home/jer/portage/net-libs/nghttp2-1.36.0/work/nghttp2-1.36.0/third-party/http-parser/http_parser.c  -fPIC -DPIC -o http-parser/.libs/http_parser.o
/bin/sh ../libtool  --tag=CC   --mode=link x86_64-pc-linux-gnu-gcc -m32  -frecord-gcc-switches -g -pipe -O2 -Wall -march=amdfam10 -mtune=amdfam10 -Wno-comment  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o libhttp-parser.la  http-parser/http_parser.lo
libtool: link: ar cru .libs/libhttp-parser.a http-parser/.libs/http_parser.o
libtool: link: ranlib .libs/libhttp-parser.a
libtool: link: ( cd ".libs" && rm -f "libhttp-parser.la" && ln -s "../libhttp-parser.la" "libhttp-parser.la" )
make[2]: Leaving directory '/home/jer/portage/net-libs/nghttp2-1.36.0/work/nghttp2-1.36.0-abi_x86_32.x86/third-party

and proceeds to link that static library in:

/bin/sh ../libtool  --tag=CXX   --mode=link x86_64-pc-linux-gnu-g++ -m32 -std=c++14   -frecord-gcc-switches -g -pipe -O2 -Wall -march=amdfam10 -mtune=amdfam10 -no-undefined -version-info 1:0:0 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o libnghttp2_asio.la -rpath /usr/lib32 libnghttp2_asio_la-util.lo libnghttp2_asio_la-http2.lo libnghttp2_asio_la-tls.lo libnghttp2_asio_la-timegm.lo libnghttp2_asio_la-asio_common.lo libnghttp2_asio_la-asio_io_service_pool.lo libnghttp2_asio_la-asio_server_http2.lo libnghttp2_asio_la-asio_server_http2_impl.lo libnghttp2_asio_la-asio_server.lo libnghttp2_asio_la-asio_server_http2_handler.lo
libnghttp2_asio_la-asio_server_request.lo libnghttp2_asio_la-asio_server_request_impl.lo libnghttp2_asio_la-asio_server_response.lo libnghttp2_asio_la-asio_server_response_impl.lo libnghttp2_asio_la-asio_server_stream.lo libnghttp2_asio_la-asio_server_serve_mux.lo libnghttp2_asio_la-asio_server_request_handler.lo libnghttp2_asio_la-asio_server_tls_context.lo libnghttp2_asio_la-asio_client_session.lo libnghttp2_asio_la-asio_client_session_impl.lo libnghttp2_asio_la-asio_client_session_tcp_impl.lo libnghttp2_asio_la-asio_client_session_tls_impl.lo libnghttp2_asio_la-asio_client_response.lo libnghttp2_asio_la-asio_client_response_impl.lo libnghttp2_asio_la-asio_client_request.lo libnghttp2_asio_la-asio_client_request_impl.lo libnghttp2_asio_la-asio_client_stream.lo libnghttp2_asio_la-asio_client_tls_context.lo ../lib/libnghttp2.la ../third-party/libhttp-parser.la -lssl -lcrypto -L/usr/lib64 -lboost_system-mt -lboost_thread -lboost_system
libtool: link: x86_64-pc-linux-gnu-g++ -m32  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib32/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/32/crtbeginS.o  .libs/libnghttp2_asio_la-util.o .libs/libnghttp2_asio_la-http2.o .libs/libnghttp2_asio_la-tls.o .libs/libnghttp2_asio_la-timegm.o .libs/libnghttp2_asio_la-asio_common.o .libs/libnghttp2_asio_la-asio_io_service_pool.o .libs/libnghttp2_asio_la-asio_server_http2.o .libs/libnghttp2_asio_la-asio_server_http2_impl.o .libs/libnghttp2_asio_la-asio_server.o .libs/libnghttp2_asio_la-asio_server_http2_handler.o .libs/libnghttp2_asio_la-asio_server_request.o .libs/libnghttp2_asio_la-asio_server_request_impl.o .libs/libnghttp2_asio_la-asio_server_response.o .libs/libnghttp2_asio_la-asio_server_response_impl.o .libs/libnghttp2_asio_la-asio_server_stream.o .libs/libnghttp2_asio_la-asio_server_serve_mux.o .libs/libnghttp2_asio_la-asio_server_request_handler.o
.libs/libnghttp2_asio_la-asio_server_tls_context.o .libs/libnghttp2_asio_la-asio_client_session.o .libs/libnghttp2_asio_la-asio_client_session_impl.o .libs/libnghttp2_asio_la-asio_client_session_tcp_impl.o .libs/libnghttp2_asio_la-asio_client_session_tls_impl.o .libs/libnghttp2_asio_la-asio_client_response.o .libs/libnghttp2_asio_la-asio_client_response_impl.o .libs/libnghttp2_asio_la-asio_client_request.o .libs/libnghttp2_asio_la-asio_client_request_impl.o .libs/libnghttp2_asio_la-asio_client_stream.o .libs/libnghttp2_asio_la-asio_client_tls_context.o  -Wl,--whole-archive ../third-party/.libs/libhttp-parser.a -Wl,--no-whole-archive  -Wl,-rpath -Wl,/home/jer/portage/net-libs/nghttp2-1.36.0/work/nghttp2-1.36.0-abi_x86_32.x86/lib/.libs ../lib/.libs/libnghttp2.so -lssl -lcrypto -L/usr/lib64 -lboost_system-mt -lboost_thread -lboost_system -L/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/32 -L/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib32 -L/lib/../lib32 -L/usr/lib/../lib32 -L/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/32/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../lib32/crtn.o  -m32 -g -O2 -march=amdfam10 -mtune=amdfam10 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed   -Wl,-soname -Wl,libnghttp2_asio.so.1 -o .libs/libnghttp2_asio.so.1.0.0
Comment 1 Larry the Git Cow gentoo-dev 2019-04-18 15:25:30 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d96d88470e156c7750c4ac68c398b1076f38051d

commit d96d88470e156c7750c4ac68c398b1076f38051d
Author:     Lars Wendler <polynomial-c@gentoo.org>
AuthorDate: 2019-04-18 15:24:04 +0000
Commit:     Lars Wendler <polynomial-c@gentoo.org>
CommitDate: 2019-04-18 15:25:22 +0000

    net-libs/nghttp2: Bump to version 1.38.0
    
    Added patch to unbundle http-parser lib
    
    Bug: https://bugs.gentoo.org/675772
    Package-Manager: Portage-2.3.63, Repoman-2.3.12
    Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>

 net-libs/nghttp2/Manifest              |  2 +
 net-libs/nghttp2/nghttp2-1.38.0.ebuild | 87 ++++++++++++++++++++++++++++++++++
 2 files changed, 89 insertions(+)
Comment 2 tt_1 2022-02-28 21:14:21 UTC
was this fixed with v1.38.0 back then?
Comment 3 Bernard Cafarelli gentoo-dev 2022-07-10 12:52:08 UTC
Yes there was change in that ebuild to remove bundled code, so we should be good here