PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Monitord unter Debian (konkret: wheezy)



torrannagga
21.11.2012, 16:25
Hallo,

Ich wollte Monitord unter Debian 7 installieren.
Ich habe jetzt den Source-Code runtergeladen und wollte ihn mit /configure, make und make install installieren.
configure habe ich mit chmod +x ausführbar gemacht, das scheint auch soweit durchzulaufen.
Wenn ich jetzt make ausführe, bricht er mit folgendem Fehler ab:



make all-am
make[1]: Entering directory `/home/XXXXX/Downloads/trunk'
g++ -DHAVE_CONFIG_H -I. -Ijthread-1.2.1/src -D_DEBUG -Wall -g -O2 -MT monitord/monitord_monitord-MonitorConfiguration.o -MD -MP -MF monitord/.deps/monitord_monitord-MonitorConfiguration.Tpo -c -o monitord/monitord_monitord-MonitorConfiguration.o `test -f 'monitord/MonitorConfiguration.cpp' || echo './'`monitord/MonitorConfiguration.cpp
In file included from monitord/MonitorConfiguration.cpp:16:0:
./simpleopt/SimpleGlob.h: In instantiation of ‘int CSimpleGlobTempl<SOCHAR>::Add(const SOCHAR*) [with SOCHAR = char]’:
./simpleopt/SimpleGlob.h:687:9: required from ‘int CSimpleGlobTempl<SOCHAR>::Add(int, const SOCHAR* const*) [with SOCHAR = char]’
monitord/MonitorConfiguration.cpp:334:62: required from here
./simpleopt/SimpleGlob.h:623:55: error: ‘GetFileTypeS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
./simpleopt/SimpleGlob.h:623:55: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:623:55: note: use ‘this->GetFileTypeS’ instead
./simpleopt/SimpleGlob.h:644:53: error: ‘FindFirstFileS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
./simpleopt/SimpleGlob.h:644:53: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:644:53: note: use ‘this->FindFirstFileS’ instead
./simpleopt/SimpleGlob.h:657:9: error: ‘GetFileNameS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
./simpleopt/SimpleGlob.h:657:9: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:657:9: note: use ‘this->GetFileNameS’ instead
./simpleopt/SimpleGlob.h:657:9: error: ‘IsDirS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
./simpleopt/SimpleGlob.h:657:9: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:657:9: note: use ‘this->IsDirS’ instead
./simpleopt/SimpleGlob.h:658:9: error: ‘FindNextFileS’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
./simpleopt/SimpleGlob.h:658:9: note: declarations in dependent base ‘SimpleGlobBase<char>’ are not found by unqualified lookup
./simpleopt/SimpleGlob.h:658:9: note: use ‘this->FindNextFileS’ instead
make[1]: *** [monitord/monitord_monitord-MonitorConfiguration.o] Fehler 1
make[1]: Leaving directory `/home/XXXX/Downloads/trunk'
make: *** [all] Fehler 2


Was muss ich tun, damit es klappt?

Vielen Dank!

hemasi
03.01.2013, 08:00
Das Problem liegt wohl in g++-4.7.

Ich hab das gefunden: http://www.linuxquestions.org/questions/linux-newbie-8/how-to-install-all-g-versions-and-switch-4-5-4-6-4-7-in-debian-wheezy-alternatives-4175416791/

und auf g++4.6 gewechselt, damit lief make durch. Installiert und probiert hab ich noch nicht.

c.u.

hemasi

hemasi
04.01.2013, 11:06
Hallo Gemeinde,

jetzt nochmal sehr kompakt zusammengefasst:

Ich hab hier ein jungfräuliches 64 Bit - Wheezy installiert, allerdings mit Xfce, da mir Gnome und pulseaudio nicht geheuer sind.

Erstmal alle notwendigen Pakete installieren:


apt-get install build-essential mysql-server mysql-client libmysqlclient-dev subversion autoconf libtool g++-4.6 medit libasound1-dev


Wie oben schon angedeutet klappt das mit g++-4.7 nicht so richtig, deshalb das folgende script irgendwo speichern:



