ports/166011: [patch] devel/protobuf: unbreak with libc++
Jan Beich
jbeich at tormail.net
Tue Mar 13 15:20:05 UTC 2012
>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:
More information about the freebsd-ports-bugs
mailing list