1: Update to 6.1.1.
2: fix building with boost 1.70. 3: remove BROKEN.
This commit is contained in:
parent
c1c5461507
commit
5f0593e970
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=498716
22 changed files with 161 additions and 185 deletions
|
@ -2,8 +2,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= foundationdb
|
||||
PORTVERSION= 6.0.18
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 6.1.1
|
||||
CATEGORIES= databases
|
||||
|
||||
MAINTAINER= vanilla@FreeBSD.org
|
||||
|
@ -12,7 +11,6 @@ COMMENT= Distributed, transactional key-value store
|
|||
LICENSE= APACHE20
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
BROKEN= fails to build with boost 1.70, see bug 236586
|
||||
ONLY_FOR_ARCHS= amd64
|
||||
ONLY_FOR_ARCHS_REASON= not yet ported to anything other than amd64
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1547178154
|
||||
SHA256 (apple-foundationdb-6.0.18_GH0.tar.gz) = d8d0604ccd306e4d52b2a36def27e95504ee7f38a60e75ae16828bdc88ba54a8
|
||||
SIZE (apple-foundationdb-6.0.18_GH0.tar.gz) = 4615666
|
||||
TIMESTAMP = 1554904793
|
||||
SHA256 (apple-foundationdb-6.1.1_GH0.tar.gz) = 20c35b342138e16711d113beb21a32b507ca21ae36f5d701cfa043c82ed67b74
|
||||
SIZE (apple-foundationdb-6.1.1_GH0.tar.gz) = 4873842
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
--- FDBLibTLS/local.mk.orig 2018-09-11 01:21:54 UTC
|
||||
--- FDBLibTLS/local.mk.orig 2019-04-09 00:11:05 UTC
|
||||
+++ FDBLibTLS/local.mk
|
||||
@@ -23,6 +23,6 @@
|
||||
FDBLibTLS_BUILD_SOURCES +=
|
||||
|
||||
|
||||
-FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR) -Iflow -Ifdbrpc -DUSE_UCONTEXT
|
||||
+FDBLibTLS_CFLAGS := -fPIC -I$(BOOSTDIR)/include -Ifdbrpc -Iflow -DUSE_UCONTEXT
|
||||
-FDBLibTLS_CFLAGS := -fPIC -I/usr/local/include -I$(BOOSTDIR) -I. -DUSE_UCONTEXT
|
||||
+FDBLibTLS_CFLAGS := -fPIC -I$(BOOSTDIR)/include -I. -DUSE_UCONTEXT
|
||||
|
||||
lib/libFDBLibTLS.a: bin/coverage.FDBLibTLS.xml
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- Makefile.orig 2019-01-09 22:28:32 UTC
|
||||
--- Makefile.orig 2019-04-09 00:11:05 UTC
|
||||
+++ Makefile
|
||||
@@ -6,6 +6,8 @@ TOPDIR := $(shell pwd)
|
||||
@@ -11,6 +11,8 @@ TOPDIR := $(shell pwd)
|
||||
|
||||
ifeq ($(ARCH),x86_64)
|
||||
ARCH := x64
|
||||
|
@ -9,19 +9,7 @@
|
|||
else
|
||||
$(error Not prepared to compile on $(ARCH))
|
||||
endif
|
||||
@@ -15,11 +17,7 @@ ifeq ($(MONO),)
|
||||
MONO := /usr/bin/mono
|
||||
endif
|
||||
|
||||
-DMCS := $(shell which dmcs)
|
||||
MCS := $(shell which mcs)
|
||||
-ifneq ($(DMCS),)
|
||||
- MCS := $(DMCS)
|
||||
-endif
|
||||
ifeq ($(MCS),)
|
||||
MCS := /usr/bin/dmcs
|
||||
endif
|
||||
@@ -45,6 +43,15 @@ ifeq ($(PLATFORM),Linux)
|
||||
@@ -50,6 +52,15 @@ ifeq ($(PLATFORM),Linux)
|
||||
DLEXT := so
|
||||
java_DLEXT := so
|
||||
TARGET_LIBC_VERSION ?= 2.11
|
||||
|
@ -37,16 +25,16 @@
|
|||
else ifeq ($(PLATFORM),Darwin)
|
||||
PLATFORM := osx
|
||||
|
||||
@@ -108,7 +115,7 @@ STATIC_LIBS :=
|
||||
@@ -120,7 +131,7 @@ STATIC_LIBS :=
|
||||
VPATH += $(addprefix :,$(filter-out lib,$(patsubst -L%,%,$(filter -L%,$(LDFLAGS)))))
|
||||
|
||||
CS_PROJECTS := flow/actorcompiler flow/coveragetool fdbclient/vexillographer
|
||||
-CPP_PROJECTS := flow fdbrpc fdbclient fdbbackup fdbserver fdbcli bindings/c bindings/java fdbmonitor bindings/flow/tester bindings/flow FDBLibTLS
|
||||
-CPP_PROJECTS := flow fdbrpc fdbclient fdbbackup fdbserver fdbcli bindings/c bindings/java fdbmonitor bindings/flow/tester bindings/flow
|
||||
+CPP_PROJECTS := flow fdbrpc fdbclient fdbbackup fdbserver fdbcli bindings/c fdbmonitor bindings/flow/tester bindings/flow
|
||||
OTHER_PROJECTS := bindings/python bindings/ruby bindings/go
|
||||
|
||||
CS_MK_GENERATED := $(CS_PROJECTS:=/generated.mk)
|
||||
@@ -117,7 +124,7 @@ CPP_MK_GENERATED := $(CPP_PROJECTS:=/generated.mk)
|
||||
ifndef TLS_DISABLED
|
||||
CPP_PROJECTS += FDBLibTLS
|
||||
endif
|
||||
@@ -132,7 +143,7 @@ CPP_MK_GENERATED := $(CPP_PROJECTS:=/generated.mk)
|
||||
MK_GENERATED := $(CS_MK_GENERATED) $(CPP_MK_GENERATED)
|
||||
|
||||
# build/valgrind.mk needs to be included before any _MK_GENERATED (which in turn includes local.mk)
|
||||
|
@ -55,7 +43,7 @@
|
|||
|
||||
ALL_MAKEFILES := Makefile $(MK_INCLUDE) $(patsubst %/generated.mk,%/local.mk,$(MK_GENERATED))
|
||||
|
||||
@@ -127,7 +134,7 @@ TARGETS =
|
||||
@@ -142,7 +153,7 @@ TARGETS =
|
||||
|
||||
default: fdbserver fdbbackup fdbcli fdb_c fdb_python fdb_python_sdist
|
||||
|
||||
|
@ -64,7 +52,7 @@
|
|||
|
||||
# These are always defined and ready to use. Any target that uses them and needs them up to date
|
||||
# should depend on versions.target
|
||||
@@ -149,11 +156,11 @@ Makefiles: $(MK_GENERATED)
|
||||
@@ -164,11 +175,11 @@ Makefiles: $(MK_GENERATED)
|
||||
|
||||
$(CS_MK_GENERATED): build/csprojtom4.py build/csproj.mk Makefile
|
||||
@echo "Creating $@"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- fdbbackup/local.mk.orig 2018-09-11 01:21:54 UTC
|
||||
--- fdbbackup/local.mk.orig 2019-04-09 00:11:05 UTC
|
||||
+++ fdbbackup/local.mk
|
||||
@@ -35,6 +35,8 @@ ifeq ($(PLATFORM),linux)
|
||||
@@ -34,6 +34,8 @@ ifeq ($(PLATFORM),linux)
|
||||
# fdbbackup_STATIC_LIBS += -ltcmalloc -lunwind -lprofiler
|
||||
else ifeq ($(PLATFORM),osx)
|
||||
fdbbackup_LDFLAGS += -lc++
|
||||
|
|
|
@ -1,16 +1,7 @@
|
|||
--- fdbcli/local.mk.orig 2018-09-11 01:21:54 UTC
|
||||
--- fdbcli/local.mk.orig 2019-04-09 00:11:05 UTC
|
||||
+++ fdbcli/local.mk
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
fdbcli_CFLAGS := $(fdbclient_CFLAGS)
|
||||
fdbcli_LDFLAGS := $(fdbrpc_LDFLAGS)
|
||||
-fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a -ldl $(FDB_TLS_LIB)
|
||||
+fdbcli_LIBS := lib/libfdbclient.a lib/libfdbrpc.a lib/libflow.a $(FDB_TLS_LIB)
|
||||
fdbcli_STATIC_LIBS := $(TLS_LIBS)
|
||||
|
||||
fdbcli_GENERATED_SOURCES += versions.h
|
||||
@@ -32,6 +32,8 @@ ifeq ($(PLATFORM),linux)
|
||||
fdbcli_LIBS += -lpthread -lrt
|
||||
@@ -31,9 +31,11 @@ ifeq ($(PLATFORM),linux)
|
||||
fdbcli_LDFLAGS += -static-libstdc++ -static-libgcc -lpthread -lrt -ldl
|
||||
else ifeq ($(PLATFORM),osx)
|
||||
fdbcli_LDFLAGS += -lc++
|
||||
+else ifeq ($(PLATFORM),freebsd)
|
||||
|
@ -18,3 +9,7 @@
|
|||
endif
|
||||
|
||||
test_fdbcli_status: fdbcli
|
||||
- python scripts/test_status.py
|
||||
+ $(PYTHON) scripts/test_status.py
|
||||
|
||||
bin/fdbcli.debug: bin/fdbcli
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
--- fdbclient/BlobStore.h.orig 2019-02-23 13:23:11 UTC
|
||||
+++ fdbclient/BlobStore.h
|
||||
@@ -36,7 +36,7 @@ class BlobStoreEndpoint : public ReferenceCounted<Blob
|
||||
struct Stats {
|
||||
Stats() : requests_successful(0), requests_failed(0), bytes_sent(0) {}
|
||||
Stats operator-(const Stats &rhs);
|
||||
- void clear() { memset(this, sizeof(*this), 0); }
|
||||
+ void clear() { memset(this, 0, sizeof(*this)); }
|
||||
json_spirit::mObject getJSON();
|
||||
|
||||
int64_t requests_successful;
|
|
@ -1,6 +1,6 @@
|
|||
--- fdbmonitor/fdbmonitor.cpp.orig 2019-01-09 22:28:32 UTC
|
||||
--- fdbmonitor/fdbmonitor.cpp.orig 2019-04-09 00:11:05 UTC
|
||||
+++ fdbmonitor/fdbmonitor.cpp
|
||||
@@ -35,6 +35,10 @@
|
||||
@@ -37,6 +37,10 @@
|
||||
#include <linux/limits.h>
|
||||
#endif
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
|||
#ifdef __APPLE__
|
||||
#include <sys/event.h>
|
||||
#include <mach/mach.h>
|
||||
@@ -72,7 +76,7 @@
|
||||
@@ -77,7 +81,7 @@
|
||||
|
||||
#ifdef __linux__
|
||||
typedef fd_set* fdb_fd_set;
|
||||
|
@ -20,7 +20,7 @@
|
|||
typedef int fdb_fd_set;
|
||||
#endif
|
||||
|
||||
@@ -83,7 +87,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd,
|
||||
@@ -88,7 +92,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd,
|
||||
FD_SET( fd, list );
|
||||
if ( fd > *maxfd )
|
||||
*maxfd = fd;
|
||||
|
@ -29,7 +29,7 @@
|
|||
/* ignore maxfd */
|
||||
struct kevent ev;
|
||||
EV_SET( &ev, fd, EVFILT_READ, EV_ADD, 0, 0, cmd );
|
||||
@@ -94,7 +98,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd,
|
||||
@@ -99,7 +103,7 @@ void monitor_fd( fdb_fd_set list, int fd, int* maxfd,
|
||||
void unmonitor_fd( fdb_fd_set list, int fd ) {
|
||||
#ifdef __linux__
|
||||
FD_CLR( fd, list );
|
||||
|
@ -38,7 +38,7 @@
|
|||
struct kevent ev;
|
||||
EV_SET( &ev, fd, EVFILT_READ, EV_DELETE, 0, 0, NULL );
|
||||
kevent( list, &ev, 1, NULL, 0, NULL ); // FIXME: check?
|
||||
@@ -188,7 +192,7 @@ const char* get_value_multi(const CSimpleIni& ini, con
|
||||
@@ -193,7 +197,7 @@ const char* get_value_multi(const CSimpleIni& ini, con
|
||||
}
|
||||
|
||||
double timer() {
|
||||
|
@ -47,7 +47,7 @@
|
|||
struct timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||
return double(ts.tv_sec) + (ts.tv_nsec * 1e-9);
|
||||
@@ -824,7 +828,7 @@ void read_child_output( Command* cmd, int pipe_idx, fd
|
||||
@@ -912,7 +916,7 @@ void read_child_output( Command* cmd, int pipe_idx, fd
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,16 +56,16 @@
|
|||
void watch_conf_dir( int kq, int* confd_fd, std::string confdir ) {
|
||||
struct kevent ev;
|
||||
std::string original = confdir;
|
||||
@@ -841,7 +845,7 @@ void watch_conf_dir( int kq, int* confd_fd, std::strin
|
||||
@@ -929,7 +933,7 @@ void watch_conf_dir( int kq, int* confd_fd, std::strin
|
||||
std::string child = confdir;
|
||||
|
||||
/* Find the nearest existing ancestor */
|
||||
- while( (*confd_fd = open( confdir.c_str(), O_EVTONLY )) < 0 && errno == ENOENT ) {
|
||||
+ while( (*confd_fd = open( confdir.c_str(), O_RDONLY )) < 0 && errno == ENOENT ) {
|
||||
child = confdir;
|
||||
confdir = parentDirectory(confdir);
|
||||
confdir = parentDirectory(confdir, false);
|
||||
}
|
||||
@@ -878,7 +882,7 @@ void watch_conf_file( int kq, int* conff_fd, const cha
|
||||
@@ -966,7 +970,7 @@ void watch_conf_file( int kq, int* conff_fd, const cha
|
||||
}
|
||||
|
||||
/* Open and watch */
|
||||
|
@ -74,16 +74,16 @@
|
|||
if ( *conff_fd >= 0 ) {
|
||||
EV_SET( &ev, *conff_fd, EVFILT_VNODE, EV_ADD | EV_CLEAR, NOTE_WRITE | NOTE_ATTRIB, 0, NULL );
|
||||
kevent( kq, &ev, 1, NULL, 0, NULL );
|
||||
@@ -985,7 +989,7 @@ std::unordered_map<int, std::unordered_set<std::string
|
||||
@@ -1170,7 +1174,7 @@ int main(int argc, char** argv) {
|
||||
// testPathOps(); return -1;
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
std::string lockfile = "/var/run/fdbmonitor.pid";
|
||||
- std::string _confpath = "/etc/foundationdb/foundationdb.conf";
|
||||
+ std::string _confpath = std::string(PREFIX) + "/etc/foundationdb/foundationdb.conf";
|
||||
|
||||
std::vector<const char *> additional_watch_paths;
|
||||
|
||||
@@ -1067,7 +1071,7 @@ int main(int argc, char** argv) {
|
||||
@@ -1252,7 +1256,7 @@ int main(int argc, char** argv) {
|
||||
/* only linux needs this, but... */
|
||||
int maxfd = 0;
|
||||
|
||||
|
@ -92,7 +92,7 @@
|
|||
fd_set rfds;
|
||||
watched_fds = &rfds;
|
||||
|
||||
@@ -1082,12 +1086,12 @@ int main(int argc, char** argv) {
|
||||
@@ -1267,12 +1271,12 @@ int main(int argc, char** argv) {
|
||||
CSimpleIniA* ini = NULL;
|
||||
|
||||
if (daemonize) {
|
||||
|
@ -107,7 +107,7 @@
|
|||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
log_err("daemon", errno, "Unable to daemonize");
|
||||
@@ -1140,12 +1144,12 @@ int main(int argc, char** argv) {
|
||||
@@ -1325,12 +1329,12 @@ int main(int argc, char** argv) {
|
||||
snprintf(pid_buf, sizeof(pid_buf), "%d\n", getpid());
|
||||
ssize_t ign = write(lockfile_fd, pid_buf, strlen(pid_buf));
|
||||
|
||||
|
@ -122,7 +122,7 @@
|
|||
int kq = kqueue();
|
||||
if ( kq < 0 ) {
|
||||
log_err( "kqueue", errno, "Unable to create kqueue" );
|
||||
@@ -1176,7 +1180,7 @@ int main(int argc, char** argv) {
|
||||
@@ -1361,7 +1365,7 @@ int main(int argc, char** argv) {
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -131,7 +131,7 @@
|
|||
signal(SIGCHLD, child_handler);
|
||||
#endif
|
||||
|
||||
@@ -1190,11 +1194,11 @@ int main(int argc, char** argv) {
|
||||
@@ -1375,11 +1379,11 @@ int main(int argc, char** argv) {
|
||||
/* normal will be restored in our main loop in the call to
|
||||
pselect, but none blocks all signals while processing events */
|
||||
sigprocmask(SIG_SETMASK, &full_mask, &normal_mask);
|
||||
|
@ -145,7 +145,7 @@
|
|||
struct stat st_buf;
|
||||
struct timespec mtimespec;
|
||||
|
||||
@@ -1253,7 +1257,7 @@ int main(int argc, char** argv) {
|
||||
@@ -1438,7 +1442,7 @@ int main(int argc, char** argv) {
|
||||
|
||||
load_conf(confpath.c_str(), uid, gid, &normal_mask, &rfds, &maxfd);
|
||||
reload_additional_watches = false;
|
||||
|
@ -154,7 +154,7 @@
|
|||
load_conf( confpath.c_str(), uid, gid, &normal_mask, watched_fds, &maxfd );
|
||||
watch_conf_file( kq, &conff_fd, confpath.c_str() );
|
||||
watch_conf_dir( kq, &confd_fd, confdir );
|
||||
@@ -1291,7 +1295,7 @@ int main(int argc, char** argv) {
|
||||
@@ -1476,7 +1480,7 @@ int main(int argc, char** argv) {
|
||||
if(nfds == 0) {
|
||||
reload = true;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
--- fdbrpc/AsyncFileCached.actor.cpp.orig 2018-05-30 22:33:28 UTC
|
||||
--- fdbrpc/AsyncFileCached.actor.cpp.orig 2019-04-09 00:11:05 UTC
|
||||
+++ fdbrpc/AsyncFileCached.actor.cpp
|
||||
@@ -31,7 +31,7 @@ EvictablePage::~EvictablePage() {
|
||||
if (pageCache->pageSize == 4096)
|
||||
|
@ -9,3 +9,12 @@
|
|||
}
|
||||
if (index > -1) {
|
||||
pageCache->pages[index] = pageCache->pages.back();
|
||||
@@ -155,7 +155,7 @@ void AsyncFileCached::releaseZeroCopy( void* data, int
|
||||
if (length == 4096)
|
||||
FastAllocator<4096>::release(data);
|
||||
else
|
||||
- aligned_free(data);
|
||||
+ free(data);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
--- fdbrpc/IAsyncFile.actor.cpp.orig 2019-01-09 22:28:32 UTC
|
||||
--- fdbrpc/IAsyncFile.actor.cpp.orig 2019-04-09 00:11:05 UTC
|
||||
+++ fdbrpc/IAsyncFile.actor.cpp
|
||||
@@ -42,7 +42,7 @@ ACTOR static Future<Void> zeroRangeHelper( Reference<I
|
||||
Void _ = wait( yield() );
|
||||
@@ -43,7 +43,7 @@ ACTOR static Future<Void> zeroRangeHelper( Reference<I
|
||||
wait( yield() );
|
||||
}
|
||||
|
||||
- aligned_free(zeros);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
--- fdbrpc/local.mk.orig 2018-04-19 02:55:50 UTC
|
||||
--- fdbrpc/local.mk.orig 2019-04-09 00:11:05 UTC
|
||||
+++ fdbrpc/local.mk
|
||||
@@ -20,10 +20,11 @@
|
||||
|
||||
|
@ -7,9 +7,9 @@
|
|||
-fdbrpc_BUILD_SOURCES += fdbrpc/libeio/eio.c
|
||||
+#fdbrpc_BUILD_SOURCES += fdbrpc/libeio/eio.c
|
||||
|
||||
-fdbrpc_CFLAGS := -I$(BOOSTDIR) -I. -Ifdbrpc -Ifdbrpc/libeio -DUSE_UCONTEXT
|
||||
-fdbrpc_CFLAGS := -I$(BOOSTDIR) -I. -Ifdbrpc/libeio -DUSE_UCONTEXT
|
||||
-fdbrpc_LDFLAGS :=
|
||||
+fdbrpc_CFLAGS := -I$(BOOSTDIR)/include -I. -Ifdbrpc -Ifdbrpc/libeio -DUSE_UCONTEXT
|
||||
+fdbrpc_CFLAGS := -I$(BOOSTDIR)/include -I. -DUSE_UCONTEXT
|
||||
+fdbrpc_LDFLAGS := -L$(BOOSTDIR)/lib
|
||||
+fdbrpc_LIBS := -lm -lc++ -lpthread -leio -lboost_system
|
||||
|
||||
|
|
|
@ -1,37 +1,29 @@
|
|||
--- fdbserver/fdbserver.actor.cpp.orig 2019-01-09 22:28:32 UTC
|
||||
--- fdbserver/fdbserver.actor.cpp.orig 2019-04-09 00:11:05 UTC
|
||||
+++ fdbserver/fdbserver.actor.cpp
|
||||
@@ -60,7 +60,7 @@
|
||||
#define BOOST_DATE_TIME_NO_LIB
|
||||
#include <boost/interprocess/managed_shared_memory.hpp>
|
||||
#include "versions.h"
|
||||
#endif
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(__FreeBSD__)
|
||||
#include <execinfo.h>
|
||||
#include <signal.h>
|
||||
#ifdef ALLOC_INSTRUMENTATION
|
||||
@@ -73,6 +73,7 @@
|
||||
#endif
|
||||
|
||||
#include "flow/SimpleOpt.h"
|
||||
+#include <fstream>
|
||||
|
||||
enum {
|
||||
OPT_CONNFILE, OPT_SEEDCONNFILE, OPT_SEEDCONNSTRING, OPT_ROLE, OPT_LISTEN, OPT_PUBLICADDR, OPT_DATAFOLDER, OPT_LOGFOLDER, OPT_PARENTPID, OPT_NEWCONSOLE, OPT_NOBOX, OPT_TESTFILE, OPT_RESTARTING, OPT_RANDOMSEED, OPT_KEY, OPT_MEMLIMIT, OPT_STORAGEMEMLIMIT, OPT_MACHINEID, OPT_DCID, OPT_MACHINE_CLASS, OPT_BUGGIFY, OPT_VERSION, OPT_CRASHONERROR, OPT_HELP, OPT_NETWORKIMPL, OPT_NOBUFSTDOUT, OPT_BUFSTDOUTERR, OPT_TRACECLOCK, OPT_NUMTESTERS, OPT_DEVHELP, OPT_ROLLSIZE, OPT_MAXLOGS, OPT_MAXLOGSSIZE, OPT_KNOB, OPT_TESTSERVERS, OPT_TEST_ON_SERVERS, OPT_METRICSCONNFILE, OPT_METRICSPREFIX,
|
||||
@@ -353,7 +354,7 @@ class WorldReadablePermissions { (public)
|
||||
@@ -288,7 +288,7 @@ class WorldReadablePermissions { (public)
|
||||
throw platform_error();
|
||||
}
|
||||
permission.set_permissions( &sa );
|
||||
-#elif (defined(__linux__) || defined(__APPLE__))
|
||||
+#elif (defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__))
|
||||
+#elif (defined(__linux__) || defined(__APPLE__)) || defined(__FreeBSD__)
|
||||
// There is nothing to do here, since the default permissions are fine
|
||||
#else
|
||||
#error Port me!
|
||||
@@ -363,7 +364,7 @@ class WorldReadablePermissions { (public)
|
||||
@@ -298,7 +298,7 @@ class WorldReadablePermissions { (public)
|
||||
virtual ~WorldReadablePermissions() {
|
||||
#ifdef _WIN32
|
||||
LocalFree( sa.lpSecurityDescriptor );
|
||||
-#elif (defined(__linux__) || defined(__APPLE__))
|
||||
+#elif (defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__))
|
||||
+#elif (defined(__linux__) || defined(__APPLE__)) || defined(__FreeBSD__)
|
||||
// There is nothing to do here, since the default permissions are fine
|
||||
#else
|
||||
#error Port me!
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- fdbserver/local.mk.orig 2018-09-11 01:21:54 UTC
|
||||
--- fdbserver/local.mk.orig 2019-04-09 00:11:05 UTC
|
||||
+++ fdbserver/local.mk
|
||||
@@ -35,6 +35,8 @@ ifeq ($(PLATFORM),linux)
|
||||
@@ -34,6 +34,8 @@ ifeq ($(PLATFORM),linux)
|
||||
# fdbserver_STATIC_LIBS += -ltcmalloc -lunwind -lprofiler
|
||||
else ifeq ($(PLATFORM),osx)
|
||||
fdbserver_LDFLAGS += -lc++
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- fdbserver/worker.actor.cpp.orig 2019-01-09 22:28:32 UTC
|
||||
--- fdbserver/worker.actor.cpp.orig 2019-04-09 00:11:05 UTC
|
||||
+++ fdbserver/worker.actor.cpp
|
||||
@@ -39,7 +39,7 @@
|
||||
@@ -41,7 +41,7 @@
|
||||
#include "fdbclient/ClientWorkerInterface.h"
|
||||
#include "flow/Profiler.h"
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
#ifdef USE_GPERFTOOLS
|
||||
#include "gperftools/profiler.h"
|
||||
#endif
|
||||
@@ -272,7 +272,7 @@ ACTOR Future<Void> registrationClient( Reference<Async
|
||||
@@ -373,7 +373,7 @@ ACTOR Future<Void> registrationClient(
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
|||
//A set of threads that should be profiled
|
||||
std::set<std::thread::id> profiledThreads;
|
||||
|
||||
@@ -284,7 +284,7 @@ int filter_in_thread(void *arg) {
|
||||
@@ -385,7 +385,7 @@ int filter_in_thread(void *arg) {
|
||||
|
||||
//Enables the calling thread to be profiled
|
||||
void registerThreadForProfiling() {
|
||||
|
@ -27,7 +27,7 @@
|
|||
//Not sure if this is actually needed, but a call to backtrace was advised here:
|
||||
//http://groups.google.com/group/google-perftools/browse_thread/thread/0dfd74532e038eb8/2686d9f24ac4365f?pli=1
|
||||
profiledThreads.insert(std::this_thread::get_id());
|
||||
@@ -298,7 +298,7 @@ void registerThreadForProfiling() {
|
||||
@@ -399,7 +399,7 @@ void registerThreadForProfiling() {
|
||||
void updateCpuProfiler(ProfilerRequest req) {
|
||||
switch (req.type) {
|
||||
case ProfilerRequest::Type::GPROF:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- flow/Deque.h.orig 2019-01-09 22:28:32 UTC
|
||||
--- flow/Deque.h.orig 2019-04-09 00:11:05 UTC
|
||||
+++ flow/Deque.h
|
||||
@@ -166,7 +166,7 @@ class Deque { (private)
|
||||
@@ -168,7 +168,7 @@ class Deque { (private)
|
||||
new (&newArr[i - begin]) T(std::move(arr[i&mask]));
|
||||
arr[i&mask].~T();
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
|||
arr = newArr;
|
||||
end -= begin;
|
||||
begin = 0;
|
||||
@@ -177,8 +177,8 @@ class Deque { (private)
|
||||
@@ -179,7 +179,7 @@ class Deque { (private)
|
||||
for (int i = begin; i != end; i++)
|
||||
arr[i&mask].~T();
|
||||
if(arr)
|
||||
|
@ -18,6 +18,3 @@
|
|||
}
|
||||
};
|
||||
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- flow/FastAlloc.cpp.orig 2018-04-22 14:45:22 UTC
|
||||
--- flow/FastAlloc.cpp.orig 2019-04-09 00:11:05 UTC
|
||||
+++ flow/FastAlloc.cpp
|
||||
@@ -51,6 +51,9 @@
|
||||
@@ -53,6 +53,9 @@
|
||||
#elif defined(__APPLE__)
|
||||
#pragma message "init_priority is not supported on this platform; will this be a problem?"
|
||||
#define INIT_SEG
|
||||
|
|
|
@ -1,11 +1,33 @@
|
|||
--- flow/Net2.actor.cpp.orig 2019-01-09 22:28:32 UTC
|
||||
--- flow/Net2.actor.cpp.orig 2019-04-09 00:11:05 UTC
|
||||
+++ flow/Net2.actor.cpp
|
||||
@@ -56,7 +56,7 @@ uint64_t compatibleProtocolVersionMask = 0xfffffffffff
|
||||
uint64_t minValidProtocolVersion = 0x0FDB00A200060001LL;
|
||||
|
||||
@@ -62,7 +62,7 @@ const uint64_t minValidProtocolVersion = 0x0FDB0
|
||||
// This assert is intended to help prevent incrementing the leftmost digits accidentally. It will probably need to change when we reach version 10.
|
||||
static_assert(currentProtocolVersion < 0x0FDB00B100000000LL, "Unexpected protocol version");
|
||||
|
||||
-#if defined(__linux__)
|
||||
+#if defined(__linux__) || defined(__FreeBSD__)
|
||||
#include <execinfo.h>
|
||||
|
||||
volatile double net2liveness = 0;
|
||||
@@ -437,6 +437,12 @@ class Connection : public IConnection, ReferenceCounte
|
||||
}
|
||||
};
|
||||
|
||||
+#if BOOST_VERSION >= 107000
|
||||
+#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
|
||||
+#else
|
||||
+#define GET_IO_SERVICE(s) ((s).get_io_service())
|
||||
+#endif
|
||||
+
|
||||
class Listener : public IListener, ReferenceCounted<Listener> {
|
||||
NetworkAddress listenAddress;
|
||||
tcp::acceptor acceptor;
|
||||
@@ -459,7 +465,7 @@ class Listener : public IListener, ReferenceCounted<Li
|
||||
|
||||
private:
|
||||
ACTOR static Future<Reference<IConnection>> doAccept( Listener* self ) {
|
||||
- state Reference<Connection> conn( new Connection( self->acceptor.get_io_service() ) );
|
||||
+ state Reference<Connection> conn( new Connection( GET_IO_SERVICE(self->acceptor) ) );
|
||||
state tcp::acceptor::endpoint_type peer_endpoint;
|
||||
try {
|
||||
BindPromise p("N2_AcceptError", UID());
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- flow/Platform.cpp.orig 2019-01-09 22:28:32 UTC
|
||||
--- flow/Platform.cpp.orig 2019-04-09 00:11:05 UTC
|
||||
+++ flow/Platform.cpp
|
||||
@@ -71,6 +71,7 @@
|
||||
@@ -72,6 +72,7 @@
|
||||
|
||||
#include <dirent.h>
|
||||
#include <sys/time.h>
|
||||
|
@ -8,7 +8,7 @@
|
|||
#include <sys/mman.h>
|
||||
#include <unistd.h>
|
||||
#include <ftw.h>
|
||||
@@ -119,7 +120,13 @@
|
||||
@@ -122,7 +123,13 @@
|
||||
#include <IOKit/IOBSD.h>
|
||||
#endif
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
std::string removeWhitespace(const std::string &t)
|
||||
{
|
||||
@@ -198,7 +205,7 @@ double getProcessorTimeThread() {
|
||||
@@ -201,7 +208,7 @@ double getProcessorTimeThread() {
|
||||
throw platform_error();
|
||||
}
|
||||
return FiletimeAsInt64(ftKernel) / double(1e7) + FiletimeAsInt64(ftUser) / double(1e7);
|
||||
|
@ -31,7 +31,7 @@
|
|||
return getProcessorTimeGeneric(RUSAGE_THREAD);
|
||||
#elif defined(__APPLE__)
|
||||
/* No RUSAGE_THREAD so we use the lower level interface */
|
||||
@@ -266,6 +273,14 @@ uint64_t getResidentMemoryUsage() {
|
||||
@@ -269,6 +276,14 @@ uint64_t getResidentMemoryUsage() {
|
||||
throw platform_error();
|
||||
}
|
||||
return info.resident_size;
|
||||
|
@ -41,12 +41,12 @@
|
|||
+ if (getrusage(RUSAGE_SELF | RUSAGE_THREAD, &rusage) == 0) {
|
||||
+ return rusage.ru_maxrss;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ return 0;
|
||||
#else
|
||||
#warning getMemoryUsage unimplemented on this platform
|
||||
return 0;
|
||||
@@ -304,7 +319,7 @@ uint64_t getMemoryUsage() {
|
||||
@@ -307,7 +322,7 @@ uint64_t getMemoryUsage() {
|
||||
}
|
||||
return info.virtual_size;
|
||||
#else
|
||||
|
@ -55,7 +55,7 @@
|
|||
return 0;
|
||||
#endif
|
||||
}
|
||||
@@ -427,6 +442,24 @@ void getMachineRAMInfo(MachineRAMInfo& memInfo) {
|
||||
@@ -430,6 +445,24 @@ void getMachineRAMInfo(MachineRAMInfo& memInfo) {
|
||||
memInfo.total = pagesize * (vm_stat.free_count + vm_stat.active_count + vm_stat.inactive_count + vm_stat.wire_count);
|
||||
memInfo.available = pagesize * vm_stat.free_count;
|
||||
memInfo.committed = memInfo.total - memInfo.available;
|
||||
|
@ -80,7 +80,7 @@
|
|||
#else
|
||||
#warning getMachineRAMInfo unimplemented on this platform
|
||||
#endif
|
||||
@@ -451,7 +484,7 @@ Error systemErrorCodeToError() {
|
||||
@@ -454,7 +487,7 @@ Error systemErrorCodeToError() {
|
||||
void getDiskBytes(std::string const& directory, int64_t& free, int64_t& total) {
|
||||
INJECT_FAULT( platform_error, "getDiskBytes" );
|
||||
#if defined(__unixish__)
|
||||
|
@ -89,29 +89,20 @@
|
|||
struct statvfs buf;
|
||||
if (statvfs(directory.c_str(), &buf)) {
|
||||
Error e = systemErrorCodeToError();
|
||||
@@ -497,7 +530,7 @@ void getDiskBytes(std::string const& directory, int64_
|
||||
#endif
|
||||
}
|
||||
|
||||
-#ifdef __unixish__
|
||||
+#if defined(__linux__) || defined(__APPLE__)
|
||||
const char* getInterfaceName(uint32_t _ip) {
|
||||
INJECT_FAULT( platform_error, "getInterfaceName" );
|
||||
static char iname[20];
|
||||
@@ -744,6 +777,30 @@ dev_t getDeviceId(std::string path) {
|
||||
@@ -753,6 +786,30 @@ dev_t getDeviceId(std::string path) {
|
||||
|
||||
#endif
|
||||
|
||||
+#ifdef __FreeBSD__
|
||||
+void getNetworkTraffic(uint32_t ip, uint64_t& bytesSent, uint64_t& bytesReceived,
|
||||
+ uint64_t& outSegs, uint64_t& retransSegs) {
|
||||
+void getNetworkTraffic(const IPAddress &ip, uint64_t& bytesSent, uint64_t& bytesReceived, uint64_t& outSegs,
|
||||
+ uint64_t& retransSegs) {
|
||||
+ bytesReceived = 0;
|
||||
+ bytesSent = 0;
|
||||
+ outSegs = 0;
|
||||
+ retransSegs = 0;
|
||||
+}
|
||||
+
|
||||
+void getMachineLoad(uint64_t& idleTime, uint64_t& totalTime) {
|
||||
+void getMachineLoad(uint64_t& idleTime, uint64_t& totalTime, bool logDetails) {
|
||||
+ idleTime = 0;
|
||||
+ totalTime = 0;
|
||||
+}
|
||||
|
@ -127,9 +118,9 @@
|
|||
+#endif
|
||||
+
|
||||
#ifdef __APPLE__
|
||||
void getNetworkTraffic(uint32_t ip, uint64_t& bytesSent, uint64_t& bytesReceived,
|
||||
uint64_t& outSegs, uint64_t& retransSegs) {
|
||||
@@ -1268,7 +1325,7 @@ struct OffsetTimer {
|
||||
void getNetworkTraffic(const IPAddress& ip, uint64_t& bytesSent, uint64_t& bytesReceived, uint64_t& outSegs,
|
||||
uint64_t& retransSegs) {
|
||||
@@ -1277,7 +1334,7 @@ struct OffsetTimer {
|
||||
return offset + count * secondsPerCount;
|
||||
}
|
||||
};
|
||||
|
@ -138,7 +129,7 @@
|
|||
#define DOUBLETIME(ts) (double(ts.tv_sec) + (ts.tv_nsec * 1e-9))
|
||||
#ifndef CLOCK_MONOTONIC_RAW
|
||||
#define CLOCK_MONOTONIC_RAW 4 // Confirmed safe to do with glibc >= 2.11 and kernel >= 2.6.28. No promises with older glibc. Older kernel definitely breaks it.
|
||||
@@ -1333,7 +1390,7 @@ double timer() {
|
||||
@@ -1342,7 +1399,7 @@ double timer() {
|
||||
GetSystemTimeAsFileTime(&fileTime);
|
||||
static_assert( sizeof(fileTime) == sizeof(uint64_t), "FILETIME size wrong" );
|
||||
return (*(uint64_t*)&fileTime - FILETIME_C_EPOCH) * 100e-9;
|
||||
|
@ -147,7 +138,7 @@
|
|||
struct timespec ts;
|
||||
clock_gettime(CLOCK_REALTIME, &ts);
|
||||
return double(ts.tv_sec) + (ts.tv_nsec * 1e-9);
|
||||
@@ -1353,7 +1410,7 @@ uint64_t timer_int() {
|
||||
@@ -1362,7 +1419,7 @@ uint64_t timer_int() {
|
||||
GetSystemTimeAsFileTime(&fileTime);
|
||||
static_assert( sizeof(fileTime) == sizeof(uint64_t), "FILETIME size wrong" );
|
||||
return (*(uint64_t*)&fileTime - FILETIME_C_EPOCH);
|
||||
|
@ -156,16 +147,26 @@
|
|||
struct timespec ts;
|
||||
clock_gettime(CLOCK_REALTIME, &ts);
|
||||
return uint64_t(ts.tv_sec) * 1e9 + ts.tv_nsec;
|
||||
@@ -1502,7 +1559,7 @@ static void *allocateInternal(size_t length, bool larg
|
||||
@@ -1412,7 +1469,7 @@ void setMemoryQuota( size_t limit ) {
|
||||
}
|
||||
if (!AssignProcessToJobObject( job, GetCurrentProcess() ))
|
||||
TraceEvent(SevWarn, "FailedToSetMemoryLimit").GetLastError();
|
||||
-#elif defined(__linux__)
|
||||
+#elif defined(__linux__) || defined(__FreeBSD__)
|
||||
struct rlimit rlim;
|
||||
if (getrlimit(RLIMIT_AS, &rlim)) {
|
||||
TraceEvent(SevError, "GetMemoryLimit").GetLastError();
|
||||
@@ -1515,7 +1572,8 @@ static void *allocateInternal(size_t length, bool larg
|
||||
flags |= MAP_HUGETLB;
|
||||
|
||||
return mmap(NULL, length, PROT_READ|PROT_WRITE, flags, -1, 0);
|
||||
-#elif defined(__APPLE__)
|
||||
+#elif defined(__APPLE__) || defined(__FreeBSD__)
|
||||
+
|
||||
int flags = MAP_PRIVATE|MAP_ANON;
|
||||
|
||||
return mmap(NULL, length, PROT_READ|PROT_WRITE, flags, -1, 0);
|
||||
@@ -1576,6 +1633,11 @@ void setAffinity(int proc) {
|
||||
@@ -1589,6 +1647,11 @@ void setAffinity(int proc) {
|
||||
CPU_ZERO(&set);
|
||||
CPU_SET(proc, &set);
|
||||
sched_setaffinity(0, sizeof(cpu_set_t), &set);
|
||||
|
@ -177,7 +178,7 @@
|
|||
#endif
|
||||
}
|
||||
|
||||
@@ -1636,7 +1698,7 @@ void renameFile( std::string const& fromPath, std::str
|
||||
@@ -1649,7 +1712,7 @@ void renameFile( std::string const& fromPath, std::str
|
||||
//renamedFile();
|
||||
return;
|
||||
}
|
||||
|
@ -186,7 +187,7 @@
|
|||
if (!rename( fromPath.c_str(), toPath.c_str() )) {
|
||||
//FIXME: We cannot inject faults after renaming the file, because we could end up with two asyncFileNonDurable open for the same file
|
||||
//renamedFile();
|
||||
@@ -1759,7 +1821,7 @@ bool createDirectory( std::string const& directory ) {
|
||||
@@ -1807,7 +1870,7 @@ bool createDirectory( std::string const& directory ) {
|
||||
Error e = systemErrorCodeToError();
|
||||
TraceEvent(SevError, "CreateDirectory").detail("Directory", directory).GetLastError().error(e);
|
||||
throw e;
|
||||
|
@ -195,16 +196,16 @@
|
|||
size_t sep = 0;
|
||||
do {
|
||||
sep = directory.find_first_of('/', sep + 1);
|
||||
@@ -1804,7 +1866,7 @@ std::string abspath( std::string const& filename ) {
|
||||
@@ -1959,7 +2022,7 @@ std::string abspath( std::string const& path, bool res
|
||||
if (*x == '/')
|
||||
*x = CANONICAL_PATH_SEPARATOR;
|
||||
return nameBuffer;
|
||||
-#elif (defined(__linux__) || defined(__APPLE__))
|
||||
+#elif (defined(__linux__) || defined(__APPLE__)) || defined(__FreeBSD__)
|
||||
|
||||
char result[PATH_MAX];
|
||||
auto r = realpath( filename.c_str(), result );
|
||||
if (!r) {
|
||||
@@ -1870,7 +1932,7 @@ std::string getUserHomeDirectory() {
|
||||
// Must resolve links, so first try realpath on the whole thing
|
||||
@@ -2023,7 +2086,7 @@ std::string getUserHomeDirectory() {
|
||||
|
||||
#ifdef _WIN32
|
||||
#define FILE_ATTRIBUTE_DATA DWORD
|
||||
|
@ -213,7 +214,7 @@
|
|||
#define FILE_ATTRIBUTE_DATA mode_t
|
||||
#else
|
||||
#error Port me!
|
||||
@@ -1879,7 +1941,7 @@ std::string getUserHomeDirectory() {
|
||||
@@ -2032,7 +2095,7 @@ std::string getUserHomeDirectory() {
|
||||
bool acceptFile( FILE_ATTRIBUTE_DATA fileAttributes, std::string name, std::string extension ) {
|
||||
#ifdef _WIN32
|
||||
return !(fileAttributes & FILE_ATTRIBUTE_DIRECTORY) && StringRef(name).endsWith(extension);
|
||||
|
@ -222,7 +223,7 @@
|
|||
return S_ISREG(fileAttributes) && StringRef(name).endsWith(extension);
|
||||
#else
|
||||
#error Port me!
|
||||
@@ -1889,7 +1951,7 @@ bool acceptFile( FILE_ATTRIBUTE_DATA fileAttributes, s
|
||||
@@ -2042,7 +2105,7 @@ bool acceptFile( FILE_ATTRIBUTE_DATA fileAttributes, s
|
||||
bool acceptDirectory( FILE_ATTRIBUTE_DATA fileAttributes, std::string name, std::string extension ) {
|
||||
#ifdef _WIN32
|
||||
return (fileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0;
|
||||
|
@ -231,7 +232,7 @@
|
|||
return S_ISDIR(fileAttributes);
|
||||
#else
|
||||
#error Port me!
|
||||
@@ -1925,7 +1987,7 @@ std::vector<std::string> findFiles( std::string const&
|
||||
@@ -2078,7 +2141,7 @@ std::vector<std::string> findFiles( std::string const&
|
||||
}
|
||||
FindClose(h);
|
||||
}
|
||||
|
@ -240,7 +241,7 @@
|
|||
DIR *dip;
|
||||
|
||||
if ((dip = opendir(directory.c_str())) != NULL) {
|
||||
@@ -1989,7 +2051,7 @@ void findFilesRecursively(std::string path, std::vecto
|
||||
@@ -2142,7 +2205,7 @@ void findFilesRecursively(std::string path, std::vecto
|
||||
void threadSleep( double seconds ) {
|
||||
#ifdef _WIN32
|
||||
Sleep( (DWORD)(seconds * 1e3) );
|
||||
|
@ -249,7 +250,7 @@
|
|||
struct timespec req, rem;
|
||||
|
||||
req.tv_sec = seconds;
|
||||
@@ -2027,7 +2089,7 @@ void makeTemporary( const char* filename ) {
|
||||
@@ -2180,7 +2243,7 @@ void makeTemporary( const char* filename ) {
|
||||
THREAD_HANDLE startThread(void (*func) (void *), void *arg) {
|
||||
return (void *)_beginthread(func, 0, arg);
|
||||
}
|
||||
|
@ -258,7 +259,7 @@
|
|||
THREAD_HANDLE startThread(void *(*func) (void *), void *arg) {
|
||||
pthread_t t;
|
||||
pthread_create(&t, NULL, func, arg);
|
||||
@@ -2040,7 +2102,7 @@ THREAD_HANDLE startThread(void *(*func) (void *), void
|
||||
@@ -2193,7 +2256,7 @@ THREAD_HANDLE startThread(void *(*func) (void *), void
|
||||
void waitThread(THREAD_HANDLE thread) {
|
||||
#ifdef _WIN32
|
||||
WaitForSingleObject(thread, INFINITE);
|
||||
|
@ -267,7 +268,7 @@
|
|||
pthread_join(thread, NULL);
|
||||
#else
|
||||
#error Port me!
|
||||
@@ -2082,7 +2144,7 @@ int64_t fileSize(std::string const& filename) {
|
||||
@@ -2235,7 +2298,7 @@ int64_t fileSize(std::string const& filename) {
|
||||
return 0;
|
||||
else
|
||||
return file_status.st_size;
|
||||
|
@ -276,7 +277,7 @@
|
|||
struct stat file_status;
|
||||
if(stat(filename.c_str(), &file_status) != 0)
|
||||
return 0;
|
||||
@@ -2225,6 +2287,8 @@ std::string getDefaultPluginPath( const char* plugin_n
|
||||
@@ -2378,6 +2441,8 @@ std::string getDefaultPluginPath( const char* plugin_n
|
||||
return format( "/usr/lib/foundationdb/plugins/%s.so", plugin_name );
|
||||
#elif defined(__APPLE__)
|
||||
return format( "/usr/local/foundationdb/plugins/%s.dylib", plugin_name );
|
||||
|
@ -285,7 +286,7 @@
|
|||
#else
|
||||
#error Port me!
|
||||
#endif
|
||||
@@ -2475,7 +2539,7 @@ void* getImageOffset() { return NULL; }
|
||||
@@ -2629,7 +2694,7 @@ void* getImageOffset() { return NULL; }
|
||||
#endif
|
||||
|
||||
bool isLibraryLoaded(const char* lib_path) {
|
||||
|
@ -294,7 +295,7 @@
|
|||
#error Port me!
|
||||
#endif
|
||||
|
||||
@@ -2491,7 +2555,7 @@ bool isLibraryLoaded(const char* lib_path) {
|
||||
@@ -2645,7 +2710,7 @@ bool isLibraryLoaded(const char* lib_path) {
|
||||
}
|
||||
|
||||
void* loadLibrary(const char* lib_path) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
--- flow/Platform.h.orig 2019-01-09 22:28:32 UTC
|
||||
--- flow/Platform.h.orig 2019-04-09 00:11:05 UTC
|
||||
+++ flow/Platform.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#define FLOW_PLATFORM_H
|
||||
|
@ -9,7 +9,7 @@
|
|||
#define __unixish__ 1
|
||||
#endif
|
||||
|
||||
@@ -182,6 +182,8 @@ THREAD_HANDLE startThread(void *(func) (void *), void
|
||||
@@ -188,6 +188,8 @@ THREAD_HANDLE startThread(void *(func) (void *), void
|
||||
#if defined(_WIN32)
|
||||
#define DYNAMIC_LIB_EXT ".dll"
|
||||
#elif defined(__linux)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
--- flow/ThreadPrimitives.h.orig 2019-01-09 22:28:32 UTC
|
||||
--- flow/ThreadPrimitives.h.orig 2019-04-09 00:11:05 UTC
|
||||
+++ flow/ThreadPrimitives.h
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "Error.h"
|
||||
#include "Trace.h"
|
||||
#include "flow/Error.h"
|
||||
#include "flow/Trace.h"
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(__FreeBSD__)
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
--- flow/libs/system/src/error_code.cpp.orig 2018-09-11 01:21:54 UTC
|
||||
+++ flow/libs/system/src/error_code.cpp
|
||||
@@ -43,6 +43,7 @@ using namespace boost::system::errc;
|
||||
#endif
|
||||
//----------------------------------------------------------------------------//
|
||||
|
||||
+#if BOOST_VERSION < 106800
|
||||
namespace
|
||||
{
|
||||
#if defined(__PGI)
|
||||
@@ -434,3 +435,4 @@ namespace boost
|
||||
|
||||
} // namespace system
|
||||
} // namespace boost
|
||||
+#endif
|
|
@ -1,12 +1,12 @@
|
|||
--- flow/local.mk.orig 2018-04-19 02:55:50 UTC
|
||||
--- flow/local.mk.orig 2019-04-09 00:11:05 UTC
|
||||
+++ flow/local.mk
|
||||
@@ -20,8 +20,9 @@
|
||||
|
||||
# -*- mode: makefile; -*-
|
||||
|
||||
-flow_CFLAGS := -I$(BOOSTDIR) -I. -Iflow -DUSE_UCONTEXT
|
||||
-flow_CFLAGS := -I$(BOOSTDIR) -I. -DUSE_UCONTEXT
|
||||
-flow_LDFLAGS :=
|
||||
+flow_CFLAGS := -I$(BOOSTDIR)/include -I. -Iflow -DUSE_UCONTEXT
|
||||
+flow_CFLAGS := -I$(BOOSTDIR)/include -I. -DUSE_UCONTEXT
|
||||
+flow_LDFLAGS := -L$(BOOSTDIR)/lib
|
||||
+flow_LIBS := -lm -lc++ -lpthread -leio -lexecinfo -lboost_system
|
||||
|
||||
|
|
Loading…
Reference in a new issue