Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Mar 2012 20:00:47 +1000
From:      Jan Beich <jbeich@tormail.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/166011: [patch] devel/protobuf: unbreak with libc++
Message-ID:  <1S7TQz-000M5Y-Ji@internal.tormail.net>
Resent-Message-ID: <201203131520.q2DFK5OO097793@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         166011
>Category:       ports
>Synopsis:       [patch] devel/protobuf: unbreak with libc++
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 13 15:20:05 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Jan Beich
>Release:        FreeBSD 10.0-CURRENT amd64
>Organization:
>Environment:
WITH_LIBCPLUSPLUS=
CXX = clang++
CFLAGS += -stdlib=libc++
CFLAGS += -D_DECLARE_C99_LDBL_MATH # mypaint wants it
>Description:
>How-To-Repeat:
$ make
[...]
/bin/sh ../libtool  --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..    -D_THREAD_SAFE -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare  -O2 -pipe -stdlib=libc++ -MT message.lo -MD -MP -MF .deps/message.Tpo -c -o message.lo `test -f 'google/protobuf/message.cc' || echo './'`google/protobuf/message.cc
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -D_THREAD_SAFE -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -O2 -pipe -stdlib=libc++ -MT message.lo -MD -MP -MF .deps/message.Tpo -c google/protobuf/message.cc  -fPIC -DPIC -o .libs/message.o
google/protobuf/message.cc:130:60: error: implicit instantiation of undefined
      template 'std::__1::basic_istream<char, std::__1::char_traits<char> >'
  return ParseFromZeroCopyStream(&zero_copy_input) && input->eof();
                                                           ^
/usr/include/c++/v1/iosfwd:108:27: note: template is declared here
    class _LIBCPP_VISIBLE basic_istream;
                          ^
google/protobuf/message.cc:135:67: error: implicit instantiation of undefined
      template 'std::__1::basic_istream<char, std::__1::char_traits<char> >'
  return ParsePartialFromZeroCopyStream(&zero_copy_input) && input->eof();
                                                                  ^
/usr/include/c++/v1/iosfwd:108:27: note: template is declared here
    class _LIBCPP_VISIBLE basic_istream;
                          ^
google/protobuf/message.cc:175:16: error: implicit instantiation of undefined
      template 'std::__1::basic_ostream<char, std::__1::char_traits<char> >'
  return output->good();
               ^
/usr/include/c++/v1/iosfwd:110:27: note: template is declared here
    class _LIBCPP_VISIBLE basic_ostream;
                          ^
3 errors generated.
gmake[2]: *** [message.lo] Error 1
>Fix:
--- libc++.diff begins here ---
Index: devel/protobuf/files/patch-src-google-protobuf-message.cc
===================================================================
RCS file: devel/protobuf/files/patch-src-google-protobuf-message.cc
diff -N devel/protobuf/files/patch-src-google-protobuf-message.cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ devel/protobuf/files/patch-src-google-protobuf-message.cc	20 Feb 2012 21:03:04 -0000
@@ -0,0 +1,10 @@
+--- src/google/protobuf/message.cc~
++++ src/google/protobuf/message.cc
+@@ -32,6 +32,7 @@
+ //  Based on original Protocol Buffers design by
+ //  Sanjay Ghemawat, Jeff Dean, and others.
+ 
++#include <iostream>
+ #include <stack>
+ #include <google/protobuf/stubs/hash.h>
+ 
--- libc++.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1S7TQz-000M5Y-Ji>