#!/bin/bash
rm /usr/bin/cpp
ln -s /usr/bin/cpp-4.6 /usr/bin/cpp
echo ln -s cpp-4.6 cpp

rm /usr/bin/gcc
ln -s /usr/bin/gcc-4.6 /usr/bin/gcc
echo ln -s gcc-4.6 gcc

rm /usr/bin/cc
ln -s /usr/bin/gcc-4.6 /usr/bin/cc
echo ln -s gcc-4.6 cc

rm /usr/bin/g++
ln -s /usr/bin/g++-4.6 /usr/bin/g++
echo ln -s g++-4.6 g++

rm /usr/bin/c++
ln -s /usr/bin/g++-4.6 /usr/bin/c++
echo ln -s g++-4.6 c++

rm /usr/bin/gcov
ln -s /usr/bin/gcov-4.6 /usr/bin/gcov
echo ln -s gcov-4.6 gcov


skript ausführbar machen und starten


chmod a+x skript
sh skript


Jetzt der monitor-Teil:



svn co http://svn.monitord.de/monitor/trunk monitord
cd monitord
autoreconf -fi
./configure --enable-plugins --with-alsa --with-mysql
make
make install


Jetzt noch die monitord.xml kopieren:


cp ./sample-configs/monitord.xml.linux ./monitord/monitord.linux


und anpassen

OSS auskommentieren, ALSA einkommentieren und audiorecorder auskommenteren


<soundcard num="0">
<!--<device>/dev/dsp0</device> <!-- OSS: die erste Soundkarte -->
<device>plughw:0,0</device> <!-- ALSA: die erste Soundkarte -->
<status>1</status> <!-- 1=aktiv, 0=deaktivert -->
<baud>22050</baud>
<name> Erste Sondkarte </name>
<!-- Linker Kanal -->
<channel part="left">

<!-- Audio Plugin -->
<!--
<plugin name="audiorecorder">
<file> monitord/plugins/.libs/libmplugin_audiorecorder.so.0.0.0 </file>
<parameters>
<path> /home/heschmid/recordings/
</path>
</parameters>
</plugin>
-->
<!-- Audio Plugin -->
<name>Kanal 1</name>


dann muss für sql noch ein kleiner Fehler in der Musterkonfiguration beseitigt werden, da wird wohl im Linux - Musterfile auf eine DLL von Windows verwiesen :-)



<!-- Daten Plugin -->
<plugin name="mysql">
<file> plugins/.libs/libmplugin_mysql.so.0.0.0</file>
<parameters>
<logfile> mysql.log </logfile>


dann muss noch eine Datenbank unter mysql eingerichtet werden und dann kann es mit



/xxxx/monitord/monitord


losgehen.

bei mir sieht dass dann mit der DEBUG-Einstellung im Logfile so aus:



