Hi Holli
While I can not comment on your specific build issue, I can provide a
list of commands that are known to compile the dss binary. See the
attached instructions. I have verified them in a fresh Ubuntu 18.04.
In general I suggest to *not* use the master branch in a production
environment as the new features might not be production-ready yet. The
current production release is built from tag v1.54.2.
Best regards
Christian
On 18.06.19 10:04, holli wrote:
> Hello,
>
> i did setup all correctly I believe but on the make of the dss I receive:
>
> ranlib libds-catch-main.a
>
> g++ -DHAVE_CONFIG_H -I. -I../../build -I..
> -DDS_SYSCONFDIR='"/home/holli/dSS/sysroot/etc"'
> -DDS_DATADIR='"/home/holli/dSS/sysroot/share"' -isystem../../external
> -I../../src -DBOOST_ENABLE_ASSERT_HANDLER -pthread -I/usr/include
> -I/home/holli/dSS/sysroot/include -std=gnu++1z -Werror=return-type
> -Werror=int-to-pointer-cast -Wswitch-enum -Wno-unused-parameter
> -D_DEBUG -g -Wall -O1 -MT
> ../src/ds-connector/ds_connector_cat-cat-main.o -MD -MP -MF
> ../src/ds-connector/.deps/ds_connector_cat-cat-main.Tpo -c -o
> ../src/ds-connector/ds_connector_cat-cat-main.o `test -f
> '../src/ds-connector/cat-main.cpp' || echo
> '../../build/'`../src/ds-connector/cat-main.cpp
>
> mv -f ../src/ds-connector/.deps/ds_connector_cat-cat-main.Tpo
> ../src/ds-connector/.deps/ds_connector_cat-cat-main.Po
>
> /bin/bash ../libtool --tag=CXX --mode=link g++ -std=gnu++1z
> -Werror=return-type -Werror=int-to-pointer-cast -Wswitch-enum
> -Wno-unused-parameter -D_DEBUG -g -Wall -O1 -rdynamic -o
> ds-connector-cat ../src/ds-connector/ds_connector_cat-cat-main.o
> libds-connector.a -lssl -lcrypto libds.a -lboost_system -lboost_thread
> -lboost_chrono -lboost_filesystem -lpthread -ljson-c libds-asio.a
> libds.a -lboost_system -lboost_thread -lboost_chrono -lboost_filesystem
> -lpthread -ljson-c libds-crypt.a -lcrypto libds.a -lboost_system
> -lboost_thread -lboost_chrono -lboost_filesystem -lpthread -ljson-c
> libds-api.a libds.a -lboost_system -lboost_thread -lboost_chrono
> -lboost_filesystem -lpthread -ljson-c -L/home/holli/dSS/sysroot/lib
> -Wl,-rpath=/home/holli/dSS/sysroot/lib -Wl,--as-needed -latomic
> -Wl,--no-as-needed libds-api.a libds.a -lboost_system -lboost_thread
> -lboost_chrono -lboost_filesystem -lpthread -ljson-c -ldl
>
> libtool: link: g++ -std=gnu++1z -Werror=return-type
> -Werror=int-to-pointer-cast -Wswitch-enum -Wno-unused-parameter -D_DEBUG
> -g -Wall -O1 -rdynamic -o ds-connector-cat
> ../src/ds-connector/ds_connector_cat-cat-main.o
> -Wl,-rpath=/home/holli/dSS/sysroot/lib -Wl,--as-needed
> -Wl,--no-as-needed libds-connector.a -lssl libds-asio.a libds-crypt.a
> -lcrypto -L/home/holli/dSS/sysroot/lib -latomic libds-api.a libds.a
> -lboost_system -lboost_thread -lboost_chrono -lboost_filesystem
> -lpthread /home/holli/dSS/sysroot/lib/libjson-c.so -ldl -Wl,-rpath
> -Wl,/home/holli/dSS/sysroot/lib -Wl,-rpath -Wl,/home/holli/dSS/sysroot/lib
>
> libds-connector.a(libds_connector_a-client-bus.o): In function
> `dsConnector::makeClientBus(boost::asio::io_context&, ds::Conf&,
> dsConnector::StreamClient&, dsConnector::ClientBusHook&,
> dsConnector::Subscriptions&)':
>
> /home/holli/BUILD/DigitalStrom/dss-mainline/build-pc/build/../../build/../src/ds-connector/client-bus.cpp:52:
>
> undefined reference to
> `ds::asio::ReconnectTimer::ReconnectTimer(boost::asio::io_context&)'
>
> /home/holli/BUILD/DigitalStrom/dss-mainline/build-pc/build/../../build/../src/ds-connector/client-bus.cpp:52:
>
> undefined reference to `ds::asio::Timer::Timer(boost::asio::io_context&)'
>
> collect2: error: ld returned 1 exit status
>
> Makefile:2911: recipe for target 'ds-connector-cat' failed
>
> This is with boost 1.66 self build and if I use the conan files – the
> build fails as well here but with a different error:
>
> /home/holli/BUILD/DigitalStrom/dss-mainline/build-pc/build/../../build/../src/ds/json.cpp:7:
>
> undefined reference to `json_object_equal'
>
> collect2: error: ld returned 1 exit status
>
> I checked the json-c files – default was 12 on ubuntu now I’m on 13 and
> the json_object.h has json_object_equal information – any help would be
> great.
>
> I must get the dss running on my x64 because since the last update of
> the dss to 1.16 – every motion detection action is delayed by 4-10
> seconds and from dss support I was told this is because my old dss and I
> should by a new one…
>
> Nice to roll out a software and bake my house – no fix – buy new
> hardware from us – so I must get the dss running on my local unix env.
> To avoid to buy another device which might be not powerful enough in 1
> year again…
>
> Thanks
>
> Holli
>
>
> _______________________________________________
> dss-developer mailing list
> [email protected]
> http://forum.digitalstrom.org/cgi-bin/mailman/listinfo/dss-developer
>
--
Christian Hitz digitalSTROM AG
Team Lead Software Development Schlieren, Switzerland
DEBIAN_FRONTEND=noninteractive; apt-get update; apt-get -y install g++
cmake git autoconf libtool doxygen libavahi-client-dev
libboost-filesystem-dev libboost-locale-dev
libboost-program-options-dev libboost-system-dev libboost-test-dev
libboost-thread-dev libboost-regex-dev libconfig-dev
libcurl4-openssl-dev libgoogle-perftools-dev libjson-c-dev
libossp-uuid-dev libprotobuf-dev libprotobuf-c0-dev
libprotobuf-c-dev librrd-dev rrdtool libsqlite3-dev libssl-dev
libxml2-dev protobuf-compiler protobuf-c-compiler python-lxml
uthash-dev libexpat1-dev gcc-arm-none-eabi cppcheck
transifex-client libgtest-dev google-mock wget cron
default-jre srecord docker.io autopoint libasprintf-dev
checkinstall gettext libpthread-stubs0-dev zip autoconf2.13
libnspr4-dev sqlite3 ssh-askpass libavahi-core-dev libxmlrpc-c++8-dev curl
lcov libical-dev
mkdir dS
cd dS/
git clone https://git.digitalstrom.org/ds485-stack/libdsuid.git
git clone https://git.digitalstrom.org/ds485-stack/ds485-core.git
git clone https://git.digitalstrom.org/ds485-stack/ds485-netlib.git
git clone https://git.digitalstrom.org/ds485-stack/ds485d.git
git clone https://git.digitalstrom.org/ds485-stack/ds485-client.git
git clone https://git.digitalstrom.org/ds485-stack/dsdata.git
git clone https://git.digitalstrom.org/ds485-stack/dsm-api.git
git clone https://git.digitalstrom.org/dss-misc/libcommchannel.git
cat <<EOT > env.sh
export PREFIX=/dS/sysroot
# pkg-config --list-all to find packages installed in $PREFIX
export PKG_CONFIG_PATH=\$PREFIX/lib/pkgconfig
# dsm-api-v2
export DSDATA_PATH=\$PREFIX/share/digitalstrom
export PYTHONPATH=\$PYTHONPATH:\$PREFIX/lib/python2.7/dist-packages
export LUA_CPATH=\$PREFIX/lib/lua/5.2/?.so # TODO pls fix
# find libraries installed in PREFIX, e.g. needed when running dss
export LD_LIBRARY_PATH=\$PREFIX/lib
export PATH=\$PATH:\$PREFIX/bin
EOT
. env.sh
for project in libdsuid ds485-core ds485-netlib ds485-client dsdata
libcommchannel; do echo "Compiling $project"; pushd .; cd $project; autoreconf
-if; ./configure --prefix=$PREFIX; make -j8 install; popd; done
for project in dsm-api; do echo "Compiling $project"; pushd .; cd $project;
cmake -DCMAKE_INSTALL_PREFIX=$PREFIX; make -j8 install; popd; done
wget http://ftp.mozilla.org/pub/js/js185-1.0.0.tar.gz
tar xf js185-1.0.0.tar.gz
pushd .
cd js-1.8.5
patch -p1 < ../js-complile.patch
cd js/src
autoconf2.13
./configure --prefix=$PREFIX
make -j8
make install
popd
pushd .
git clone https://github.com/Tencent/rapidjson.git
cd rapidjson
git submodule update --init
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$PREFIX ..
make -j8
make install
popd
wget
http://ftp.de.debian.org/debian/pool/main/j/json-c/libjson-c4_0.13.1+dfsg-2_amd64.deb
wget
http://ftp.de.debian.org/debian/pool/main/j/json-c/libjson-c-dev_0.13.1+dfsg-2_amd64.deb
dpkg -i libjson-c4_0.13.1+dfsg-2_amd64.deb libjson-c-dev_0.13.1+dfsg-2_amd64.deb
git clone https://git.digitalstrom.org/dss/dss-mainline.git
pushd .
cd dss-mainline
autoreconf -if
./configure --prefix=$PREFIX --with-search=$PREFIX --enable-http --enable-debug
make -j8 install
popd
diff -ur js-1.8.5/js/src/jsapi.cpp js-1.8.5-patched/js/src/jsapi.cpp
--- js-1.8.5/js/src/jsapi.cpp 2011-03-31 21:08:36.000000000 +0200
+++ js-1.8.5-patched/js/src/jsapi.cpp 2018-05-31 11:01:04.932100358 +0200
@@ -3985,7 +3985,7 @@
AutoIdVector props(cx);
JSIdArray *ida;
if (!GetPropertyNames(cx, obj, JSITER_OWNONLY, &props) || !VectorToIdArray(cx, props, &ida))
- return false;
+ return NULL;
for (size_t n = 0; n < size_t(ida->length); ++n)
JS_ASSERT(js_CheckForStringIndex(ida->vector[n]) == ida->vector[n]);
return ida;
diff -ur js-1.8.5/js/src/jsfun.cpp js-1.8.5-patched/js/src/jsfun.cpp
--- js-1.8.5/js/src/jsfun.cpp 2011-03-31 21:08:36.000000000 +0200
+++ js-1.8.5-patched/js/src/jsfun.cpp 2018-05-31 11:08:48.987037571 +0200
@@ -2051,7 +2051,7 @@
JSString *str = JS_DecompileFunction(cx, fun, indent);
if (!str)
- return false;
+ return NULL;
if (!indent)
cx->compartment->toSourceCache.put(fun, str);
@@ -2657,7 +2657,7 @@
const Shape *shape = funobj->nativeLookup(id);
if (!shape) {
if (!ResolveInterpretedFunctionPrototype(cx, funobj))
- return false;
+ return NULL;
shape = funobj->nativeLookup(id);
}
JS_ASSERT(!shape->configurable());
diff -ur js-1.8.5/js/src/jsiter.cpp js-1.8.5-patched/js/src/jsiter.cpp
--- js-1.8.5/js/src/jsiter.cpp 2011-03-31 21:08:36.000000000 +0200
+++ js-1.8.5-patched/js/src/jsiter.cpp 2018-05-31 11:09:31.607309649 +0200
@@ -425,7 +425,7 @@
*/
JSObject *obj = js_NewGCObject(cx, FINALIZE_OBJECT0);
if (!obj)
- return false;
+ return NULL;
obj->init(cx, &js_IteratorClass, NULL, NULL, NULL, false);
obj->setMap(cx->compartment->emptyEnumeratorShape);
return obj;
diff -ur js-1.8.5/js/src/jsparse.cpp js-1.8.5-patched/js/src/jsparse.cpp
--- js-1.8.5/js/src/jsparse.cpp 2011-03-31 21:08:36.000000000 +0200
+++ js-1.8.5-patched/js/src/jsparse.cpp 2018-05-31 11:10:07.807540952 +0200
@@ -3352,7 +3352,7 @@
if (!outertc->inFunction() && bodyLevel && funAtom && !lambda && outertc->compiling()) {
JS_ASSERT(pn->pn_cookie.isFree());
if (!DefineGlobal(pn, outertc->asCodeGenerator(), funAtom))
- return false;
+ return NULL;
}
pn->pn_blockid = outertc->blockid();
diff -ur js-1.8.5/js/src/jsstr.cpp js-1.8.5-patched/js/src/jsstr.cpp
--- js-1.8.5/js/src/jsstr.cpp 2011-03-31 21:08:36.000000000 +0200
+++ js-1.8.5-patched/js/src/jsstr.cpp 2018-05-31 11:12:15.344321096 +0200
@@ -1734,7 +1734,7 @@
if (flat) {
patstr = flattenPattern(cx, fm.patstr);
if (!patstr)
- return false;
+ return NULL;
} else {
patstr = fm.patstr;
}
diff -ur js-1.8.5/js/src/jstypedarray.cpp js-1.8.5-patched/js/src/jstypedarray.cpp
--- js-1.8.5/js/src/jstypedarray.cpp 2011-03-31 21:08:36.000000000 +0200
+++ js-1.8.5-patched/js/src/jstypedarray.cpp 2018-05-31 11:13:16.028632962 +0200
@@ -1334,7 +1334,7 @@
if (size != 0 && count >= INT32_MAX / size) {
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
JSMSG_NEED_DIET, "size and count");
- return false;
+ return NULL;
}
int32 bytelen = size * count;
@@ -1668,7 +1668,7 @@
default:
JS_NOT_REACHED("shouldn't have gotten here");
- return false;
+ return NULL;
}
}
diff -ur js-1.8.5/js/src/jstypes.h js-1.8.5-patched/js/src/jstypes.h
--- js-1.8.5/js/src/jstypes.h 2011-03-31 21:08:36.000000000 +0200
+++ js-1.8.5-patched/js/src/jstypes.h 2018-05-31 11:11:21.976015397 +0200
@@ -391,8 +391,8 @@
** just as you would C int-valued conditions.
************************************************************************/
typedef JSIntn JSBool;
-#define JS_TRUE (JSIntn)1
-#define JS_FALSE (JSIntn)0
+#define JS_TRUE (JSIntn)true
+#define JS_FALSE (JSIntn)false
/*
** Special: JS_NEITHER is used by the tracer to have tri-state booleans.
** This should not be used in new code.
diff -ur js-1.8.5/js/src/methodjit/InvokeHelpers.cpp js-1.8.5-patched/js/src/methodjit/InvokeHelpers.cpp
--- js-1.8.5/js/src/methodjit/InvokeHelpers.cpp 2011-03-31 21:08:36.000000000 +0200
+++ js-1.8.5-patched/js/src/methodjit/InvokeHelpers.cpp 2018-05-31 11:21:20.863332188 +0200
@@ -728,7 +728,7 @@
{
JSStackFrame *fp = cx->fp();
if (fp->hasImacropc())
- return false;
+ return NULL;
JSScript *script = fp->script();
return script->maybeNativeCodeForPC(fp->isConstructing(), cx->regs->pc);
diff -ur js-1.8.5/js/src/nanojit/NativeX64.cpp js-1.8.5-patched/js/src/nanojit/NativeX64.cpp
--- js-1.8.5/js/src/nanojit/NativeX64.cpp 2011-03-31 21:08:36.000000000 +0200
+++ js-1.8.5-patched/js/src/nanojit/NativeX64.cpp 2018-05-31 11:20:45.723127685 +0200
@@ -1899,7 +1899,7 @@
}
}
- static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {0x8000000000000000LL,0};
+ static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {static_cast<int64_t>(0x8000'0000'0000'0000LL),0};
void Assembler::asm_fneg(LIns *ins) {
Register rr, ra;
_______________________________________________
dss-developer mailing list
[email protected]
http://forum.digitalstrom.org/cgi-bin/mailman/listinfo/dss-developer