<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Techy Things &#187; linux</title>
	<atom:link href="https://tech.yipp.ca/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://tech.yipp.ca</link>
	<description>Just another Yipp.ca Blogs site</description>
	<lastBuildDate>Thu, 01 May 2025 18:06:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>The disk contains an unclean file system (0, 0). Could not mount read-write, trying read-only</title>
		<link>https://tech.yipp.ca/debian/4532/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=4532</link>
		<comments>https://tech.yipp.ca/debian/4532/#comments</comments>
		<pubDate>Thu, 06 Mar 2025 20:35:07 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4532</guid>
		<description><![CDATA[<p>Problem frank@angel:~$ sudo mount -a The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Falling back to read-only mount because the NTFS partition is in an&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/debian/4532/">The disk contains an unclean file system (0, 0). Could not mount read-write, trying read-only</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Problem</h2>
<pre>frank@angel:~$ sudo mount -a
The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Falling back to read-only mount because the NTFS partition is in an
unsafe state. Please resume and shutdown Windows fully (no hibernation
or fast restarting.)
Could not mount read-write, trying read-only
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.</pre>
<h2>Solution</h2>
<pre>frank@angel:~$ sudo ntfsfix /dev/sdb2
Mounting volume... The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
FAILED
Attempting to correct errors...
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb2 was processed successfully.</pre>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/debian/4532/">The disk contains an unclean file system (0, 0). Could not mount read-write, trying read-only</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/debian/4532/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>letsencrypt stop working - Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org</title>
		<link>https://tech.yipp.ca/debian/letsencrypt-stop-working/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=letsencrypt-stop-working</link>
		<comments>https://tech.yipp.ca/debian/letsencrypt-stop-working/#comments</comments>
		<pubDate>Sun, 07 Nov 2021 18:15:56 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=4097</guid>
		<description><![CDATA[<p>root@ns1:/etc/cron.daily# ./letsencrypt Saving debug log to /var/log/letsencrypt/letsencrypt.log------------------------------------------------------------------------------- Processing /etc/letsencrypt/renewal/quebeclabradoodle.com.conf ------------------------------------------------------------------------------- Cert is due for renewal, auto-renewing... Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org Attempting to renew cert from /etc/letsencrypt/renewal/quebeclabradoodle.com.conf produced an unexpected error: HTTPSConnectionPool(host='acme-v01.api.letsencrypt.org', port=443):&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/debian/letsencrypt-stop-working/">letsencrypt stop working - Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div style="font-family: Courier;">root@ns1:/etc/cron.daily# ./letsencrypt<br />
Saving debug log to /var/log/letsencrypt/letsencrypt.log-------------------------------------------------------------------------------<br />
Processing /etc/letsencrypt/renewal/quebeclabradoodle.com.conf<br />
-------------------------------------------------------------------------------<br />
Cert is due for renewal, auto-renewing...<br />
<span style="color: #ff0000;">Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org</span><br />
<span style="color: #ff0000;"> Attempting to renew cert from /etc/letsencrypt/renewal/quebeclabradoodle.com.conf produced an unexpected error: HTTPSConnectionPool(host='acme-v01.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',)). Skipping.</span>-------------------------------------------------------------------------------<br />
Processing /etc/letsencrypt/renewal/budgetweb.co.conf<br />
-------------------------------------------------------------------------------<br />
Cert is due for renewal, auto-renewing...<br />
<span style="color: #ff0000;">Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org</span><br />
<span style="color: #ff0000;"> Attempting to renew cert from /etc/letsencrypt/renewal/budgetweb.co.conf produced an unexpected error: HTTPSConnectionPool(host='acme-v01.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',)). Skipping.</span>All renewal attempts failed. The following certs could not be renewed:<br />
/etc/letsencrypt/live/quebeclabradoodle.com/fullchain.pem (failure)<br />
/etc/letsencrypt/live/budgetweb.co/fullchain.pem (failure)<br />
2 renew failure(s), 0 parse failure(s)</div>
<h2>Solution</h2>
<p>The problem is the end of life of ACMEv1</p>
<p>The only solution is to upgrade <strong>certbot</strong>, in case of Debian 8, you need to upgrade to Debian 9 in order to get a recent enough version of certbot.</p>
<p><strong>$ sudo apt-get install certbot</strong></p>
<h3></h3>
<h3>References</h3>
<p>https://community.letsencrypt.org/t/how-can-i-update-from-acmev1-to-acmev2/136578</p>
<p>https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430/18</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/debian/letsencrypt-stop-working/">letsencrypt stop working - Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/debian/letsencrypt-stop-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Could not find a declaration file for module &#039;i18next-intervalplural-postprocessor&#039;.</title>
		<link>https://tech.yipp.ca/linux/typescript-error-in-i18nindex-ts428-could-not-find-a-declaration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=typescript-error-in-i18nindex-ts428-could-not-find-a-declaration</link>
		<comments>https://tech.yipp.ca/linux/typescript-error-in-i18nindex-ts428-could-not-find-a-declaration/#comments</comments>
		<pubDate>Sat, 28 Mar 2020 01:08:32 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=3488</guid>
		<description><![CDATA[<p>TypeScript error in C:/dev/react-ts/src/js/i18n/index.ts(4,28): Could not find a declaration file for module 'i18next-intervalplural-postprocessor'. 'C:/dev/react-ts/node_modules/i18next-intervalplural-postprocessor/index.js' implicitly has an 'any' type. Try `npm install @types/i18next-intervalplural-postprocessor` if it exists or add a new declaration (.d.ts) file containing&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/typescript-error-in-i18nindex-ts428-could-not-find-a-declaration/">Could not find a declaration file for module 'i18next-intervalplural-postprocessor'.</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>TypeScript error in C:/dev/react-ts/src/js/i18n/index.ts(4,28):<br />
Could not find a declaration file for module 'i18next-intervalplural-postprocessor'.</p>
<p>'C:/dev/react-ts/node_modules/i18next-intervalplural-postprocessor/index.js' implicitly has an 'any' type.<br />
Try `npm install @types/i18next-intervalplural-postprocessor` if it exists or add a new declaration (.d.ts) file containing `declare module 'i18next-intervalplural-postprocessor';` TS7016</p>
<p>2 | import i18nLib, { InitOptions } from 'i18next';<br />
3 | import LanguageDetector from 'i18next-browser-languagedetector';<br />
&gt; 4 | import intervalPlural from 'i18next-intervalplural-postprocessor';</p>
<h2>Solution</h2>
<p>Create the type file manually. There is no @types npm module to install for this one.</p>
<p>Create js/@types/index.js and type in it :</p>
<pre>declare module 'i18next-intervalplural-postprocessor';</pre>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/typescript-error-in-i18nindex-ts428-could-not-find-a-declaration/">Could not find a declaration file for module 'i18next-intervalplural-postprocessor'.</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/linux/typescript-error-in-i18nindex-ts428-could-not-find-a-declaration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>valgrind: failed to start tool &#039;memcheck&#039; for platform &#039;x86-linux&#039;: No such file or directory</title>
		<link>https://tech.yipp.ca/linux/valgrind-failed-start-tool-memcheck-platform-x86-linux-file-directory/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=valgrind-failed-start-tool-memcheck-platform-x86-linux-file-directory</link>
		<comments>https://tech.yipp.ca/linux/valgrind-failed-start-tool-memcheck-platform-x86-linux-file-directory/#comments</comments>
		<pubDate>Fri, 21 Feb 2020 22:38:26 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=2716</guid>
		<description><![CDATA[<p>valgrind: failed to start tool 'memcheck' for platform 'x86-linux': No such file or directory or $ ~/valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./json-test valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/valgrind-failed-start-tool-memcheck-platform-x86-linux-file-directory/">valgrind: failed to start tool 'memcheck' for platform 'x86-linux': No such file or directory</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>valgrind: failed to start tool 'memcheck' for platform 'x86-linux': No such file or directory</p>
<p>or</p>
<p>$ ~/valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./json-test<br />
valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such file or directory</p>
<p>Solution</p>
<p>This occurs when you have built locally with "make" but without "make install"</p>
<p>The solution is to export VALGRIND_LIB to the full path of the .in_place folder :</p>
<p>$ export VALGRIND_LIB=/home/flemieux/valgrind/.in_place</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/valgrind-failed-start-tool-memcheck-platform-x86-linux-file-directory/">valgrind: failed to start tool 'memcheck' for platform 'x86-linux': No such file or directory</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/linux/valgrind-failed-start-tool-memcheck-platform-x86-linux-file-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ONVIF C++ linkage problem</title>
		<link>https://tech.yipp.ca/linux/onvif-c-linkage-problem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=onvif-c-linkage-problem</link>
		<comments>https://tech.yipp.ca/linux/onvif-c-linkage-problem/#comments</comments>
		<pubDate>Wed, 21 Aug 2019 20:18:03 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=3382</guid>
		<description><![CDATA[<p>$ make TARGET_ARM7=1 arm-none-linux-gnueabi-g++ -DTARGET_ARM7 -I../../../../components/include/ -L/home/flemieux/makito2_enc_2.2.1/build/OSCAR/output/libs -lmxsessmgr -lmxtools -lmxcfgfile -lcrypt -lhailogin -lmxclock -lmxfpga -lrt -g -o wsd-probe ../../../vendors/gsoap/gsoap-2.8/gsoap/plugin/wsddapi.c ../../../vendors/gsoap/gsoap-2.8/gsoap/plugin/wsaapi.c gen/soapC.cpp gen/soapClient.cpp probe.cpp -lgsoap++ -L../../../vendors/gsoap/gsoap-2.8/gsoap -I gen -I ../../../vendors/gsoap/gsoap-2.8/gsoap/plugin -I ../../../vendors/gsoap/gsoap-2.8/gsoap ../../../vendors/gsoap/gsoap-2.8/gsoap/libgsoap++.a(libgsoap___a-stdsoap2_cpp.o): In function&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/onvif-c-linkage-problem/">ONVIF C++ linkage problem</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>$ make TARGET_ARM7=1<br />
arm-none-linux-gnueabi-g++ -DTARGET_ARM7 -I../../../../components/include/ -L/home/flemieux/makito2_enc_2.2.1/build/OSCAR/output/libs -lmxsessmgr -lmxtools -lmxcfgfile -lcrypt -lhailogin -lmxclock -lmxfpga -lrt -g -o wsd-probe ../../../vendors/gsoap/gsoap-2.8/gsoap/plugin/wsddapi.c ../../../vendors/gsoap/gsoap-2.8/gsoap/plugin/wsaapi.c gen/soapC.cpp gen/soapClient.cpp probe.cpp -lgsoap++ -L../../../vendors/gsoap/gsoap-2.8/gsoap -I gen -I ../../../vendors/gsoap/gsoap-2.8/gsoap/plugin -I ../../../vendors/gsoap/gsoap-2.8/gsoap<br />
../../../vendors/gsoap/gsoap-2.8/gsoap/libgsoap++.a(libgsoap___a-stdsoap2_cpp.o): In function `soap_link':<br />
/home/flemieux/makito2_enc_2.2.1/components/vendors/gsoap/gsoap-2.8/gsoap/stdsoap2_cpp.cpp:10751: undefined reference to `rpl_malloc'<br />
../../../vendors/gsoap/gsoap-2.8/gsoap/libgsoap++.a(libgsoap___a-stdsoap2_cpp.o): In function `soap_malloc':<br />
/home/flemieux/makito2_enc_2.2.1/components/vendors/gsoap/gsoap-2.8/gsoap/stdsoap2_cpp.cpp:10395: undefined reference to `rpl_malloc'<br />
/home/flemieux/makito2_enc_2.2.1/components/vendors/gsoap/gsoap-2.8/gsoap/stdsoap2_cpp.cpp:10387: undefined reference to `rpl_malloc'<br />
../../../vendors/gsoap/gsoap-2.8/gsoap/libgsoap++.a(libgsoap___a-stdsoap2_cpp.o): In function `soap_pointer_enter':<br />
/home/flemieux/makito2_enc_2.2.1/components/vendors/gsoap/gsoap-2.8/gsoap/stdsoap2_cpp.cpp:9662: undefined reference to `rpl_malloc'<br />
../../../vendors/gsoap/gsoap-2.8/gsoap/libgsoap++.a(libgsoap___a-stdsoap2_cpp.o): In function `soap_push_block':<br />
/home/flemieux/makito2_enc_2.2.1/components/vendors/gsoap/gsoap-2.8/gsoap/stdsoap2_cpp.cpp:2902: undefined reference to `rpl_malloc'<br />
../../../vendors/gsoap/gsoap-2.8/gsoap/libgsoap++.a(libgsoap___a-stdsoap2_cpp.o):/home/flemieux/makito2_enc_2.2.1/components/vendors/gsoap/gsoap-2.8/gsoap/stdsoap2_cpp.cpp:2870: more undefined references to `rpl_malloc' follow<br />
collect2: ld returned 1 exit status<br />
make: *** [wsd-probe] Error 1</p>
<p>&nbsp;</p>
<h2>Solution 1</h2>
<pre>sed -i 's/^#define malloc rpl_malloc/\/\/#define malloc rpl_malloc/' config.h</pre>
<h2>Solution 2</h2>
<pre># see http://wiki.buici.com/wiki/Autoconf_and_RPL_MALLOC
export ac_cv_func_malloc_0_nonnull=yes
export ac_cv_func_realloc_0_nonnull=yes

./configure --prefix=/usr --program-prefix= --target=arm-none-linux-gnueabi --build=i686-pc-linux-gnu56 --host=arm-none-linux-gnueabi --with-openssl --with-zlib

make


</pre>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/onvif-c-linkage-problem/">ONVIF C++ linkage problem</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/linux/onvif-c-linkage-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build a Node.JS C++ Module</title>
		<link>https://tech.yipp.ca/linux/build-node-js-c-module/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=build-node-js-c-module</link>
		<comments>https://tech.yipp.ca/linux/build-node-js-c-module/#comments</comments>
		<pubDate>Fri, 26 Jul 2019 18:17:02 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=3374</guid>
		<description><![CDATA[<p>Prerequisites nvm Build a Node.JS C++ Module from Scratch nvm use 8 npm install -g node-gyp mkdir addon cd addon npm init touch binding.gyp Edit binding.gyp and write this inside { "targets": [ {&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/build-node-js-c-module/">Build a Node.JS C++ Module</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Prerequisites</h2>
<p>nvm</p>
<h2>Build a Node.JS C++ Module from Scratch</h2>
<p>nvm use 8</p>
<p>npm install -g node-gyp</p>
<p>mkdir addon</p>
<p>cd addon</p>
<p>npm init</p>
<p>touch binding.gyp</p>
<p>Edit binding.gyp and write this inside</p>
<p>{<br />
"targets": [<br />
{<br />
"target_name": "addon",<br />
"sources": [ "addon.cc" ]<br />
}<br />
]<br />
}</p>
<p>touch addon.cc</p>
<p>Edit addon.cc and write this inside</p>
<pre><code>#include &lt;node.h&gt;
#include &lt;iostream&gt;

using namespace v8;
using namespace std;

void HelloWorld(const FunctionCallbackInfo&lt;Value&gt;&amp; args) {
   cout &lt;&lt; "Hello, world!" &lt;&lt; endl;
}

void Initialize(Local&lt;Object&gt; exports) {
   NODE_SET_METHOD(exports, "helloWorld", HelloWorld);
}

NODE_MODULE(addon, Initialize);</code></pre>
<p>node-gyp configure build</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Troubleshooting</p>
<p>Problem:</p>
<p>/usr/bin/ld: skipping incompatible /home/frank/kraken/vfcore/protobuf/arch/CentOS7-linux-i686/protobuf-2.4.1/stage/lib/libprotobuf.a when searching for -lprotobuf</p>
<p>Solution:</p>
<p>The library is 32-bit, but the node.js addon build is 64-bit.</p>
<p>You can check the architecture of your .a with :</p>
<p>objdump -f /home/frank/protobuf/arch/CentOS7-linux-i686/protobuf-2.4.1/stage/lib/libprotobuf.a | grep architecture</p>
<p>architecture: i386, flags 0x00000011:<br />
architecture: i386, flags 0x00000010:<br />
architecture: i386, flags 0x00000011:<br />
architecture: i386, flags 0x00000011:<br />
architecture: i386, flags 0x00000011:<br />
(...)</p>
<p>So the solution is to change the include dir to<br />
"-L/home/frank/protobuf/arch/CentOS7-linux-<strong>x86_64</strong>/protobuf-2.4.1/stage/lib",</p>
<p>Problem :</p>
<p>/usr/bin/ld: /home/frank/kraken/vfcore/protobuf/arch/CentOS7-linux-x86_64/protobuf-2.4.1/stage/lib/libprotobuf.a(common.o): relocation R_X86_64_32S against symbol `_ZTVN6google8protobuf7ClosureE' can not be used when making a shared object; recompile with -fPIC</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/build-node-js-c-module/">Build a Node.JS C++ Module</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/linux/build-node-js-c-module/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gSOAP cross-compiling in C++ for ws-discovery</title>
		<link>https://tech.yipp.ca/linux/gsoap-cross-compiling-c/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gsoap-cross-compiling-c</link>
		<comments>https://tech.yipp.ca/linux/gsoap-cross-compiling-c/#comments</comments>
		<pubDate>Thu, 06 Jun 2019 20:38:09 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=3360</guid>
		<description><![CDATA[<p>Troubleshooting Problem arm-none-linux-gnueabi-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DLINUX -Iyes/include -Iyes/include -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/share/gsoap /WS\"" -g -O2 -MT wsdl2h-service.o -MD -MP -MF .deps/wsdl2h-service.Tpo -c -o wsdl2h-service.o `test -f 'service.cpp' &#124;&#124; echo './'`service.cpp In file&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/gsoap-cross-compiling-c/">gSOAP cross-compiling in C++ for ws-discovery</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Troubleshooting</h2>
<h3>Problem</h3>
<p>arm-none-linux-gnueabi-g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DLINUX -Iyes/include -Iyes/include -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/share/gsoap /WS\"" -g -O2 -MT wsdl2h-service.o -MD -MP -MF .deps/wsdl2h-service.Tpo -c -o wsdl2h-service.o `test -f 'service.cpp' || echo './'`service.cpp<br />
In file included from /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/include/c++/4.4.1/bits/stl_algo.h:60,<br />
from /opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/include/c++/4.4.1/algorithm:62,<br />
from service.cpp:37:<br />
/opt/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/include/c++/4.4.1/cstdlib:119: error: '::malloc' has not been declared<br />
make[5]: *** [wsdl2h-service.o] Error 1</p>
<h4>Solution</h4>
<p>Include #include &lt;stdlib.h&gt; first in gsoap/wsdl/service.cpp</p>
<h3>Problem</h3>
<p>arm-none-linux-gnueabi-g++ -Iyes/include -Iyes/include -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/share/gsoap/WS\"" -g -O2 -L../../gsoap/wsdl -I../../gsoap -I../../gsoap/plugin -o ws dl2h wsdl2h-wsdl2h.o wsdl2h-wsdl.o wsdl2h-wadl.o wsdl2h-schema.o wsdl2h-types.o wsdl2h-service.o wsdl2h-soap.o wsdl2h-mime.o wsdl2h-wsp.o wsdl2h-bpel.o wsdl2h-wsdlC.o wsdl2h-httpda.o wsdl2h-smdevp.o wsdl2h-threads.o ../../gsoap/libgsoapssl++.a -Lyes/lib -Lyes/lib -lssl -lcrypto -lz<br />
wsdl2h-types.o: In function `emalloc(unsigned int)':<br />
/home/flemieux/onvif/gsoap-2.8.77-arm/gsoap/wsdl/types.cpp:4850: undefined reference to `rpl_malloc'<br />
wsdl2h-httpda.o: In function `http_da':<br />
/home/flemieux/onvif/gsoap-2.8.77-arm/gsoap/wsdl/../../gsoap/plugin/httpda.c:535: undefined reference to `rpl_malloc'<br />
wsdl2h-httpda.o: In function `http_da_session_start':<br />
/home/flemieux/onvif/gsoap-2.8.77-arm/gsoap/wsdl/../../gsoap/plugin/httpda.c:1339: undefined reference to `rpl_malloc'<br />
wsdl2h-httpda.o: In function `http_da_copy':<br />
/home/flemieux/onvif/gsoap-2.8.77-arm/gsoap/wsdl/../../gsoap/plugin/httpda.c:587: undefined reference to `rpl_malloc'<br />
wsdl2h-smdevp.o: In function `soap_smd_init':<br />
/home/flemieux/onvif/gsoap-2.8.77-arm/gsoap/wsdl/../../gsoap/plugin/smdevp.c:484: undefined reference to `rpl_malloc'<br />
wsdl2h-smdevp.o:/home/flemieux/onvif/gsoap-2.8.77-arm/gsoap/wsdl/../../gsoap/plugin/smdevp.c:494: more undefined references to `rpl_malloc' follow</p>
<h4>Solution</h4>
<p>Your config.h from the configure step probably has</p>
<p>/* Define to rpl_malloc if the replacement function should be used. */<br />
#define malloc rpl_malloc</p>
<p>Just comment out that line, and recompile "make" or "make -j1"</p>
<h2>Successfull Compilation!! Yayy!!</h2>
<p>$ make TARGET_ARM7=1<br />
mkdir -p gen<br />
/home/flemieux/gsoap-2.8/gsoap/src/soapcpp2 -2Cx ../../gsoap-2.8/gsoap/import/wsdd10.h -I ../../gsoap-2.8/gsoap/import -d gen</p>
<p>** The gSOAP code generator for C and C++, soapcpp2 release 2.8.77<br />
** Copyright (C) 2000-2019, Robert van Engelen, Genivia Inc.<br />
** All Rights Reserved. This product is provided "as is", without any warranty.<br />
** The soapcpp2 tool and its generated software are released under the GPL.<br />
** ----------------------------------------------------------------------------<br />
** A commercial use license is available from Genivia Inc., contact@genivia.com<br />
** ----------------------------------------------------------------------------</p>
<p>Using project directory path: gen/<br />
Saving gen/soapStub.h annotated copy of the source interface header file<br />
Saving gen/soapH.h serialization functions to #include in projects<br />
Using wsdd service name: wsdd<br />
Using wsdd service style: document<br />
Using wsdd service encoding: literal<br />
Using wsdd schema import namespace: http://schemas.xmlsoap.org/ws/2005/04/discovery<br />
Saving gen/wsdd.nsmap namespace mapping table<br />
Saving gen/soapClient.cpp client call stub functions<br />
Saving gen/soapClientLib.cpp client stubs with serializers (use only for libs)<br />
Saving gen/soapC.cpp serialization functions</p>
<p>Compilation successful</p>
<p>arm-none-linux-gnueabi-g++ -DTARGET_ARM7 -I/home/flemieux/makito2_enc_2.2.1/components/include/ -L/home/flemieux/makito2_enc_2.2.1/build/OSCAR/output/libs -lmxsessmgr -lmxtools -lmxcfgfile -lcrypt -lhailogin -lmxclock -lmxfpga -lrt -g -o wsd-probe ../../gsoap-2.8/gsoap/plugin/wsddapi.c ../../gsoap-2.8/gsoap/plugin/wsaapi.c gen/soapC.cpp gen/soapClient.cpp probe.cpp -lgsoap++ -L/home/flemieux/onvif/gsoap-2.8.77-arm/gsoap -I gen -I ../../gsoap-2.8/gsoap/plugin -I ../../gsoap-2.8/gsoap<br />
arm-none-linux-gnueabi-g++ -DTARGET_ARM7 -I/home/flemieux/makito2_enc_2.2.1/components/include/ -L/home/flemieux/makito2_enc_2.2.1/build/OSCAR/output/libs -lmxsessmgr -lmxtools -lmxcfgfile -lcrypt -lhailogin -lmxclock -lmxfpga -lrt -g -o wsd-server ../../gsoap-2.8/gsoap/plugin/wsddapi.c ../../gsoap-2.8/gsoap/plugin/wsaapi.c gen/soapC.cpp gen/soapClient.cpp wsd-server.cpp server.cpp -lgsoap++ -L/home/flemieux/onvif/gsoap-2.8.77-arm/gsoap -I gen -I ../../gsoap-2.8/gsoap/plugin -I ../../gsoap-2.8/gsoap<br />
arm-none-linux-gnueabi-g++ -DTARGET_ARM7 -I/home/flemieux/makito2_enc_2.2.1/components/include/ -L/home/flemieux/makito2_enc_2.2.1/build/OSCAR/output/libs -lmxsessmgr -lmxtools -lmxcfgfile -lcrypt -lhailogin -lmxclock -lmxfpga -lrt -g -o wsd-proxy ../../gsoap-2.8/gsoap/plugin/wsddapi.c ../../gsoap-2.8/gsoap/plugin/wsaapi.c gen/soapC.cpp gen/soapClient.cpp proxy.cpp -lgsoap++ -L/home/flemieux/onvif/gsoap-2.8.77-arm/gsoap -I gen -I ../../gsoap-2.8/gsoap/plugin -I ../../gsoap-2.8/gsoap<br />
$</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/gsoap-cross-compiling-c/">gSOAP cross-compiling in C++ for ws-discovery</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/linux/gsoap-cross-compiling-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to check if an element has a class in Selenium (Javascript, Python, Nightwatch)</title>
		<link>https://tech.yipp.ca/linux/check-element-class-selenium-javascript-python-nightwatch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=check-element-class-selenium-javascript-python-nightwatch</link>
		<comments>https://tech.yipp.ca/linux/check-element-class-selenium-javascript-python-nightwatch/#comments</comments>
		<pubDate>Wed, 05 Jun 2019 02:35:42 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=3355</guid>
		<description><![CDATA[<p>Nightwatch // To check if an element has a class // Check the return value via the callback: true or false var hasClass = function(browser, element, theClass, f_callback) { var retVal = false; browser.getAttribute(element,&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/check-element-class-selenium-javascript-python-nightwatch/">How to check if an element has a class in Selenium (Javascript, Python, Nightwatch)</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Nightwatch</h2>
<pre> // To check if an element has a class
 // Check the return value via the callback: true or false 
var hasClass = function(browser, element, theClass, f_callback) {
   var retVal = false;
   browser.getAttribute(element, 'class', function(res) {
     if (res.status === 0) { // ok 
       let classes = res.value.split(" ");
       if (classes.indexOf(theClass) &gt;= 0) {
         retVal = true;
       }
     } else {
       console.log("ERROR: Failed to get attributes of element", element);
     }
     f_callback(retVal);
   });
 };</pre>
<h2>Python + Selenium</h2>
<p>hasErrorClass = 'error' in divBlock.get_attribute('class').split(' ')</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/check-element-class-selenium-javascript-python-nightwatch/">How to check if an element has a class in Selenium (Javascript, Python, Nightwatch)</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/linux/check-element-class-selenium-javascript-python-nightwatch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Milestone on Windows 10 with accounts on a domain</title>
		<link>https://tech.yipp.ca/linux/installing-milestone-windows-10-accounts-domain/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-milestone-windows-10-accounts-domain</link>
		<comments>https://tech.yipp.ca/linux/installing-milestone-windows-10-accounts-domain/#comments</comments>
		<pubDate>Thu, 11 Apr 2019 20:13:30 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=3315</guid>
		<description><![CDATA[<p>4/10/2019 2:25:42 PM Information CopyOldExternalPlugins: Started... 4/10/2019 2:25:42 PM Information Calling SetupDatabaseTask 4/10/2019 2:25:49 PM Information Last error: {0} 4/10/2019 2:25:49 PM Error An error occurred: 'InstallationAdapterException: Could not configure the server. See the&#46;&#46;&#46;</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/installing-milestone-windows-10-accounts-domain/">Installing Milestone on Windows 10 with accounts on a domain</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>4/10/2019 2:25:42 PM Information CopyOldExternalPlugins: Started...<br />
4/10/2019 2:25:42 PM Information Calling SetupDatabaseTask<br />
4/10/2019 2:25:49 PM Information Last error: {0}<br />
4/10/2019 2:25:49 PM Error An error occurred: 'InstallationAdapterException: Could not configure the server. See the log file for more information. ---&gt; ServerConfiguratorFailedException: Error occured while configuring the server. See log file at C:\ProgramData\Milestone\Installer\ConfiguratorI.log for more information. ---&gt; DbUpdateException: DBUpdate failed. Exit code: 100. Output: Creating database...<br />
Successfully created database 'Surveillance'.<br />
Updating database to latest version (This operation might take several minutes)...<br />
DB30003: Error applying update script: '03.5.06'. The error was: Could not obtain information about Windows NT group/user 'HAI\flemieux', error code 0x54b.<br />
'. Error details: at VideoOS.Installer.ServerConfiguratorPlugin.ConfigurationTaskInstall.DoRun()<br />
at VideoOS.SoftwareManager.Core.Task.Task.Start()<br />
4/10/2019 2:25:49 PM Error An error occurred: 'ServerConfiguratorFailedException: Error occured while configuring the server. See log file at C:\ProgramData\Milestone\Installer\ConfiguratorI.log for more information. ---&gt; DbUpdateException: DBUpdate failed. Exit code: 100. Output: Creating database...<br />
Successfully created database 'Surveillance'.<br />
Updating database to latest version (This operation might take several minutes)...<br />
DB30003: Error applying update script: '03.5.06'. The error was: Could not obtain information about Windows NT group/user 'HAI\flemieux', error code 0x54b.<br />
'. Error details: at VideoOS.Installer.ServerConfiguratorPlugin.ServerConfigurator.ServerConfigure(ILog logComponent, Int32 webSitePort, String configuratorLogPath)<br />
at VideoOS.Installer.ServerConfiguratorPlugin.ServerConfigurator.RunInstall(Boolean isHWMM, Boolean isFinalizedMode)<br />
at VideoOS.Installer.ServerConfiguratorPlugin.ConfigurationTaskInstall.DoRun()<br />
4/10/2019 2:25:49 PM Error An error occurred: 'DbUpdateException: DBUpdate failed. Exit code: 100. Output: Creating database...<br />
Successfully created database 'Surveillance'.<br />
Updating database to latest version (This operation might take several minutes)...<br />
DB30003: Error applying update script: '03.5.06'. The error was: Could not obtain information about Windows NT group/user 'HAI\flemieux', error code 0x54b.<br />
'. Error details: at VideoOS.Server.Admin.Tasks.SetupDatabaseTask.CreateOrUpdateDatabase(String dbUpdateFilePath, String commandArguments, Func`2 processExecutor)<br />
at VideoOS.Installer.ServerConfiguratorPlugin.ServerConfigurator.ServerConfigure(ILog logComponent, Int32 webSitePort, String configuratorLogPath)<br />
4/10/2019 2:25:49 PM Error Install failed.VideoOS.Installer.Sequencer.ErrorHandling.InstallerSequencerException: Could not configure the server. See the log file for more information. ---&gt; VideoOS.Installer.ServerConfiguratorPlugin.ServerConfiguratorFailedException: Error occured while configuring the server. See log file at C:\ProgramData\Milestone\Installer\ConfiguratorI.log for more information. ---&gt; VideoOS.Server.Admin.Tasks.DbUpdateException: DBUpdate failed. Exit code: 100. Output: Creating database...<br />
Successfully created database 'Surveillance'.<br />
Updating database to latest version (This operation might take several minutes)...<br />
DB30003: Error applying update script: '03.5.06'. The error was: Could not obtain information about Windows NT group/user 'HAI\flemieux', error code 0x54b.</p>
<p>at VideoOS.Server.Admin.Tasks.SetupDatabaseTask.CreateOrUpdateDatabase(String dbUpdateFilePath, String commandArguments, Func`2 processExecutor)<br />
at VideoOS.Installer.ServerConfiguratorPlugin.ServerConfigurator.ServerConfigure(ILog logComponent, Int32 webSitePort, String configuratorLogPath)<br />
--- End of inner exception stack trace ---<br />
at VideoOS.Installer.ServerConfiguratorPlugin.ServerConfigurator.ServerConfigure(ILog logComponent, Int32 webSitePort, String configuratorLogPath)<br />
at VideoOS.Installer.ServerConfiguratorPlugin.ServerConfigurator.RunInstall(Boolean isHWMM, Boolean isFinalizedMode)<br />
at VideoOS.Installer.ServerConfiguratorPlugin.ConfigurationTaskInstall.DoRun()<br />
--- End of inner exception stack trace ---</p>
<p>Server stack trace:<br />
at VideoOS.Installer.Sequencer.SequenceManager.Install()<br />
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]&amp; outArgs)<br />
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)</p>
<p>Exception rethrown at [0]:<br />
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)<br />
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData&amp; msgData)<br />
at VideoOS.Installer.Sequencer.SequenceManager.BeginInstallDelegate.EndInvoke(IAsyncResult result)<br />
at VideoOS.Installer.UI.WizardPageInstall.InstallationEnded(IAsyncResult ar)<br />
4/10/2019 2:25:49 PM Information There are '14' packages files in 'Milestone XProtect VMS 2019 R1'</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/installing-milestone-windows-10-accounts-domain/">Installing Milestone on Windows 10 with accounts on a domain</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/linux/installing-milestone-windows-10-accounts-domain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>onvif server compilation failure openssl/bio.h no such file or directory</title>
		<link>https://tech.yipp.ca/linux/onvif-server-compilation-failure-opensslbio-h-file-directory/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=onvif-server-compilation-failure-opensslbio-h-file-directory</link>
		<comments>https://tech.yipp.ca/linux/onvif-server-compilation-failure-opensslbio-h-file-directory/#comments</comments>
		<pubDate>Wed, 10 Apr 2019 22:53:44 +0000</pubDate>
		<dc:creator><![CDATA[frank]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.yipp.ca/?p=3305</guid>
		<description><![CDATA[<p>In file included from stdsoap2_ssl.c:65:0: stdsoap2.h:932:26: fatal error: openssl/bio.h: No such file or directory # include &#60;openssl/bio.h&#62; Solution sudo apt-get install libssl-dev</p>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/onvif-server-compilation-failure-opensslbio-h-file-directory/">onvif server compilation failure openssl/bio.h no such file or directory</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>In file included from stdsoap2_ssl.c:65:0:<br />
stdsoap2.h:932:26: fatal error: openssl/bio.h: No such file or directory<br />
# include &lt;openssl/bio.h&gt;</p>
<p>Solution</p>
<pre class="lang-cpp prettyprint prettyprinted"><code><span class="pln">sudo apt</span><span class="pun">-</span><span class="pln">get install libssl</span><span class="pun">-</span><span class="pln">dev</span></code></pre>
<p>The post <a rel="nofollow" href="https://tech.yipp.ca/linux/onvif-server-compilation-failure-opensslbio-h-file-directory/">onvif server compilation failure openssl/bio.h no such file or directory</a> appeared first on <a rel="nofollow" href="https://tech.yipp.ca">Techy Things</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://tech.yipp.ca/linux/onvif-server-compilation-failure-opensslbio-h-file-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
