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

Reply via email to