Bug 183785 - devel/libhtp doesn's build with clang
Summary: devel/libhtp doesn's build with clang
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Kubilay Kocak
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-08 12:20 UTC by Borja Marcos
Modified: 2013-11-23 11:59 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Borja Marcos 2013-11-08 12:20:00 UTC
devel/htp doesn't build with clang.

PORTNAME=       libhtp
PORTVERSION=    0.3.0
PORTREVISION=   2


Updated today from portsnap (Nov 8th 2013)


--- gtest_main.lo ---
In file included from ./gtest/gtest_main.cc:32:
./gtest/gtest.h:9682:34: error: no member named 'tr1' in namespace 'std'
inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) {
                          ~~~~~~~^
./gtest/gtest.h:9682:44: error: expected ')'
inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) {
                                           ^
./gtest/gtest.h:9682:20: note: to match this '('
inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) {
                   ^
./gtest/gtest.h:9683:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
./gtest/gtest.h:9687:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1>& t, ::std::ostream* os) {
                   ~~~~~~~^
./gtest/gtest.h:9687:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1>& t, ::std::ostream* os) {
                                    ^
./gtest/gtest.h:9687:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1>& t, ::std::ostream* os) {
            ^
./gtest/gtest.h:9688:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
./gtest/gtest.h:9692:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2>& t, ::std::ostream* os) {
                   ~~~~~~~^
./gtest/gtest.h:9692:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2>& t, ::std::ostream* os) {
                                    ^
./gtest/gtest.h:9692:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2>& t, ::std::ostream* os) {
            ^
./gtest/gtest.h:9693:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
./gtest/gtest.h:9697:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3>& t, ::std::ostream* os) {
                   ~~~~~~~^
./gtest/gtest.h:9697:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3>& t, ::std::ostream* os) {
                                    ^
./gtest/gtest.h:9697:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2, T3>& t, ::std::ostream* os) {
            ^
./gtest/gtest.h:9698:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
--- gtest-all.lo ---
In file included from ./gtest/gtest-all.cc:39:
./gtest/gtest.h:9682:34: error: no member named 'tr1' in namespace 'std'
inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) {
                          ~~~~~~~^
./gtest/gtest.h:9682:44: error: expected ')'
inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) {
                                           ^
./gtest/gtest.h:9682:20: note: to match this '('
inline void PrintTo(const ::std::tr1::tuple<>& t, ::std::ostream* os) {
                   ^
./gtest/gtest.h:9683:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
--- gtest_main.lo ---
./gtest/gtest.h:9702:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4>& t, ::std::ostream* os) {
                   ~~~~~~~^
./gtest/gtest.h:9702:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4>& t, ::std::ostream* os) {
                                    ^
./gtest/gtest.h:9702:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4>& t, ::std::ostream* os) {
            ^
./gtest/gtest.h:9703:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
--- gtest-all.lo ---
./gtest/gtest.h:9687:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1>& t, ::std::ostream* os) {
                   ~~~~~~~^
./gtest/gtest.h:9687:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1>& t, ::std::ostream* os) {
                                    ^
./gtest/gtest.h:9687:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1>& t, ::std::ostream* os) {
            ^
./gtest/gtest.h:9688:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
--- gtest_main.lo ---
./gtest/gtest.h:9707:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5>& t,
                   ~~~~~~~^
./gtest/gtest.h:9707:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5>& t,
                                    ^
./gtest/gtest.h:9707:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5>& t,
            ^
./gtest/gtest.h:9709:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
--- gtest-all.lo ---
./gtest/gtest.h:9692:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2>& t, ::std::ostream* os) {
                   ~~~~~~~^
./gtest/gtest.h:9692:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2>& t, ::std::ostream* os) {
                                    ^
./gtest/gtest.h:9692:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2>& t, ::std::ostream* os) {
            ^
./gtest/gtest.h:9693:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
--- gtest_main.lo ---
./gtest/gtest.h:9714:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5, T6>& t,
                   ~~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
--- gtest-all.lo ---
./gtest/gtest.h:9697:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3>& t, ::std::ostream* os) {
                   ~~~~~~~^
./gtest/gtest.h:9697:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3>& t, ::std::ostream* os) {
                                    ^
./gtest/gtest.h:9697:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2, T3>& t, ::std::ostream* os) {
            ^
./gtest/gtest.h:9698:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
./gtest/gtest.h:9702:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4>& t, ::std::ostream* os) {
                   ~~~~~~~^
./gtest/gtest.h:9702:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4>& t, ::std::ostream* os) {
                                    ^
./gtest/gtest.h:9702:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4>& t, ::std::ostream* os) {
            ^
./gtest/gtest.h:9703:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
./gtest/gtest.h:9707:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5>& t,
                   ~~~~~~~^
./gtest/gtest.h:9707:37: error: expected ')'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5>& t,
                                    ^
./gtest/gtest.h:9707:13: note: to match this '('
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5>& t,
            ^
./gtest/gtest.h:9709:16: error: use of undeclared identifier 't'
  PrintTupleTo(t, os);
               ^
./gtest/gtest.h:9714:27: error: no member named 'tr1' in namespace 'std'
void PrintTo(const ::std::tr1::tuple<T1, T2, T3, T4, T5, T6>& t,
                   ~~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
--- gtest_main.lo ---
20 errors generated.
*** [gtest_main.lo] Error code 1

make[5]: stopped in /usr/ports/devel/libhtp/work/ironbee-libhtp-a334539/test
--- gtest-all.lo ---
20 errors generated.
*** [gtest-all.lo] Error code 1

make[5]: stopped in /usr/ports/devel/libhtp/work/ironbee-libhtp-a334539/test
2 errors

make[5]: stopped in /usr/ports/devel/libhtp/work/ironbee-libhtp-a334539/test
*** [all-recursive] Error code 1

make[4]: stopped in /usr/ports/devel/libhtp/work/ironbee-libhtp-a334539
1 error

make[4]: stopped in /usr/ports/devel/libhtp/work/ironbee-libhtp-a334539
*** [all] Error code 2

make[3]: stopped in /usr/ports/devel/libhtp/work/ironbee-libhtp-a334539
1 error

make[3]: stopped in /usr/ports/devel/libhtp/work/ironbee-libhtp-a334539

Fix: 

It builds with gcc. I simply added

USE_GCC?=       yes


to the Makefile.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-11-11 00:52:36 UTC
Responsible Changed
From-To: freebsd-ports-bugs->wxs

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2013-11-23 10:48:39 UTC
Responsible Changed
From-To: wxs->koobs

I'll take it.
Comment 3 dfilter service freebsd_committer freebsd_triage 2013-11-23 10:51:53 UTC
Author: koobs
Date: Sat Nov 23 10:51:45 2013
New Revision: 334657
URL: http://svnweb.freebsd.org/changeset/ports/334657

Log:
  devel/libhtp: Update to 0.5.9
  
  - Update to 0.5.9
  - Update pkg-plist
  - Remove unnecessary patch
  - QA: Enable STAGE support
  - QA: Add LICENSE (BSD)
  - QA: Add regression-test target
  - QA: Remove commented-out MASTER_SITES
  - QA: Re-order USE_* section
  
  Changes:
  
  https://github.com/ironbee/libhtp/blob/0.5.9/ChangeLog
  
  PR:		ports/183785
  Submitted by:	wxs

Deleted:
  head/devel/libhtp/files/
Modified:
  head/devel/libhtp/Makefile
  head/devel/libhtp/distinfo   (contents, props changed)
  head/devel/libhtp/pkg-plist   (contents, props changed)

Modified: head/devel/libhtp/Makefile
==============================================================================
--- head/devel/libhtp/Makefile	Sat Nov 23 10:26:18 2013	(r334656)
+++ head/devel/libhtp/Makefile	Sat Nov 23 10:51:45 2013	(r334657)
@@ -1,22 +1,22 @@
 # $FreeBSD$
 
 PORTNAME=	libhtp
-PORTVERSION=	0.3.0
-PORTREVISION=	2
+PORTVERSION=	0.5.9
 CATEGORIES=	devel
-#MASTER_SITES=	# This port uses github
 
 MAINTAINER=	koobs@FreeBSD.org
 COMMENT=	Security-aware parser for the HTTP protocol
 
+LICENSE=	BSD
+
 USE_GITHUB=	yes
 GH_ACCOUNT=	ironbee
-GH_COMMIT=	a334539
+GH_COMMIT=	f5f3c5c
 
+USES=		pkgconfig pathfix iconv
 USE_AUTOTOOLS=	libtool autoheader aclocal
 ACLOCAL_ARGS=	-Im4
 USE_LDCONFIG=	yes
-USES=		pkgconfig pathfix iconv
 
 CONFIGURE_ARGS=	${ICONV_CONFIGURE_ARG}
 CFLAGS+=	-I${LOCALBASE}/include -L${LOCALBASE}/lib \
@@ -24,9 +24,11 @@ CFLAGS+=	-I${LOCALBASE}/include -L${LOCA
 
 CONFLICTS_INSTALL=	libhtp-suricata-*
 
-NO_STAGE=	yes
 pre-configure:
 	@${REINPLACE_CMD} -Ee 's,^(pkgconfigdir = ).*,\1$$(exec_prefix)/libdata/pkgconfig,' ${WRKSRC}/Makefile.am
 	@cd ${WRKSRC} && ${SH} ./autogen.sh
 
+regression-test: build
+	@cd ${WRKSRC} && ${MAKE} check
+
 .include <bsd.port.mk>

Modified: head/devel/libhtp/distinfo
==============================================================================
--- head/devel/libhtp/distinfo	Sat Nov 23 10:26:18 2013	(r334656)
+++ head/devel/libhtp/distinfo	Sat Nov 23 10:51:45 2013	(r334657)
@@ -1,2 +1,2 @@
-SHA256 (libhtp-0.3.0.tar.gz) = 5ea1c8c7b230113dd293c8d04a278db2c0ff2d894b158a578dbee15ab6a1d552
-SIZE (libhtp-0.3.0.tar.gz) = 397501
+SHA256 (libhtp-0.5.9.tar.gz) = b67f236a25abc197069260d454c7a1b16198be21338068ab57a0a156ec18198d
+SIZE (libhtp-0.5.9.tar.gz) = 5764911

Modified: head/devel/libhtp/pkg-plist
==============================================================================
--- head/devel/libhtp/pkg-plist	Sat Nov 23 10:26:18 2013	(r334656)
+++ head/devel/libhtp/pkg-plist	Sat Nov 23 10:51:45 2013	(r334657)
@@ -1,15 +1,21 @@
-include/htp/hooks.h
+include/htp/htp_config.h
+include/htp/htp_connection_parser.h
+include/htp/htp_core.h
+include/htp/htp_list.h
+include/htp/htp_table.h
+include/htp/htp_transaction.h
+include/htp/htp_version.h
+include/htp/htp_hooks.h
 include/htp/htp_decompressors.h
 include/htp/bstr.h
 include/htp/bstr_builder.h
-include/htp/utf8_decoder.h
-include/htp/dslib.h
+include/htp/htp_utf8_decoder.h
 include/htp/htp.h
 include/htp/htp_base64.h
 include/htp/htp_multipart.h
 include/htp/htp_urlencoded.h
-lib/libhtp-0.3.so
-lib/libhtp-0.3.so.1
+lib/libhtp-0.5.9.so
+lib/libhtp-0.5.9.so.1
 lib/libhtp.a
 lib/libhtp.la
 lib/libhtp.so
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 4 koobs 2013-11-23 11:44:16 UTC
I've confirmed successful build on 10.x after updating to 0.5.9

See upstream commit for the fix:

https://github.com/ironbee/libhtp/commit/524389f8f591586a2a3a80e8719fbb83d0a2a04c
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2013-11-23 11:59:57 UTC
State Changed
From-To: open->closed

Fixed. Thanks Borja!