10:46:20.671 INFO: monitord/Monitor.cpp(68) monitord restarted - logging with loglevel DEBUG
10:46:20.671 DEBUG: monitord/MonitorModulesResults.cpp(51) Dispatcher startet
10:46:20.672 INFO: monitord/Monitor.cpp(113) monitord 2.0svn READY
10:46:20.673 INFO: monitord/Monitor.cpp(217) starting soundcard #0
10:46:20.673 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0
10:46:20.673 INFO: monitord/SndPipe.cpp(156) creating decoder for soundcard #0L:FMS
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(100) FMS Parameter
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(101) sample : 22050
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(102) syncbits: 12
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(103) crc : 1
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(104) level : 0.15259
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(105) Algo : 0
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(106) ignW : 0
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(107) ignQ : 0
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(108) ErrC : 0
10:46:20.673 DEBUG: monitord/MonitorModuleFMS.cpp(109) force : 0
10:46:20.674 INFO: monitord/SndPipe.cpp(178) creating decoder for soundcard #0L:ZVEI
10:46:20.674 INFO: monitord/SndPipe.cpp(189) creating decoder for soundcard #0R:ZVEI
10:46:20.674 INFO: monitord/SndPipe.cpp(201) creating decoder for soundcard #0L:POC512
10:46:20.674 INFO: monitord/MonitorModulePocsag512.cpp(66) (2) sample - crc - ecc - minpreambel - maxerrors - algo:22050 - 1 - 0 - 300 - 10 - 1
10:46:20.674 INFO: monitord/MonitorModulePocsag512.cpp(79) Algorithmus:1
10:46:20.674 INFO: monitord/MonitorModulePocsag512.cpp(86) SPHASE_INC is:1521
10:46:20.674 INFO: monitord/SndPipe.cpp(228) creating decoder for soundcard #0L:POC1200
10:46:20.674 INFO: monitord/SndPipe.cpp(263) loading audioplugins for left channel
10:46:20.674 INFO: monitord/SndPipe.cpp(265) loading audioplugins for right channel
10:46:20.675 INFO: monitord/posix/MonitorAudioALSA.cpp(107) [ALSA] Using pcm_buffer_size=4096 periods=2
10:46:20.677 INFO: monitord/Monitor.cpp(225) Soundcard #0 started - complete
10:46:20.678 INFO: monitord/Monitor.cpp(147) monitord socketserver started
10:46:20.678 DEBUG: monitord/SocketServer.cpp(851) SocketManager erstellt
10:46:20.679 INFO: monitord/Monitor.cpp(153) fms32pro socketserver started
10:46:20.680 INFO: monitord/Monitor.cpp(158) crusader socketserver started
10:46:20.680 INFO: monitord/PluginThread.cpp(326) reading plugin configuration
10:46:20.680 INFO: monitord/PluginThread.cpp(337) Plugin found: mysql
10:46:20.680 DEBUG: monitord/PluginThread.cpp(338) File:plugins/.libs/libmplugin_mysql.so.0.0.0
10:46:20.680 DEBUG: monitord/PluginThread.cpp(341) found parameters
10:46:20.680 DEBUG: monitord/PluginThread.cpp(16) Erstellt PT:
10:46:20.680 DEBUG: monitord/PluginThread.cpp(30) DLL Name:plugins/.libs/libmplugin_mysql.so.0.0.0
10:46:20.681 DEBUG: monitord/PluginThread.cpp(34) done
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(231) reading mapping info
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(232) table=monitord_fms
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: uhrzeit / mysql:now()
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: status / :statusdezimal
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: kennung / :fmskennung
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: richtung / :richtung
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: text / :textuebertragung
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: tki / :tki
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: quelle / :channelnum
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(231) reading mapping info
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(232) table=monitord_pocsag
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: uhrzeit / mysql:now()
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: kennung / :ric
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: sub / :sub
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: text / :text
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: quelle / :channelnum
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(231) reading mapping info
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(232) table=monitord_zvei
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: uhrzeit / mysql:now()
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: typ / :weckton
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: kennung / :zvei
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: text / :text
10:46:20.682 DEBUG: monitord/plugins/libmplugin_mysql.cpp(250) Feld: quelle / :channelnum
10:46:20.683 INFO: monitord/plugins/libmplugin_mysql.cpp(191) successfully connected to mysql database monitord on host localhost with username="monitord"
10:46:20.683 DEBUG: monitord/PluginThread.cpp(304) startet plugin plugins/.libs/libmplugin_mysql.so.0.0.0
10:46:20.685 INFO: monitord/PluginThread.cpp(79) PluginThread starting
10:46:20.685 DEBUG: monitord/Monitor.cpp(167) PluginManager started


nach dem aktivieren der Aufnahme beim Eingangskanal im alsamixer läuft jetzt auch die Auswertung und die Einträge werden in der Datenbank abgelegt.

mdi
16.01.2013, 19:00
Hallo,


Hallo Gemeinde,

jetzt nochmal sehr kompakt zusammengefasst: (...)

spitzenmäßig :)! Danke für das ausführliche Feedback; ich persönlich bin in Sachen monitord nur auf Win32 unterwegs, da ist es MEGA hilfreich, solch detaillierte Hinweise zu bekommen :)!

Viele Grüße
Martin

Keano
12.11.2013, 21:27
Wie/Wo genau muss ich denn das Script anlegen?

Snipero
20.11.2013, 09:46
Wo du das Script anlegst/ausfürhst ist egal.