svn commit: r430238 - head/databases/rocksdb
Sunpoet Po-Chuan Hsieh
sunpoet at freebsd.org
Wed Jan 4 19:03:00 UTC 2017
On Tue, Jan 3, 2017 at 7:15 PM, Jan Beich <jbeich at freebsd.org> wrote:
> Sunpoet Po-Chuan Hsieh <sunpoet at FreeBSD.org> writes:
>
> > --- head/databases/rocksdb/Makefile Sun Jan 1 03:57:43 2017
> (r430237)
> > +++ head/databases/rocksdb/Makefile Sun Jan 1 04:17:45 2017
> (r430238)
> > @@ -50,10 +50,6 @@ ZSTD_LIB_DEPENDS= libzstd.so:archivers/z
> >
> > .include <bsd.port.pre.mk>
> >
> > -.if ${OSVERSION} <= 1000000
> > -CFLAGS+= -D_GLIBCXX_USE_C99
> > -.endif
> > -
>
> This may be premature. The underlying issue is documented in bug 193528
> and has only been fixed in lang/gcc6 but not in lang/gcc or lang/gcc5.
> Architectures still stuck with base GCC (sparc64, powerpc*, mips*) are
> going to be BROKEN. And let's not forget users that prefer GCC over
> Clang for various reasons e.g., -Og, -flto, -fopenmp on i386, Graphite.
>
Hello Jan,
Thanks for pointing it out.
The section was added by zi@ with commit log "Fix build when using FreeBSD
older than 10.0".
If this failure exists in all GCC prior to 6.x, I guess the solution would
looks like (not tested yet):
Index: Makefile
===================================================================
--- Makefile (revision 430546)
+++ Makefile (working copy)
@@ -48,8 +48,14 @@
LZ4_LIB_DEPENDS= liblz4.so:archivers/liblz4
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
+USES+= compiler:features
+
.include <bsd.port.pre.mk>
+.if ${COMPILER_TYPE} == gcc && ${COMPILER_VERSION} <= 60
+CFLAGS+= -D_GLIBCXX_USE_C99
+.endif
+
.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 36
CXXFLAGS+= -Wno-inconsistent-missing-override
.endif
Regards,
sunpoet
> $ uname -rp
> 12.0-CURRENT amd64
> $ pkg install -qy gcc
> $ make clean all CC=gcc49 CXX=g++49 CPP=cpp49
> [...]
> util/options_helper.cc: In function 'uint64_t rocksdb::ParseUint64(const
> string&)':
> util/options_helper.cc:260:18: error: 'stoull' is not a member of 'std'
> uint64_t num = std::stoull(value.c_str(), &endchar);
> ^
> util/options_helper.cc: In function 'int rocksdb::{anonymous}::ParseInt(const
> string&)':
> util/options_helper.cc:378:13: error: 'stoi' is not a member of 'std'
> int num = std::stoi(value.c_str(), &endchar);
> ^
> util/options_helper.cc: In function 'double rocksdb::{anonymous}::ParseDouble(const
> string&)':
> util/options_helper.cc:416:10: error: 'stod' is not a member of 'std'
> return std::stod(value);
> ^
> util/options_helper.cc:420:1: warning: control reaches end of non-void
> function [-Wreturn-type]
> }
> ^
> _______________________________________________
> svn-ports-all at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-ports-all
> To unsubscribe, send any mail to "svn-ports-all-unsubscribe at freebsd.org"
>
More information about the svn-ports-all
mailing list