cauldrondevelopmentllc / cbang Goto Github PK
View Code? Open in Web Editor NEWC! (cbang) is a library for cross-platform C++ development.
License: GNU Lesser General Public License v2.1
C! (cbang) is a library for cross-platform C++ development.
License: GNU Lesser General Public License v2.1
Because of following code flags = flags.replace('-Wall', '').replace('-Werror', '')
, something like -Werror=format-security
becomes =format-security
.
https://github.com/CauldronDevelopmentLLC/cbang/search?utf8=✓&q=-Werror&type=Code
The 7-zip LZMA SDK is public domain and supports multi-threaded compression.
g++ -o build/cbang/jsapi/JSONAPI.o -c -std=c++11 -g -Wall -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-error=parentheses -Wno-deprecated-declarations -fPIC -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/jsapi/JSONAPI.cpp
src/cbang/json/Writer.cpp: In member function 'virtual void cb::JSON::Writer::write(double)':
src/cbang/json/Writer.cpp:83:25: warning: comparison of constant '-1' with boolean expression is always false [-Wbool-compare]
else if (isinf(value) == -1) stream << "\"-Infinity\"";
~~~~~~~~~~~~~^~~~~
Cbang is used in Camotics and JmpAPI. As indicated at #16 it is not expected to be used in many other projects. Are there any others notable projects using Cbang for which a packaged Cbang in linux repositories may be helpful?
This should allow 32-bit builds running under WOW64 to see up to 64 cpus.
_WIN32_WINNT is already defined >= 0x0501, so it should be ok.
There has been recent talk about the 32 thread limit for Windows at https://foldingforum.org/viewtopic.php?f=72&t=37736
On macOS 10.9+, fahclient is started with --respawn alone, which results in client logs being overwritten by log rotation by the child process. The rotated logs have timestamp in seconds, but respawn takes much less time than that. Result is a rotated logs directory which is mostly uninteresting parent process logs. (Parent rotates previous client log and starts child. Child rotates parent log overwriting previous log.)
Respawn should unset log, just as daemon does.
Need a simple option action ServerApplication::respawnAction, something like
if (!options["child"].toBoolean()
&& options["respawn"].toBoolean())
options["log"].unset();
acmev2Tests
and requestTests
fail to build with undefined references.
I've started getting errors when I try to compile core21. Here's the message:
Checking for C library setupapi... no
Exception: Need library setupapi:
File "C:\Code\core21-64\SConstruct", line 30:
conf.CBConfig('libfah')
File "C:\Python27\Scripts\..\Lib\site-packages\scons-2.3.0\SCons\SConf.py", line 640:
ret = self.test(context, *args, **kw)
File "C:\Libs\cbang-64\config\__init__.py", line 166:
ret = env.cb_methods[name](conf, **kwargs)
File "C:\Libs\libfah-64\config\libfah\__init__.py", line 21:
conf.CBConfig('libfah-deps')
File "C:\Python27\Scripts\..\Lib\site-packages\scons-2.3.0\SCons\SConf.py", line 640:
ret = self.test(context, *args, **kw)
File "C:\Libs\cbang-64\config\__init__.py", line 166:
ret = env.cb_methods[name](conf, **kwargs)
File "C:\Libs\libfah-64\config\libfah\__init__.py", line 11:
conf.CBConfig('cbang')
File "C:\Python27\Scripts\..\Lib\site-packages\scons-2.3.0\SCons\SConf.py", line 640:
ret = self.test(context, *args, **kw)
File "C:\Libs\cbang-64\config\__init__.py", line 166:
ret = env.cb_methods[name](conf, **kwargs)
File "C:\Libs\cbang-64\config\cbang\__init__.py", line 97:
conf.CBConfig('cbang-deps', local = False)
File "C:\Python27\Scripts\..\Lib\site-packages\scons-2.3.0\SCons\SConf.py", line 640:
ret = self.test(context, *args, **kw)
File "C:\Libs\cbang-64\config\__init__.py", line 166:
ret = env.cb_methods[name](conf, **kwargs)
File "C:\Libs\cbang-64\config\cbang\__init__.py", line 61:
conf.CBRequireLib('setupapi')
File "C:\Python27\Scripts\..\Lib\site-packages\scons-2.3.0\SCons\SConf.py", line 640:
ret = self.test(context, *args, **kw)
File "C:\Libs\cbang-64\config\__init__.py", line 111:
raise Exception, 'Need library ' + lib
Note the error occurs when compiling core21, not when compiling cbang itself. But it's coming from cbang code, which makes me think something there may have changed that's triggering this.
cbang/src/cbang/event/Websocket.cpp
Line 38 in 8ea7168
As a workaround, websocket support can be disabled with scons disable_local=libevent
, which causes the entire event
submodule to be disabled.
I am trying to use system re2 library. I've removed src/re2 from cbang sources and installed re2-devel package. This is what I get:
g++ -o build/cbang/event/HTTPRE2Matcher.o -c -std=gnu++98 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/event/HTTPRE2Matcher.cpp
In file included from /usr/include/c++/6.3.1/mutex:35:0,
from /usr/include/re2/re2.h:184,
from src/cbang/event/HTTPRE2Matcher.h:37,
from src/cbang/event/HTTPRE2Matcher.cpp:33:
/usr/include/c++/6.3.1/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
#error This file requires compiler and library support \
^~~~~
g++ -o build/cbang/event/Headers.o -c -std=gnu++98 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/event/Headers.cpp
In file included from src/cbang/event/HTTPRE2Matcher.h:37:0,
from src/cbang/event/HTTPRE2Matcher.cpp:33:
/usr/include/re2/re2.h:734:16: error: 'once_flag' in namespace 'std' does not name a type
mutable std::once_flag rprog_once_;
^~~~~~~~~
/usr/include/re2/re2.h:735:16: error: 'once_flag' in namespace 'std' does not name a type
mutable std::once_flag num_captures_once_;
^~~~~~~~~
/usr/include/re2/re2.h:736:16: error: 'once_flag' in namespace 'std' does not name a type
mutable std::once_flag named_groups_once_;
^~~~~~~~~
/usr/include/re2/re2.h:737:16: error: 'once_flag' in namespace 'std' does not name a type
mutable std::once_flag group_names_once_;
^~~~~~~~~
I am using package from Fedora re2-devel-20160401-2.fc25.x86_64. As I see it, something requires newer compiler standard flag?
With Fedora compiler flags this is an error.
g++ -o build/cbang/os/SystemUtilities.o -c -std=gnu++98 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/SystemUtilities.cpp
g++ -o build/cbang/os/TemporaryDirectory.o -c -std=gnu++98 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/TemporaryDirectory.cpp
src/cbang/os/SystemUtilities.cpp: In function 'void cb::SystemUtilities::daemonize()':
src/cbang/os/SystemUtilities.cpp:961:47: error: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result]
(void)::freopen("/dev/null", "r", stdin);
^
src/cbang/os/SystemUtilities.cpp:962:48: error: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result]
(void)::freopen("/dev/null", "w", stdout);
^
src/cbang/os/SystemUtilities.cpp:963:48: error: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result]
(void)::freopen("/dev/null", "w", stderr);
^
Hi. I'm trying to port this over to FreeBSD, and the logical first step would be to use the ported version of libevent - and possibly also bzip2, sqlite3, and zlib - instead of the included one, which simply doesn't build. Any advice how to do this? Thanks!
Compiling cbang 1.6.1 on FreeBSD aborts with the following error:
c++ -o build/cbang/tar/TarFileReader.o -c -faligned-new -std=c++14 -fsigned-char -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -funroll-loops -fno-pie -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -fPIC -DNDEBUG -D_REENTRANT -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/tar/TarFileReader.cpp
In file included from src/cbang/http/SessionsTable.cpp:35:
In file included from src/cbang/db/MakeTableImpl.def:34:
In file included from src/cbang/db/Blob.h:35:
In file included from src/cbang/packet/Packet.h:35:
In file included from src/cbang/packet/PacketField.h:36:
src/cbang/net/Swab.h:46:10: fatal error: 'endian.h' file not found
#include <endian.h>
^~~~~~~~~~
1 error generated.
This is easyly fixed with the attached patch.
patch-src_cbang_net_Swab.h.txt
Compiling cbang 1.6.1 on FreeBSD aborts with the following errors:
c++ -o build/cbang/json/List.o -c -faligned-new -std=c++14 -fsigned-char -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -funroll-loops -fno-pie -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -fPIC -DNDEBUG -D_REENTRANT -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/json/List.cpp
src/cbang/os/SystemInfo.cpp:98:11: error: use of undeclared identifier 'CTL_HW'
nm[0] = CTL_HW; nm[1] = HW_AVAILCPU;
^
src/cbang/os/SystemInfo.cpp:98:27: error: use of undeclared identifier 'HW_AVAILCPU'
nm[0] = CTL_HW; nm[1] = HW_AVAILCPU;
^
src/cbang/os/SystemInfo.cpp:99:3: error: use of undeclared identifier 'sysctl'
sysctl(nm, 2, &count, &length, 0, 0);
^
src/cbang/os/SystemInfo.cpp:102:13: error: use of undeclared identifier 'HW_NCPU'
nm[1] = HW_NCPU;
^
src/cbang/os/SystemInfo.cpp:103:5: error: use of undeclared identifier 'sysctl'
sysctl(nm, 2, &count, &length, 0, 0);
^
src/cbang/os/SystemInfo.cpp:136:14: error: use of undeclared identifier 'CTL_HW'
mib[0] = CTL_HW;
^
src/cbang/os/SystemInfo.cpp:137:14: error: use of undeclared identifier 'HW_MEMSIZE'
mib[1] = HW_MEMSIZE;
^
src/cbang/os/SystemInfo.cpp:140:10: error: use of undeclared identifier 'sysctl'
if (!sysctl(mib, 2, &memory, &length, 0, 0)) return memory;
^
src/cbang/os/SystemInfo.cpp:144:5: error: unknown type name 'vm_statistics_data_t'
vm_statistics_data_t stats;
^
src/cbang/os/SystemInfo.cpp:145:5: error: unknown type name 'mach_msg_type_number_t'
mach_msg_type_number_t count = sizeof(stats) / sizeof(natural_t);
^
src/cbang/os/SystemInfo.cpp:145:59: error: use of undeclared identifier 'natural_t'
mach_msg_type_number_t count = sizeof(stats) / sizeof(natural_t);
^
src/cbang/os/SystemInfo.cpp:146:5: error: unknown type name 'mach_port_t'
mach_port_t port = mach_host_self();
^
src/cbang/os/SystemInfo.cpp:146:24: error: use of undeclared identifier 'mach_host_self'
mach_port_t port = mach_host_self();
^
src/cbang/os/SystemInfo.cpp:148:40: error: use of undeclared identifier 'KERN_SUCCESS'
if (host_page_size(port, &page) == KERN_SUCCESS &&
^
src/cbang/os/SystemInfo.cpp:149:46: error: use of undeclared identifier 'host_info_t'
host_statistics(port, HOST_VM_INFO, (host_info_t)&stats, &count) ==
^
src/cbang/os/SystemInfo.cpp:149:31: error: use of undeclared identifier 'HOST_VM_INFO'
host_statistics(port, HOST_VM_INFO, (host_info_t)&stats, &count) ==
^
src/cbang/os/SystemInfo.cpp:150:9: error: use of undeclared identifier 'KERN_SUCCESS'
KERN_SUCCESS)
^
17 errors generated.
scons: *** [build/cbang/os/SystemInfo.o] Error 1
The attached patches fix these errors (and libsysinfo is used).
patch-config_cbang_____init____.py.txt
patch-src_cbang_os_SystemInfo.cpp.txt
Joseph,
as I am packaging the cbang as a shared library, I would like you to clarify your policy of cbang versioning so I could properly establish dependency of camotics on cbang library by means of .so
version suffix: is the minor version number bumped only for bug fixes and the rest of version number for interface changes?
Thanks,
Sergey
Edit: This ticket is about supporting newer v8 versions.
scons: Configure: Checking for C++ header file v8.h...
.sconf_temp/conftest_23.cpp <-
|
|#include "v8.h"
|
|
g++ -o .sconf_temp/conftest_23.o -c -std=gnu++98 -O3 -funroll-loops -DNDEBUG -D_REENTRANT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL .sconf_temp/conftest_23.cpp
In file included from .sconf_temp/conftest_23.cpp:2:0:
/usr/include/v8.h:345:1: error: expected unqualified-id before 'using'
using Handle = Local<T>;
^~~~~
/usr/include/v8.h: In constructor 'v8::MaybeLocal<T>::MaybeLocal()':
/usr/include/v8.h:362:33: error: 'nullptr' was not declared in this scope
V8_INLINE MaybeLocal() : val_(nullptr) {}
^~~~~~~
/usr/include/v8.h: In member function 'bool v8::MaybeLocal<T>::IsEmpty() const':
/usr/include/v8.h:369:51: error: 'nullptr' was not declared in this scope
V8_INLINE bool IsEmpty() const { return val_ == nullptr; }
^~~~~~~
/usr/include/v8.h: In member function 'bool v8::MaybeLocal<T>::ToLocal(v8::Local<S>*) const':
/usr/include/v8.h:373:29: error: 'nullptr' was not declared in this scope
out->val_ = IsEmpty() ? nullptr : this->val_;
^~~~~~~
/usr/include/v8.h: In member function 'bool v8::WeakCallbackInfo<T>::IsFirstPass() const':
/usr/include/v8.h:441:25: error: 'nullptr' was not declared in this scope
return callback_ != nullptr;
^~~~~~~
/usr/include/v8.h: At global scope:
/usr/include/v8.h:809:26: error: expected ',' or '...' before '&&' token
V8_INLINE Global(Global&& other) : PersistentBase<T>(other.val_) { // NOLINT
^~
/usr/include/v8.h:809:34: error: invalid constructor; you probably meant 'v8::Global<T> (const v8::Global<T>&)'
V8_INLINE Global(Global&& other) : PersistentBase<T>(other.val_) { // NOLINT
^
/usr/include/v8.h:817:40: error: expected ',' or '...' before '&&' token
V8_INLINE Global& operator=(Global<S>&& rhs) { // NOLINT
^~
/usr/include/v8.h: In constructor 'v8::Global<T>::Global()':
/usr/include/v8.h:785:42: error: 'nullptr' was not declared in this scope
V8_INLINE Global() : PersistentBase<T>(nullptr) {}
^~~~~~~
/usr/include/v8.h: In member function 'v8::Global<T>& v8::Global<T>::operator=(v8::Global<S>)':
/usr/include/v8.h:819:18: error: 'rhs' was not declared in this scope
if (this != &rhs) {
^~~
/usr/include/v8.h:822:18: error: 'nullptr' was not declared in this scope
rhs.val_ = nullptr;
^~~~~~~
/usr/include/v8.h: In member function 'v8::Global<T> v8::Global<T>::Pass()':
/usr/include/v8.h:829:44: error: expected '>' before '&&' token
Global Pass() { return static_cast<Global&&>(*this); } // NOLINT
^~
/usr/include/v8.h:829:44: error: expected '(' before '&&' token
/usr/include/v8.h:829:46: error: expected identifier before '>' token
Global Pass() { return static_cast<Global&&>(*this); } // NOLINT
^
/usr/include/v8.h:829:54: error: expected ')' before ';' token
Global Pass() { return static_cast<Global&&>(*this); } // NOLINT
^
/usr/include/v8.h: At global scope:
/usr/include/v8.h:847:1: error: expected unqualified-id before 'using'
using UniquePersistent = Global<T>;
^~~~~
In file included from /usr/include/v8.h:25:0,
from .sconf_temp/conftest_23.cpp:2:
/usr/include/v8.h:1084:10: error: 'nullptr' was not declared in this scope
static V8_DEPRECATE_SOON(
^
In file included from .sconf_temp/conftest_23.cpp:2:0:
/usr/include/v8.h:1090:30: error: 'nullptr' was not declared in this scope
ScriptOrigin* origin = nullptr);
^~~~~~~
/usr/include/v8.h:2291:42: error: 'v8::NewStringType' is not a class or namespace
kNormalString = static_cast<int>(v8::NewStringType::kNormal),
^~~~~~~~~~~~~
/usr/include/v8.h:2292:48: error: 'v8::NewStringType' is not a class or namespace
kInternalizedString = static_cast<int>(v8::NewStringType::kInternalized)
^~~~~~~~~~~~~
/usr/include/v8.h: In member function 'v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const':
/usr/include/v8.h:3261:36: error: 'nullptr' was not declared in this scope
return NewInstance(context, 0, nullptr);
^~~~~~~
/usr/include/v8.h: At global scope:
/usr/include/v8.h:3523:38: error: 'ArrayBufferCreationMode' is not a class or namespace
ArrayBufferCreationMode mode = ArrayBufferCreationMode::kExternalized);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/v8.h:3886:38: error: 'ArrayBufferCreationMode' is not a class or namespace
ArrayBufferCreationMode mode = ArrayBufferCreationMode::kExternalized);
^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/v8.h:4482:57: error: 'nullptr' was not declared in this scope
experimental::FastAccessorBuilder* fast_handler = nullptr,
^~~~~~~
/usr/include/v8.h:4498:57: error: 'nullptr' was not declared in this scope
experimental::FastAccessorBuilder* fast_handler = nullptr);
^~~~~~~
/usr/include/v8.h:4590:36: error: 'PropertyHandlerFlags' is not a class or namespace
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
^~~~~~~~~~~~~~~~~~~~
/usr/include/v8.h:4618:36: error: 'PropertyHandlerFlags' is not a class or namespace
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
^~~~~~~~~~~~~~~~~~~~
/usr/include/v8.h: In member function 'void v8::ObjectTemplate::SetIndexedPropertyHandler(v8::IndexedPropertyGetterCallback, v8::IndexedPropertySetterCallback, v8::IndexedPropertyQueryCallback, v8::IndexedPropertyDeleterCallback, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>)':
/usr/include/v8.h:4750:77: error: call to 'v8::IndexedPropertyHandlerConfiguration::IndexedPropertyHandlerConfiguration(v8::IndexedPropertyGetterCallback, v8::IndexedPropertySetterCallback, v8::IndexedPropertyQueryCallback, v8::IndexedPropertyDeleterCallback, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)' uses the default argument for parameter 7, which is not yet defined
deleter, enumerator, data));
^
In file included from /usr/include/v8.h:25:0,
from .sconf_temp/conftest_23.cpp:2:
/usr/include/v8.h: In member function 'v8::Local<T> v8::MaybeLocal<T>::ToLocalChecked()':
/usr/include/v8.h:7522:7: error: 'nullptr' was not declared in this scope
if (V8_UNLIKELY(val_ == nullptr)) V8::ToLocalEmpty();
^
In file included from .sconf_temp/conftest_23.cpp:2:0:
/usr/include/v8.h: In member function 'void v8::Template::Set(v8::Isolate*, const char*, v8::Local<v8::Data>)':
/usr/include/v8.h:7961:46: error: 'NewStringType' is not a class or namespace
Set(v8::String::NewFromUtf8(isolate, name, NewStringType::kNormal)
^~~~~~~~~~~~~
/usr/include/v8.h: In member function 'v8::Local<v8::Value> v8::Object::GetInternalField(int)':
/usr/include/v8.h:7975:8: error: 'instance_type' does not name a type
auto instance_type = I::GetInstanceType(obj);
^~~~~~~~~~~~~
/usr/include/v8.h:7976:7: error: 'instance_type' was not declared in this scope
if (instance_type == I::kJSObjectType ||
^~~~~~~~~~~~~
/usr/include/v8.h: In member function 'void* v8::Object::GetAlignedPointerFromInternalField(int)':
/usr/include/v8.h:7995:8: error: 'instance_type' does not name a type
auto instance_type = I::GetInstanceType(obj);
^~~~~~~~~~~~~
In file included from /usr/include/v8.h:25:0,
from .sconf_temp/conftest_23.cpp:2:
/usr/include/v8.h:7996:7: error: 'instance_type' was not declared in this scope
if (V8_LIKELY(instance_type == I::kJSObjectType ||
^
scons: Configure: no
scons: Configure: Need C++ header v8.h
scons: Configure: (cached) error: no result
v8-devel-5.2.258-7.fc25.x86_64
I'm trying to build on Ubuntu 10.04, and it fails as follows:
In file included from build/cbang/js/Arguments.h:36,
from build/cbang/js/Arguments.cpp:33:
build/cbang/js/Value.h: In member function ‘bool cb::js::Value::isUint32() const’:
build/cbang/js/Value.h:86: error: ‘class v8::Value’ has no member named ‘IsUint32’
build/cbang/js/Arguments.cpp: In constructor ‘cb::js::Arguments::Arguments(const v8::Arguments&, const cb::js::Signature&)’:
build/cbang/js/Arguments.cpp:52: error: ‘class v8::Object’ has no member named ‘GetOwnPropertyNames’
build/cbang/js/Arguments.cpp: In member function ‘std::string cb::js::Arguments::getName(unsigned int) const’:
build/cbang/js/Arguments.cpp:74: error: ‘class v8::Object’ has no member named ‘GetOwnPropertyNames’
scons: *** [build/cbang/js/Arguments.o] Error 1
scons: building terminated because of errors.
boost is using deprecated class auto_ptr
g++ -o build/cbang/script/Environment.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/script/Environment.cpp
In file included from src/boost/boost/iostreams/filtering_streambuf.hpp:17:0,
from src/boost/boost/iostreams/filtering_stream.hpp:22,
from src/cbang/script/Connection.cpp:39:
src/boost/boost/iostreams/chain.hpp: In member function 'void boost::iostreams::detail::chain_base<Self, Ch, Tr, Alloc, Mode>::push_impl(const T&, std::streamsize, std::streamsize)':
src/boost/boost/iostreams/chain.hpp:246:14: error: 'template<class> class std::auto_ptr' is deprecated [-Werror=deprecated-declarations]
std::auto_ptr<streambuf_t>
^~~~~~~~
In file included from /usr/include/c++/6.3.1/bits/locale_conv.h:41:0,
from /usr/include/c++/6.3.1/locale:43,
from /usr/include/c++/6.3.1/iomanip:43,
from src/cbang/StdTypes.h:90,
from src/cbang/os/Mutex.h:35,
from src/cbang/RefCounter.h:37,
from src/cbang/SmartPointer.h:38,
from src/cbang/Exception.h:36,
from src/cbang/SmartPointer.h:33,
from src/cbang/script/Environment.h:41,
from src/cbang/script/Processor.h:35,
from src/cbang/script/Connection.h:35,
from src/cbang/script/Connection.cpp:33:
/usr/include/c++/6.3.1/bits/unique_ptr.h:49:28: note: declared here
template<typename> class auto_ptr;
^~~~~~~~
cc1plus: all warnings being treated as errors
scons: *** [build/cbang/script/Connection.o] Error 1
scons: building terminated because of errors.
Is this fatal or it can be worked around? #22
g++ -o build/cbang/debug/StackFrame.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/debug/StackFrame.cpp
In file included from src/boost/boost/mpl/aux_/na_assert.hpp:23,
from src/boost/boost/mpl/arg.hpp:25,
from src/boost/boost/mpl/placeholders.hpp:24,
from src/boost/boost/iterator/iterator_categories.hpp:17,
from src/boost/boost/iterator/iterator_facade.hpp:14,
from src/boost/boost/range/iterator_range_core.hpp:27,
from src/boost/boost/range/iterator_range.hpp:13,
from src/boost/boost/iostreams/traits.hpp:38,
from src/boost/boost/iostreams/detail/dispatch.hpp:17,
from src/boost/boost/iostreams/flush.hpp:17,
from src/boost/boost/iostreams/close.hpp:18,
from src/boost/boost/iostreams/detail/functional.hpp:24,
from src/boost/boost/iostreams/detail/streambuf/direct_streambuf.hpp:24,
from src/boost/boost/iostreams/stream_buffer.hpp:21,
from src/boost/boost/iostreams/stream.hpp:21,
from src/cbang/iostream/VectorDevice.h:37,
from src/cbang/json/BufferWriter.h:37,
from src/cbang/json/JSON.h:46,
from src/cbang/Info.cpp:41:
src/boost/boost/mpl/assert.hpp:188:21: error: unnecessary parentheses in declaration of 'assert_arg' [-Werror=parentheses]
failed ************ (Pred::************
^
src/boost/boost/mpl/assert.hpp:193:21: error: unnecessary parentheses in declaration of 'assert_not_arg' [-Werror=parentheses]
failed ************ (boost::mpl::not_<Pred>::************
^
g++ -o build/cbang/debug/StackTrace.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/debug/StackTrace.cpp
g++ -o build/cbang/config/CommandLine.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/config/CommandLine.cpp
In file included from src/boost/boost/mpl/aux_/na_assert.hpp:23,
from src/boost/boost/mpl/arg.hpp:25,
from src/boost/boost/mpl/placeholders.hpp:24,
from src/boost/boost/iterator/iterator_categories.hpp:17,
from src/boost/boost/iterator/iterator_facade.hpp:14,
from src/boost/boost/range/iterator_range_core.hpp:27,
from src/boost/boost/range/iterator_range.hpp:13,
from src/boost/boost/iostreams/traits.hpp:38,
from src/boost/boost/iostreams/detail/dispatch.hpp:17,
from src/boost/boost/iostreams/flush.hpp:17,
from src/boost/boost/iostreams/close.hpp:18,
from src/boost/boost/iostreams/detail/functional.hpp:24,
from src/boost/boost/iostreams/detail/streambuf/direct_streambuf.hpp:24,
from src/boost/boost/iostreams/stream_buffer.hpp:21,
from src/boost/boost/iostreams/stream.hpp:21,
from src/cbang/socket/SocketDevice.h:42,
from src/cbang/script/Processor.cpp:43:
src/boost/boost/mpl/assert.hpp:188:21: error: unnecessary parentheses in declaration of 'assert_arg' [-Werror=parentheses]
failed ************ (Pred::************
^
src/boost/boost/mpl/assert.hpp:193:21: error: unnecessary parentheses in declaration of 'assert_not_arg' [-Werror=parentheses]
failed ************ (boost::mpl::not_<Pred>::************
^
g++ -o build/cbang/config/Option.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/config/Option.cpp
g++ -o build/cbang/config/OptionCategory.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/config/OptionCategory.cpp
g++ -o build/cbang/config/OptionMap.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/config/OptionMap.cpp
g++ -o build/cbang/config/OptionProxy.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/config/OptionProxy.cpp
In file included from src/boost/boost/mpl/aux_/na_assert.hpp:23,
from src/boost/boost/mpl/arg.hpp:25,
from src/boost/boost/mpl/placeholders.hpp:24,
from src/boost/boost/iterator/iterator_categories.hpp:17,
from src/boost/boost/iterator/iterator_facade.hpp:14,
from src/boost/boost/range/iterator_range_core.hpp:27,
from src/boost/boost/range/iterator_range.hpp:13,
from src/boost/boost/iostreams/traits.hpp:38,
from src/boost/boost/iostreams/pipeline.hpp:18,
from src/boost/boost/iostreams/detail/push.hpp:22,
from src/boost/boost/iostreams/filtering_stream.hpp:19,
from src/cbang/script/Connection.cpp:39:
src/boost/boost/mpl/assert.hpp:188:21: error: unnecessary parentheses in declaration of 'assert_arg' [-Werror=parentheses]
failed ************ (Pred::************
^
src/boost/boost/mpl/assert.hpp:193:21: error: unnecessary parentheses in declaration of 'assert_not_arg' [-Werror=parentheses]
failed ************ (boost::mpl::not_<Pred>::************
^
g++ -o build/cbang/config/Options.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/config/Options.cpp
g++ -o build/cbang/pyon/Header.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/pyon/Header.cpp
g++ -o build/cbang/pyon/Message.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/pyon/Message.cpp
g++ -o build/cbang/pyon/Object.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/pyon/Object.cpp
g++ -o build/cbang/os/CPUID.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/CPUID.cpp
g++ -o build/cbang/os/Condition.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/Condition.cpp
g++ -o build/cbang/os/Directory.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/Directory.cpp
g++ -o build/cbang/os/DirectoryWalker.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/DirectoryWalker.cpp
g++ -o build/cbang/os/DynamicLibrary.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/DynamicLibrary.cpp
g++ -o build/cbang/os/ExitSignalHandler.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/ExitSignalHandler.cpp
g++ -o build/cbang/os/Glob.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/Glob.cpp
g++ -o build/cbang/os/Mutex.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/Mutex.cpp
g++ -o build/cbang/os/PowerManagement.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/PowerManagement.cpp
In file included from src/boost/boost/mpl/aux_/na_assert.hpp:23,
from src/boost/boost/mpl/arg.hpp:25,
from src/boost/boost/mpl/placeholders.hpp:24,
from src/boost/boost/iterator/iterator_categories.hpp:17,
from src/boost/boost/iterator/iterator_facade.hpp:14,
from src/boost/boost/range/iterator_range_core.hpp:27,
from src/boost/boost/range/iterator_range.hpp:13,
from src/boost/boost/iostreams/traits.hpp:38,
from src/boost/boost/iostreams/detail/dispatch.hpp:17,
from src/boost/boost/iostreams/flush.hpp:17,
from src/boost/boost/iostreams/close.hpp:18,
from src/boost/boost/iostreams/detail/functional.hpp:24,
from src/boost/boost/iostreams/detail/streambuf/direct_streambuf.hpp:24,
from src/boost/boost/iostreams/stream_buffer.hpp:21,
from src/boost/boost/iostreams/stream.hpp:21,
from src/cbang/iostream/VectorDevice.h:37,
from src/cbang/json/BufferWriter.h:37,
from src/cbang/json/JSON.h:46,
from src/cbang/util/ACLSet.cpp:36:
src/boost/boost/mpl/assert.hpp:188:21: error: unnecessary parentheses in declaration of 'assert_arg' [-Werror=parentheses]
failed ************ (Pred::************
^
src/boost/boost/mpl/assert.hpp:193:21: error: unnecessary parentheses in declaration of 'assert_not_arg' [-Werror=parentheses]
failed ************ (boost::mpl::not_<Pred>::************
^
cc1plus: all warnings being treated as errors
g++ -o build/cbang/os/ProcessLock.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/ProcessLock.cpp
g++ -o build/cbang/os/RWLock.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/RWLock.cpp
scons: *** [build/cbang/script/Processor.o] Error 1
cc1plus: all warnings being treated as errors
scons: *** [build/cbang/script/Connection.o] Error 1
In file included from src/boost/boost/mpl/aux_/na_assert.hpp:23,
from src/boost/boost/mpl/arg.hpp:25,
from src/boost/boost/mpl/placeholders.hpp:24,
from src/boost/boost/iterator/iterator_categories.hpp:17,
from src/boost/boost/iterator/iterator_facade.hpp:14,
from src/boost/boost/filesystem/path.hpp:28,
from src/boost/boost/filesystem/operations.hpp:25,
from src/cbang/os/Directory.cpp:37:
src/boost/boost/mpl/assert.hpp:188:21: error: unnecessary parentheses in declaration of 'assert_arg' [-Werror=parentheses]
failed ************ (Pred::************
^
src/boost/boost/mpl/assert.hpp:193:21: error: unnecessary parentheses in declaration of 'assert_not_arg' [-Werror=parentheses]
failed ************ (boost::mpl::not_<Pred>::************
^
cc1plus: all warnings being treated as errors
scons: *** [build/cbang/Info.o] Error 1
cc1plus: all warnings being treated as errors
scons: *** [build/cbang/os/Directory.o] Error 1
In file included from src/boost/boost/mpl/aux_/na_assert.hpp:23,
from src/boost/boost/mpl/arg.hpp:25,
from src/boost/boost/mpl/placeholders.hpp:24,
from src/boost/boost/iterator/iterator_categories.hpp:17,
from src/boost/boost/iterator/iterator_facade.hpp:14,
from src/boost/boost/range/iterator_range_core.hpp:27,
from src/boost/boost/algorithm/string/replace.hpp:16,
from src/boost/boost/date_time/date_facet.hpp:17,
from src/boost/boost/date_time/gregorian/gregorian_io.hpp:16,
from src/boost/boost/date_time/gregorian/gregorian.hpp:31,
from src/boost/boost/date_time/posix_time/time_formatters.hpp:12,
from src/boost/boost/date_time/posix_time/posix_time.hpp:24,
from src/cbang/os/ProcessLock.cpp:42:
src/boost/boost/mpl/assert.hpp:188:21: error: unnecessary parentheses in declaration of 'assert_arg' [-Werror=parentheses]
failed ************ (Pred::************
^
src/boost/boost/mpl/assert.hpp:193:21: error: unnecessary parentheses in declaration of 'assert_not_arg' [-Werror=parentheses]
failed ************ (boost::mpl::not_<Pred>::************
^
cc1plus: all warnings being treated as errors
scons: *** [build/cbang/util/ACLSet.o] Error 1
cc1plus: all warnings being treated as errors
scons: *** [build/cbang/os/ProcessLock.o] Error 1
scons: building terminated because of errors.
Joseph,
files COPYING and LICENSE are LGPLv2.1, while all files in src/cbang/ mention LGPLv2.1+ in its headers.
What is actual license of your code?
Trying to build cbang on Fedora 25 unsuccessfully under mock environment.
Checking for C library pthread... no
Exception: Need library pthread:
File "/builddir/build/BUILD/cbang-1.0.1/SConstruct", line 47:
conf.CBConfig('compiler')
File "/usr/lib/scons/SCons/SConf.py", line 658:
ret = self.test(context, *args, **kw)
File "/builddir/build/BUILD/cbang-1.0.1/config/__init__.py", line 166:
ret = env.cb_methods[name](conf, **kwargs)
File "/builddir/build/BUILD/cbang-1.0.1/config/compiler/__init__.py", line 323:
conf.CBRequireLib('pthread')
File "/usr/lib/scons/SCons/SConf.py", line 658:
ret = self.test(context, *args, **kw)
File "/builddir/build/BUILD/cbang-1.0.1/config/__init__.py", line 111:
raise Exception, 'Need library ' + lib
pthread is present on /usr/lib64/libpthread.so as well as /usr/include/pthread.h, yet it can't find any of those. If I remove the check can't find any other library as well.
By looking at config.log, all issues seems to end with following:
File "/builddir/build/BUILD/cbang-1.0.1/config/compiler/__init__.py", line 20, in __call__
dep.csig = csig
AttributeError: 'File' object has no attribute 'csig'
It looks to me that environment is not set up properly, but I have no idea how to debug this. Any idea on how to look further into this?
Now that f852996 fixes the SmartPointer
bugs, can we cut a 1.5.1 bugfix release that we use for core builds?
Dear Joseph,
do you consider to tag the current HEAD with a new release as it looks like camotics 1.2.2 is going to be released soon?
Anyway, please update the version string in SCostruct.
Thank you!
This happens with GCC9, on cbang commit fdd8867
g++ -o build/cbang/enum/CPUExtendedFeature.o -c -std=c++11 -g -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_S
OURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rp
m/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wno-error=parentheses -Wno-deprecated-de
clarations -fPIC -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cba
ng/enum/CPUExtendedFeature.cpp
g++ -o build/cbang/enum/CPUFeature.o -c -std=c++11 -g -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat
/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wno-error=parentheses -Wno-deprecated-declaratio
ns -fPIC -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/enum/
CPUFeature.cpp
In file included from src/boost/boost/date_time/date_facet.hpp:21,
from src/boost/boost/date_time/gregorian/gregorian_io.hpp:16,
from src/boost/boost/date_time/gregorian/gregorian.hpp:31,
from src/boost/boost/date_time/posix_time/time_formatters.hpp:12,
from src/boost/boost/date_time/posix_time/posix_time.hpp:24,
from src/cbang/time/Time.cpp:42:
src/boost/boost/date_time/special_values_formatter.hpp: In constructor 'boost::date_time::time_facet<time_type, CharT, OutItrT>::time_facet(size_t) [with time_
type = boost::posix_time::ptime; CharT = char; OutItrT = std::ostreambuf_iterator<char, std::char_traits<char> >]':
src/boost/boost/date_time/special_values_formatter.hpp:43:16: error: 'strlen' argument missing terminating nul [-Werror=stringop-overflow=]
43 | std::copy(&default_special_value_names[0],
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44 | &default_special_value_names[3],
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45 | std::back_inserter(m_special_value_names));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/boost/boost/date_time/special_values_formatter.hpp:89:70: note: referenced argument declared here
89 | const typename special_values_formatter<CharT, OutItrT>::char_type special_values_formatter<CharT, OutItrT>::default_special_value_names[3][17] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hello,
I'm very new to cbang and not very familiar with it, but I'm trying to learn to help out with some of the Folding@Home repos that use it.
When building some of those repos (specifically fah-viewer) I ran into an issue with the freetype2 config, here:
cbang/config/freetype2/__init__.py
Line 13 in 3294067
The issue is that libfreetype6 on Ubuntu 19.10 does not install freetype-config anymore. According to this bug using the pkg-config integration is preferable, and has been supported for a long time.
Would you consider this line to use pkg-config? Happy to PR it as well
C++ code should import the versions of headers that put everything in the std namespace, for example <cstdio>
instead of <stdio.h>
. Lots of code in cbang imports the C version instead. For example,
Lines 41 to 45 in 2fb0be7
See https://github.com/FoldingAtHome/openmm-core/issues/212.
g++ -o build/cbang/log/Logger.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m32 -march=i686 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -Wno-error=parentheses -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/log/Logger.cpp
In file included from /usr/include/string.h:494,
from src/boost/boost/range/detail/implementation_help.hpp:18,
from src/boost/boost/range/end.hpp:24,
from src/boost/boost/range/functions.hpp:19,
from src/boost/boost/range/iterator_range_core.hpp:38,
from src/boost/boost/range/iterator_range.hpp:13,
from src/boost/boost/iostreams/traits.hpp:38,
from src/boost/boost/iostreams/detail/dispatch.hpp:17,
from src/boost/boost/iostreams/flush.hpp:17,
from src/boost/boost/iostreams/close.hpp:18,
from src/boost/boost/iostreams/operations.hpp:16,
from src/cbang/http/ChunkedStreamFilter.h:41,
from src/cbang/http/Transaction.h:37,
from src/cbang/http/Transaction.cpp:33:
In function 'void* memcpy(void*, const void*, size_t)',
inlined from 'std::streamsize cb::HTTP::ChunkedStreamFilter::write(Sink&, const char*, std::streamsize) [with Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >]' at src/cbang/http/ChunkedStreamFilter.h:131:19,
inlined from 'static std::streamsize boost::iostreams::detail::write_filter_impl<boost::iostreams::multichar_tag>::write(T&, Sink&, const typename boost::iostreams::char_type_of<T>::type*, std::streamsize) [with T = cb::HTTP::ChunkedStreamFilter; Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >]' at src/boost/boost/iostreams/write.hpp:142:31,
inlined from 'std::streamsize boost::iostreams::write(T&, Sink&, const typename boost::iostreams::char_type_of<T>::type*, std::streamsize) [with T = boost::reference_wrapper<cb::HTTP::ChunkedStreamFilter>; Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >]' at src/boost/boost/iostreams/write.hpp:55:45,
inlined from 'static std::streamsize boost::iostreams::detail::flt_wrapper_impl<boost::iostreams::output>::write(Filter&, Sink*, const typename boost::iostreams::char_type_of<T>::type*, std::streamsize) [with Filter = boost::reference_wrapper<cb::HTTP::ChunkedStreamFilter>; Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >]' at src/boost/boost/iostreams/detail/adapter/concept_adapter.hpp:278:30,
inlined from 'std::streamsize boost::iostreams::detail::concept_adapter<T>::write(const char_type*, std::streamsize, Sink*) [with Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >; T = boost::reference_wrapper<cb::HTTP::ChunkedStreamFilter>]' at src/boost/boost/iostreams/detail/adapter/concept_adapter.hpp:85:32,
inlined from 'void boost::iostreams::detail::indirect_streambuf<T, Tr, Alloc, Mode>::sync_impl() [with T = boost::reference_wrapper<cb::HTTP::ChunkedStreamFilter>; Tr = std::char_traits<char>; Alloc = std::allocator<char>; Mode = boost::iostreams::bidirectional]' at src/boost/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:392:18:
/usr/include/bits/string_fortified.h:34:33: error: 'void* __builtin_memcpy(void*, const void*, unsigned int)' reading 31 bytes from a region of size 16 [-Werror=stringop-overflow=]
return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'void* memcpy(void*, const void*, size_t)',
inlined from 'std::streamsize cb::HTTP::ChunkedStreamFilter::write(Sink&, const char*, std::streamsize) [with Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >]' at src/cbang/http/ChunkedStreamFilter.h:131:19,
inlined from 'static std::streamsize boost::iostreams::detail::write_filter_impl<boost::iostreams::multichar_tag>::write(T&, Sink&, const typename boost::iostreams::char_type_of<T>::type*, std::streamsize) [with T = cb::HTTP::ChunkedStreamFilter; Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >]' at src/boost/boost/iostreams/write.hpp:142:31,
inlined from 'std::streamsize boost::iostreams::write(T&, Sink&, const typename boost::iostreams::char_type_of<T>::type*, std::streamsize) [with T = boost::reference_wrapper<cb::HTTP::ChunkedStreamFilter>; Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >]' at src/boost/boost/iostreams/write.hpp:55:45,
inlined from 'static std::streamsize boost::iostreams::detail::flt_wrapper_impl<boost::iostreams::output>::write(Filter&, Sink*, const typename boost::iostreams::char_type_of<T>::type*, std::streamsize) [with Filter = boost::reference_wrapper<cb::HTTP::ChunkedStreamFilter>; Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >]' at src/boost/boost/iostreams/detail/adapter/concept_adapter.hpp:278:30,
inlined from 'std::streamsize boost::iostreams::detail::concept_adapter<T>::write(const char_type*, std::streamsize, Sink*) [with Sink = boost::iostreams::detail::linked_streambuf<char, std::char_traits<char> >; T = boost::reference_wrapper<cb::HTTP::ChunkedStreamFilter>]' at src/boost/boost/iostreams/detail/adapter/concept_adapter.hpp:85:32,
inlined from 'boost::iostreams::detail::indirect_streambuf<T, Tr, Alloc, Mode>::int_type boost::iostreams::detail::indirect_streambuf<T, Tr, Alloc, Mode>::overflow(boost::iostreams::detail::indirect_streambuf<T, Tr, Alloc, Mode>::int_type) [with T = boost::reference_wrapper<cb::HTTP::ChunkedStreamFilter>; Tr = std::char_traits<char>; Alloc = std::allocator<char>; Mode = boost::iostreams::bidirectional]' at src/boost/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:301:43:
/usr/include/bits/string_fortified.h:34:33: error: 'void* __builtin_memcpy(void*, const void*, unsigned int)' reading 31 bytes from a region of size 16 [-Werror=stringop-overflow=]
return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Full log: https://kojipkgs.fedoraproject.org//work/tasks/9848/25059848/build.log
Can't build C! (for build OpensCam:))
(OS: Ubuntu 10.04 LTS (LinuxCNC) via Oracle Virtual box)
sudo apt-get install scons build-essential libbz2-dev zlib1g-dev \
libexpat1-dev libssl-dev libboost-iostreams-dev libboost-system-dev \
libboost-filesystem-dev libboost-regex-dev libsqlite3-dev libv8-dev git
(OK, not git - git-core, but OK)
cd cbang
scons
(1-2min - OK, then:...
...
g++ -o build/cbang/js/Arguments.o -c -std=gnu++98 -O3 -funroll-loops -mfpmath=sse -ffast-math -fno-unsafe-math-optimizations -msse -DNDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DUSING_CBANG -I/home/virtmill/boost_1_55_0 -I/home/virtmill/openssl-1.0.1f/include -Isrc -Iinclude build/cbang/js/Arguments.cpp
In file included from build/cbang/js/Arguments.h:36,
from build/cbang/js/Arguments.cpp:33:
build/cbang/js/Value.h: In member function ‘bool cb::js::Value::isUint32() const’:
build/cbang/js/Value.h:86: error: ‘class v8::Value’ has no member named ‘IsUint32’
build/cbang/js/Arguments.cpp: In constructor ‘cb::js::Arguments::Arguments(const v8::Arguments&, const cb::js::Signature&)’:
build/cbang/js/Arguments.cpp:52: error: ‘class v8::Object’ has no member named ‘GetOwnPropertyNames’
build/cbang/js/Arguments.cpp: In member function ‘std::string cb::js::Arguments::getName(unsigned int) const’:
build/cbang/js/Arguments.cpp:74: error: ‘class v8::Object’ has no member named ‘GetOwnPropertyNames’
scons: *** [build/cbang/js/Arguments.o] Error 1
scons: building terminated because of errors.
This appears on cbang 1.3.1 with GCC 6.4.
g++ -o build/cbang/event/WebServer.o -c -std=c++11 -g -Wall -fno-pie -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -Wno-
error=parentheses -Wno-deprecated-declarations -fPIC -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG
-Iinclude -Isrc -Isrc/boost src/cbang/event/WebServer.cpp
src/cbang/event/WebServer.cpp:45:21: error: redefinition of 'class cb::SSLContext'
namespace cb {class SSLContext {};}
^~~~~~~~~~
In file included from src/cbang/event/WebServer.h:39:0,
from src/cbang/event/WebServer.cpp:33:
src/cbang/openssl/SSLContext.h:49:9: error: previous definition of 'class cb::SSLContext'
class SSLContext {
^~~~~~~~~~
scons: *** [build/cbang/event/WebServer.o] Error 1
src/cbang/event/Request.cpp: In member function 'virtual cb::Event::Request::compression_t cb::Event::Request::getRequestedCompression() const':
src/cbang/event/Request.cpp:378:10: warning: 'compression' may be used uninitialized in this function [-Wmaybe-uninitialized]
return compression;
^~~~~~~~~~~
I understand that it was complicated for you to check if boost is present on the system automatically so you've removed it 97e5ae8, how about we toggle it with an already present switch disable_local
. To build CAMotics without boost all I have to do is following:
From f8c261fe653a786152568d24fca0505d8f376da6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20Rakitni=C4=8Dan?= <[email protected]>
Date: Tue, 25 Jul 2017 23:42:47 +0200
Subject: [PATCH] Unbundle boost
---
SConstruct | 2 +-
config/cbang/__init__.py | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/SConstruct b/SConstruct
index fcd9fa6..c465c71 100644
--- a/SConstruct
+++ b/SConstruct
@@ -51,7 +51,7 @@ if not env.GetOption('clean'):
env.CBDefine('USING_CBANG') # Using CBANG macro namespace
# Local includes
-env.Append(CPPPATH = ['#/include', '#/src', '#/src/boost'])
+env.Append(CPPPATH = ['#/include', '#/src'])
# Build third-party libs
force_local = env.get('force_local', '')
diff --git a/config/cbang/__init__.py b/config/cbang/__init__.py
index 932c77f..9b20840 100644
--- a/config/cbang/__init__.py
+++ b/config/cbang/__init__.py
@@ -31,6 +31,10 @@ def configure_deps(conf, local = True, with_openssl = True):
# Boost
if env['PLATFORM'] == 'win32': env.CBDefine('BOOST_ALL_NO_LIB')
+ for name in ['iostreams', 'system', 'filesystem', 'regex']:
+ libname = 'boost_' + name
+ if env['PLATFORM'] == 'win32': libname = 'lib' + libname
+ conf.CBRequireLib(libname)
# clock_gettime() needed by boost iterprocess
if env['PLATFORM'] == 'posix' and int(env.get('cross_osx', 0)) == 0 \
@@ -77,14 +81,12 @@ def configure(conf):
env = conf.env
home = GetHome() + '/../..'
- env.AppendUnique(CPPPATH = [home + '/src', home + '/include',
- home + '/src/boost'])
+ env.AppendUnique(CPPPATH = [home + '/src', home + '/include'])
env.AppendUnique(LIBPATH = [home + '/lib'])
if not env.CBConfigEnabled('cbang-deps'):
conf.CBConfig('cbang-deps', local = False)
- conf.CBRequireLib('cbang-boost')
conf.CBRequireLib('cbang')
conf.CBRequireCXXHeader('cbang/Exception.h')
env.CBDefine('HAVE_CBANG')
--
2.9.4
Now if we could somehow tie this up to disable_local
in an elegant way, that would be awesome. What do you think about that?
When building Camotics on Linux Mint 17.3 (ubuntu edition) I got this error:
NameError: global name 'env' is not defined:
File "USER_DIRECTORY/CAMotics/SConstruct", line 79:
conf.CBConfig('v8', True)
File "/usr/lib/scons/SCons/SConf.py", line 646:
ret = self.test(context, *args, **kw)
File "USER_DIRECTORY/cbang/config/__init__.py", line 166:
ret = env.cb_methods[name](conf, **kwargs)
File "USER_DIRECTORY/cbang/config/v8/__init__.py", line 12:
if conf.env['PLATFORM'] == 'win32' or int(env.get('cross_mingw', 0)):
Then I noticed same error also appears when building cbang but build completes with success.
Using conf.env
instead of env
solved the problem for me as you can see in the below diff.
diff --git a/config/v8/__init__.py b/config/v8/__init__.py
index ba49b28..c201f7f 100644
--- a/config/v8/__init__.py
+++ b/config/v8/__init__.py
@@ -9,7 +9,7 @@ def configure(conf):
conf.CBCheckHome('v8', lib_suffix = lib_suffix)
- if conf.env['PLATFORM'] == 'win32' or int(env.get('cross_mingw', 0)):
+ if conf.env['PLATFORM'] == 'win32' or int(conf.env.get('cross_mingw', 0)):
conf.CBRequireLib('winmm')
conf.CBRequireCXXHeader('v8.h')
I have been building cbang with v8 3.14. Commit d846adb was the last commit that works for me. I tried building using v8 7.4 but cbang is not finding the libs. Here is the configure output:
scons: Reading SConscript files ...
Compiler: gcc (gnu)
Platform: posix
Mode: gnu
Arch: x86
GCC Version: 8.3.0
Jobs: 8
Checking for C library pthread... yes
Checking for C header file zlib.h... yes
Checking for C library z... yes
Checking for C header file bzlib.h... yes
Checking for C library bz2... yes
Checking for C header file expat.h... yes
Checking for C library expat... yes
Checking for C header file pthread.h... yes
Checking for C library pthread... yes
Checking for C library dl... yes
Checking for C library sqlite3... yes
Checking for C header file sqlite3.h... yes
Checking for C function sqlite3_backup_init()... yes
Checking for C header file event.h... yes
Checking for C library event... yes
Checking for C++ header file re2/re2.h... yes
Checking for C library re2... yes
Checking for C header file yaml.h... yes
Checking for C library yaml... yes
Checking for C library leveldb... no
Checking for C header file mysql/mysql.h... no
Checking for C function clock_gettime()... yes
Checking for C library dl... yes
Checking for C header file openssl/ssl.h... yes
Checking for C library crypto... yes
Checking for C library ssl... yes
Checking for openssl version >= 1.0.0...yes
Checking for C++ header file ChakraCore.h... no
Need C++ header ChakraCore.h(cached) error: no result
Checking for C++ header file v8.h... yes
Checking for C++ header file libplatform/libplatform.h... yes
Checking for C library v8... no
Checking for C library v8_snapshot... no
Need library v8_snapshot(cached) error: no result
Checking for C header file pthread.h... yes
Checking for C library pthread... yes
Checking for C header file valgrind/valgrind.h... no
Here is the list of files installed with the v8 7.4 package I am trying to use:
/usr/
/usr/bin/
/usr/bin/d8
/usr/include/
/usr/include/libplatform/
/usr/include/libplatform/libplatform-export.h
/usr/include/libplatform/libplatform.h
/usr/include/libplatform/v8-tracing.h
/usr/include/v8-inspector-protocol.h
/usr/include/v8-inspector.h
/usr/include/v8-internal.h
/usr/include/v8-platform.h
/usr/include/v8-profiler.h
/usr/include/v8-testing.h
/usr/include/v8-util.h
/usr/include/v8-value-serializer-version.h
/usr/include/v8-version-string.h
/usr/include/v8-version.h
/usr/include/v8-wasm-trap-handler-posix.h
/usr/include/v8-wasm-trap-handler-win.h
/usr/include/v8.h
/usr/include/v8config.h
/usr/lib/
/usr/lib/libv8_for_testing.so
/usr/lib/libv8_libbase.so
/usr/lib/libv8_libplatform.so
/usr/lib/pkgconfig/
/usr/lib/pkgconfig/v8.pc
/usr/lib/pkgconfig/v8_libbase.pc
/usr/lib/pkgconfig/v8_libplatform.pc
/usr/lib/v8/
/usr/lib/v8/cctest
/usr/lib/v8/d8
/usr/lib/v8/icudtl.dat
/usr/lib/v8/libc++.so
/usr/lib/v8/libicui18n.so
/usr/lib/v8/libicuuc.so
/usr/lib/v8/libv8.so
/usr/lib/v8/natives_blob.bin
/usr/lib/v8/snapshot_blob.bin
/usr/share/
/usr/share/licenses/
/usr/share/licenses/v8/
/usr/share/licenses/v8/LICENSE
/usr/share/licenses/v8/LICENSE.fdlibm
/usr/share/licenses/v8/LICENSE.strongtalk
/usr/share/licenses/v8/LICENSE.v8
/usr/share/licenses/v8/LICENSE.valgrind
Do you have any suggestions or procedures to use to get this working with v8 again?
Problem is a bug in xscreensaver.
This may not be a problem in recent linux distros.
Anyway, a different mechanism is needed for users who do not use xscreensaver.
A workaround can be found in xprintidle.c
It is GPL 2 only.
$ scons -C cbang with_openssl=no disable_local=libevent
scons: Entering directory `D:\a\fah-viewer\fah-viewer\cbang'
scons: Reading SConscript files ...
Traceback (most recent call last):
File "D:\a\fah-viewer\fah-viewer\cbang\config\__init__.py", line 199, in CBTryLoadTool
env.Tool(name, toolpath = [path])
File "c:\hostedtoolcache\windows\python\3.8.2\x64\lib\site-packages\scons\SCons\Environment.py", line 1809, in Tool
tool = SCons.Tool.Tool(tool, toolpath, **kw)
File "c:\hostedtoolcache\windows\python\3.8.2\x64\lib\site-packages\scons\SCons\Tool\__init__.py", line 122, in __init__
module = self._tool_module()
File "c:\hostedtoolcache\windows\python\3.8.2\x64\lib\site-packages\scons\SCons\Tool\__init__.py", line 233, in _tool_module
if sys_modules_value and sys_modules_value.__file__ == spec.origin:
AttributeError: module 'zlib' has no attribute '__file__'
I can build after patching SCons
to check for the __file__
attribute before accessing it, but I'm not sure whether this results in the intended behaviour.
As found on Fedora 26 and above.
g++ -o build/cbang/tar/TarHeader.o -c -std=gnu++98 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -Wformat -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/tar/TarHeader.cpp
src/cbang/tar/TarHeader.cpp: In member function 'void cb::TarHeader::setMode(uint32_t)':
src/cbang/tar/TarHeader.cpp:75:6: error: '%0*llo' directive writing between 7 and 11 bytes into a region of size 8 [-Werror=format-overflow=]
void TarHeader::setMode(uint32_t mode) {
^~~~~~~~~
src/cbang/tar/TarHeader.cpp:75:6: note: directive argument in the range [0, 4294967295]
In file included from /usr/include/stdio.h:939:0,
from src/cbang/tar/TarHeader.cpp:37:
/usr/include/bits/stdio2.h:34:43: note: '__builtin___sprintf_chk' output between 8 and 12 bytes into a destination of size 8
__bos (__s), __fmt, __va_arg_pack ());
^
src/cbang/tar/TarHeader.cpp: In member function 'void cb::TarHeader::setOwner(uint32_t)':
src/cbang/tar/TarHeader.cpp:81:6: error: '%0*llo' directive writing between 7 and 11 bytes into a region of size 8 [-Werror=format-overflow=]
void TarHeader::setOwner(uint32_t owner) {
^~~~~~~~~
src/cbang/tar/TarHeader.cpp:81:6: note: directive argument in the range [0, 4294967295]
In file included from /usr/include/stdio.h:939:0,
from src/cbang/tar/TarHeader.cpp:37:
/usr/include/bits/stdio2.h:34:43: note: '__builtin___sprintf_chk' output between 8 and 12 bytes into a destination of size 8
__bos (__s), __fmt, __va_arg_pack ());
^
src/cbang/tar/TarHeader.cpp: In member function 'void cb::TarHeader::setGroup(uint32_t)':
src/cbang/tar/TarHeader.cpp:87:6: error: '%0*llo' directive writing between 7 and 11 bytes into a region of size 8 [-Werror=format-overflow=]
void TarHeader::setGroup(uint32_t group) {
^~~~~~~~~
src/cbang/tar/TarHeader.cpp:87:6: note: directive argument in the range [0, 4294967295]
In file included from /usr/include/stdio.h:939:0,
from src/cbang/tar/TarHeader.cpp:37:
/usr/include/bits/stdio2.h:34:43: note: '__builtin___sprintf_chk' output between 8 and 12 bytes into a destination of size 8
__bos (__s), __fmt, __va_arg_pack ());
^
cc1plus: all warnings being treated as errors
scons: *** [build/cbang/tar/TarHeader.o] Error 1
scons: building terminated because of errors.
Compiling cbang 1.6.1 on FreeBSD aborts with the following error:
c++ -o build/cbang/js/Callback.o -c -faligned-new -std=c++14 -fsigned-char -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -funroll-loops -fno-pie -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -fPIC -DNDEBUG -D_REENTRANT -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/js/Callback.cpp
src/cbang/net/IPAddress.cpp:142:62: error: member access into incomplete type 'struct sockaddr_in'
uint32_t ip = ntohl(((struct sockaddr_in *)info->ai_addr)->sin_addr.s_addr);
^
src/cbang/net/IPAddress.cpp:142:34: note: forward declaration of 'sockaddr_in'
uint32_t ip = ntohl(((struct sockaddr_in *)info->ai_addr)->sin_addr.s_addr);
^
src/cbang/net/IPAddress.cpp:163:22: error: variable has incomplete type 'struct sockaddr_in'
struct sockaddr_in addr;
^
src/cbang/net/IPAddress.cpp:163:10: note: forward declaration of 'sockaddr_in'
struct sockaddr_in addr;
^
src/cbang/net/IPAddress.cpp:169:19: error: use of undeclared identifier 'htons'
addr.sin_port = htons(ip.getPort());
^
src/cbang/net/IPAddress.cpp:170:26: error: use of undeclared identifier 'htonl'
addr.sin_addr.s_addr = htonl(ip.getIP());
^
4 errors generated.
scons: *** [build/cbang/net/IPAddress.o] Error 1
The attached patch fixes it.
patch-src_cbang_net_IPAddress.cpp.txt
Dear Joseph,
for some reason, the install target triggers rebuild of build/resources.os, which in turn makes the default target out of date.
Could you please change this behavior, so when there is no actual need to rebuild the default target (it was just successfully built), it is not linked again by 'scons install' invocation.
With Fedora compiler flags following error comes up.
g++ -o build/cbang/os/SystemUtilities.o -c -std=gnu++98 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DHAVE_V8 -DHAVE_CBANG_BACKTRACE -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/SystemUtilities.cpp
g++ -o build/cbang/os/TemporaryDirectory.o -c -std=gnu++98 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DHAVE_V8 -DHAVE_CBANG_BACKTRACE -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/os/TemporaryDirectory.cpp
src/cbang/os/SystemUtilities.cpp:961:47: error: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result]
(void)::freopen("/dev/null", "r", stdin);
^
src/cbang/os/SystemUtilities.cpp:962:48: error: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result]
(void)::freopen("/dev/null", "w", stdout);
^
src/cbang/os/SystemUtilities.cpp:963:48: error: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Werror=unused-result]
(void)::freopen("/dev/null", "w", stderr);
^
Joseph,
I remember that you have no versioning policy in general.
However, in the review response [0] reviewer points that it probably good to have your decision on soname
and its versioning. I replied:
As 1) Joseph adds the functionality on as needed basis, 2) there
are obvious bugfixes, 3) camotics builds properly with up-to-date version of cbang
and 4) cbang exports c++ classes, I decided to use `version.subversion` as an so version,
leaving `.revision` for bug fixes in cbang. The leading zero in `libcbang0` is from
upstream, I suspect that it is somehow related to debian packaging/naming, so I
leaved this as is.
So, the idea is to have versioned so name up to subversion number, i.e. libcbang0.so.1.7
presently, to allow bug fixes updates of shared cbang
library without the need to rebuild camotics.
Do you have any objections or another vision?
Thank you,
Sergey
When attempting to build cbang
with:
scons -C cbang debug=1 -j2
I get:
scons: Entering directory `/home/conda/workspace/cbang'
scons: Reading SConscript files ...
Compiler: gcc (gnu)
Platform: posix
Mode: gnu
Arch: x86
NameError: global name 'check_output' is not defined:
File "/home/conda/workspace/cbang/SConstruct", line 34:
conf.CBConfig('compiler')
File "/usr/lib/scons/SCons/SConf.py", line 640:
ret = self.test(context, *args, **kw)
File "/home/conda/workspace/cbang/config/__init__.py", line 166:
ret = conf.env.cb_methods[name](conf, **kwargs)
File "/home/conda/workspace/cbang/config/compiler/__init__.py", line 189:
if compiler == 'gnu': print('GCC Version:', gcc_version_str(env))
File "/home/conda/workspace/cbang/config/compiler/__init__.py", line 19:
return check_output(cmd).strip().decode('utf8')
Looking at cbang/config/compiler/__init__.py
, check_output
doesn't appear defined.
sudo apt install libssl-dev
on Debian and Ubuntu)master
branch.$ scons
$ cd tests
$ scons
$ ./testHarness --view-failed
DecompressTest: return [FAILED]
*********************************** command ************************************
/home/crystax/src/cbang/tests/iostreamTests/compress test.bz2 test.txt
******************************** expect/stdout *********************************
************************************ stdout ************************************
******************************** expect/stderr *********************************
************************************ stderr ************************************
******************************** expect/return *********************************
0
************************************ return ************************************
-11
********************************************************************************
CompressTest: return [FAILED]
*********************************** command ************************************
/home/crystax/src/cbang/tests/iostreamTests/compress test.txt test.bz2
******************************** expect/stdout *********************************
************************************ stdout ************************************
******************************** expect/stderr *********************************
************************************ stderr ************************************
******************************** expect/return *********************************
0
************************************ return ************************************
-11
********************************************************************************
*********************************** Summary ************************************
Passed 80
Failed 2
It crashes on the OStream
instance deletion:
$ gdb iostreamTests/compress
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from iostreamTests/compress...(no debugging symbols found)...done.
(gdb) set args iostreamTests/CompressTest/data/test.txt test.bz2
(gdb) run
Starting program: /home/crystax/src/cbang/tests/iostreamTests/compress iostreamTests/CompressTest/data/test.txt test.bz2
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x0000000000416a3f in cb::SystemUtilities::oopen(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)::OStream::~OStream() ()
(gdb) bt
#0 0x0000000000416a3f in cb::SystemUtilities::oopen(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)::OStream::~OStream() ()
#1 0x0000000000416c25 in cb::RefCounterImpl<cb::SystemUtilities::oopen(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, bool)::OStream(cb::DeallocNew<cb::DeallocNew>)>::decCount(void const*) ()
#2 0x0000000000406886 in main ()
(gdb)
It happens only if building cbang in release mode. If being built with scons debug=1
, no crash happens. I see this problem on Linux only. When building for Mac, there's no crash regardless of the debug mode.
Does something need to be enabled to support multithreading with zlib/LZ4/bzip compression? Or are these inherently single- or multi-threaded?
cbang fails to build on armv7 and ppc64 with GCC 7
g++ -o build/cbang/net/IPAddressFilter.o -c -std=c++11 -ggdb -Wall -Werror -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -Wno-deprecated-declarations -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_OPENSSL -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/net/IPAddressFilter.cpp
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
};
^
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
src/cbang/net/Base64.cpp:64:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
scons: *** [build/cbang/net/Base64.o] Error 1
scons: building terminated because of errors.
See also: ckolivas/lrzip#46
Building cbang on raspbian 4.19:
git clone https://github.com/CauldronDevelopmentLLC/cbang
TARGET_ARCH=arm-linux-gnueabihf scons -C cbang
results in:
g++ -o build/resources.data/data4.o -c -std=c++11 -O3 -funroll-loops -fno-pie -fPIC -DNDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_OPENSSL -DHAVE_PTHREADS -DUSING_CBANG -Iinclude -Isrc -Isrc/boost build/resources.data/data4.cpp
src/cbang/event/JSONWebsocket.cpp: In member function ‘virtual void {anonymous}::JSONWriter::close()’:
src/cbang/event/JSONWebsocket.cpp:56:30: error: ‘virtual void cb::Event::Request::send(const char*, unsigned int)’ is inaccessible within this context
ws->send(data(), size());
^
In file included from src/cbang/event/Websocket.h:35,
from src/cbang/event/JSONWebsocket.h:35,
from src/cbang/event/JSONWebsocket.cpp:33:
src/cbang/event/Request.h:241:20: note: declared here
virtual void send(const char *data, unsigned length);
^~~~
g++ -o build/resources.data/data5.o -c -std=c++11 -O3 -funroll-loops -fno-pie -fPIC -DNDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_OPENSSL -DHAVE_PTHREADS -DUSING_CBANG -Iinclude -Isrc -Isrc/boost build/resources.data/data5.cpp
scons: *** [build/cbang/event/JSONWebsocket.o] Error 1
scons: building terminated because of errors.
I've attached the full build log:
log.txt
Changing TARGET_ARCH=arm-linux-gnueabihf to TARGET_ARCH=armv7l-linux-gnu results in the same error.
Anything I'm doing wrong?
Hello,
In cbang 1.7.0, the configuration script checks that openssl is at least 1.1.0:
Checking for openssl version >= 1.1.0...yes
But src/cbang/openssl/KeyPair.cpp includes openssl/core_names.h which is only available in the devel version of OpenSSL, and also src/cbang/openssl/KeyContext.cpp uses EVP_PKEY_CTX_set1_rsa_keygen_pubexp which is not available in the OpenSSL stable (1.1.1q).
I would rather avoid using the devel version, because it would introduce conflicts with other applications.
When I try to compile OpenScamp using 'scons' I get:
openscam/cbang/lib/libcbang.a(Value.o): In function `cb::js::ValueBase<v8::Persistent<v8::Value> >::isNull() const':
Value.cpp:(.text._ZNK2cb2js9ValueBaseIN2v810PersistentINS2_5ValueEEEE6isNullEv[_ZNK2cb2js9ValueBaseIN2v810PersistentINS2_5ValueEEEE6isNullEv]+0xb): undefined reference to `v8::Value::IsNull() const'
collect2: error: ld returned 1 exit status
scons: *** [openscam] Error 1
scons: building terminated because of errors.
This is probably related to:
This appears on cbang 1.3.1 with GCC 6.4.
g++ -o build/cbang/event/WebServer.o -c -std=c++11 -g -Wall -fno-pie -I/usr/include/v8-3.14/ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -Wno-error=parentheses -Wno-deprecated-declarations -Wno-maybe-uninitialized -fPIC -DDEBUG -D_REENTRANT -DHAVE_EXPAT -DHAVE_PTHREADS -DHAVE_LIBSQLITE -DHAVE_V8 -DDEBUG_LEVEL=1 -DUSING_CBANG -Iinclude -Isrc -Isrc/boost src/cbang/event/WebServer.cpp
src/cbang/event/WebServer.cpp:45:21: error: redefinition of 'class cb::SSLContext'
namespace cb {class SSLContext {};}
^~~~~~~~~~
In file included from src/cbang/event/WebServer.h:39:0,
from src/cbang/event/WebServer.cpp:33:
src/cbang/openssl/SSLContext.h:49:9: error: previous definition of 'class cb::SSLContext'
class SSLContext {
^~~~~~~~~~
Impact:
The latest version bastet-v8.1.16 has a path traversal vulnerability that allows the attacker to create or write to files outside the current directory due to improper string comparisons between canonical paths.
How to reproduce:
wget https://github.com/CauldronDevelopmentLLC/cbang/archive/refs/tags/bastet-v8.1.16.tar.gz
tar -xzf bastet-v8.1.16.tar.gz
cd cbang-bastet-v8.1.16/tests
scons
cd tarTests
# place poc.tar in this directory
./tar --extract poc.tar
# verify attack worked
cat ../tarTests.d/config
Root cause:
cbang/src/cbang/tar/TarFileReader.cpp
Lines 102 to 106 in eae4b58
The root cause is the return true value in function startsWith in String.cpp that passes if condition in function TarFileReader::extract in TarFileReader.cpp.
PoC image:
Extract poc.zip
to obtain poc.tar
: poc.zip
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.