Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Jan 2017 03:02:18 +0800
From:      Sunpoet Po-Chuan Hsieh <sunpoet@freebsd.org>
To:        Jan Beich <jbeich@freebsd.org>
Cc:        ports-committers@freebsd.org, svn-ports-all@freebsd.org,  svn-ports-head@freebsd.org
Subject:   Re: svn commit: r430238 - head/databases/rocksdb
Message-ID:  <CAMHz58SHD09DjQpnqv3TCit_Xhhz_ONXd=vCJKe_U7xGVCaNMQ@mail.gmail.com>
In-Reply-To: <20170103111542.37681315A@freefall.freebsd.org>
References:  <201701010417.v014HjI0080871@repo.freebsd.org> <20170103111542.37681315A@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 3, 2017 at 7:15 PM, Jan Beich <jbeich@freebsd.org> wrote:

> Sunpoet Po-Chuan Hsieh <sunpoet@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@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-ports-all
> To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAMHz58SHD09DjQpnqv3TCit_Xhhz_ONXd=vCJKe_U7xGVCaNMQ>