PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : monitord - Compilieren unter Linux Debian Lenny



funkwart
13.07.2009, 13:30
Moin Forum,
nachdem ich bislang den monitord nur unter Windows getestet habe, wollte ich ihn nun natürlich auch mal auf meinem frisch installierten Debian Lenny installieren.
1.) Tarball gezogen und entpackt - OK
2.) ./configure laufen gelassen - OK
3.) make gestartet - Fehler
Meldung hier wie folgt:


cd . && /bin/sh /root/trunk/missing --run aclocal-1.10
cd . && /bin/sh /root/trunk/missing --run automake-1.10 --foreign
cd . && /bin/sh /root/trunk/missing --run autoconf
configure.ac:38: error: possibly undefined macro: AM_PATH_ALSA
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
make: *** [configure] Fehler 1


Ein zweiter Aufruf von make produziert dann Folgendes:


/bin/sh ./config.status --recheck
running CONFIG_SHELL=/bin/sh /bin/sh ./configure --no-create --no-recursion
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
./configure: line 4167: syntax error near unexpected token `0.9.1,'
./configure: line 4167: ` AM_PATH_ALSA(0.9.1, HAVE_ALSA=yes, HAVE_ALSA=no)'
make: *** [config.status] Fehler 2


Was läuft hier nicht rund?
Wer kann mir Tipps geben?

Danke und Gruß,
Funkwart

sschaebe
13.07.2009, 16:13
Moin Forum,
nachdem ich bislang den monitord nur unter Windows getestet habe, wollte ich ihn nun natürlich auch mal auf meinem frisch installierten Debian Lenny installieren.
1.) Tarball gezogen und entpackt - OK
2.) ./configure laufen gelassen - OK
3.) make gestartet - Fehler
Meldung hier wie folgt:


cd . && /bin/sh /root/trunk/missing --run aclocal-1.10
cd . && /bin/sh /root/trunk/missing --run automake-1.10 --foreign
cd . && /bin/sh /root/trunk/missing --run autoconf
configure.ac:38: error: possibly undefined macro: AM_PATH_ALSA
^^^^^^^^^^^^
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
make: *** [configure] Fehler 1

....
Was läuft hier nicht rund?
Wer kann mir Tipps geben?


Alles in Ordnung mit ALSA?

Gruß
Simon

Buebchen
13.07.2009, 18:57
ruf mal aclocal wie folgt auf:



aclocal -Im4


auf. Die ALSA (und auch neu die LUA autoconf Makros sind im Ordner m4). Danach



automake && autoconf
configure


configure halt mit dem nötigen Optionen.

funkwart
14.07.2009, 00:29
configure halt mit dem nötigen Optionen.
Muss ich denn nun --with-alsa nutzen oder nicht?
Was für Optionen gibt es dennn?

Gruß, funkwart

Buebchen
14.07.2009, 03:24
Die ALSA Fehlermeldung hatte nur was mit fehlenden m4 Makros zu tun. Eigentlich sollte das configure die Standardoptionen selbst korrekt erkennen.

Experimentelle oder Beta-Funktionen werden aber nicht automatisch aktiviert. Ein configure --help gibt dir die Optionen aus. Alsa solltest Du nicht auswählen müssen.

funkwart
14.07.2009, 08:11
Es ist doch zu schade!
Jetzt läuft er durch, dafür schonmal vielen Dank an alle Helfer.
Ich bekomme jetzt allerdings eine Fehlermeldung beim Start:


07:04:15.678 INFO: monitord/SocketServer.cpp(660) SocketManager erstellt
07:04:15.678 DEBUG: monitord/MonitorSignals.cpp(21) Signal erstellt...
07:04:15.679 INFO: monitord/MonitorModulesResults.cpp(51) Dispatcher startet
07:04:15.680 DEBUG: monitord/MonitorModulesResults.cpp(88) Dispatcher waiting
07:04:15.680 DEBUG: monitord/MonitorSignals.cpp(60) Waiting for signal
07:04:15.706 DEBUG: monitord/MonitorSignals.cpp(21) Signal erstellt...
Loglevel: INFO
07:04:15.839 INFO: monitord/Monitor.cpp(108) monitord 2.0svn READY

07:04:15.839 INFO: monitord/Monitor.cpp(205) starting soundcard #0
07:04:15.840 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0
07:04:15.842 INFO: monitord/MonitorModulePocsag512.cpp(66) (2) sample - crc - ecc - minpreambel - maxerrors - algo:22050 - 1 - 0 - 300 - 10 - 1
07:04:15.842 INFO: monitord/MonitorModulePocsag512.cpp(79) Algorithmus:1
07:04:15.843 INFO: monitord/MonitorModulePocsag512.cpp(86) SPHASE_INC is:1521
07:04:15.843 ERROR: monitord/posix/MonitorAudioOSS.cpp(48) open
07:04:15.844 ERROR: monitord/posix/MonitorAudioOSS.cpp(26) Error initializing PCM device /dev/dsp0

Kommentiere ich in der monitord.xml in der soundcard-Sektion die Zeile für OSS aus und entkommentiere dafür die Zeile für ALSA, dann bekomme ich folgende Fehlermeldung:


07:06:51.761 INFO: monitord/SocketServer.cpp(660) SocketManager erstellt
07:06:51.762 DEBUG: monitord/MonitorSignals.cpp(21) Signal erstellt...
07:06:51.762 INFO: monitord/MonitorModulesResults.cpp(51) Dispatcher startet
07:06:51.763 DEBUG: monitord/MonitorModulesResults.cpp(88) Dispatcher waiting
07:06:51.763 DEBUG: monitord/MonitorSignals.cpp(60) Waiting for signal
07:06:51.789 DEBUG: monitord/MonitorSignals.cpp(21) Signal erstellt...
Loglevel: INFO
07:06:51.922 INFO: monitord/Monitor.cpp(108) monitord 2.0svn READY

07:06:51.922 INFO: monitord/Monitor.cpp(205) starting soundcard #0
07:06:51.923 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0
07:06:51.925 INFO: monitord/MonitorModulePocsag512.cpp(66) (2) sample - crc - ecc - minpreambel - maxerrors - algo:22050 - 1 - 0 - 300 - 10 - 1
07:06:51.925 INFO: monitord/MonitorModulePocsag512.cpp(79) Algorithmus:1
07:06:51.926 INFO: monitord/MonitorModulePocsag512.cpp(86) SPHASE_INC is:1521
07:06:51.926 ERROR: monitord/posix/MonitorAudioOSS.cpp(48) open
07:06:51.927 ERROR: monitord/posix/MonitorAudioOSS.cpp(26) Error initializing PCM device plughw:0,0


Was ist da nun wieder los? Die Soundkarte funktioniert und wurde über alsaconf konfiguriert. Sollte doch eigentlich funktionieren, oder?

Gruß vom hilflosen
Funkwart

Buebchen
14.07.2009, 10:58
Unter linux (und debian noch weniger) kenn' ich mich mit der Audioansteuerung nicht so gut aus. Aber gibt es /dev/dsp0 denn ?

Ansonsten fällt mir auf, daß in beiden Logs die Fehlermeldung aus dem MonitorAudioOSS kommt. Im configure gabs doch auch auch was mit alsa, oder ?

funkwart
14.07.2009, 11:24
Ersteinmal herzlichen Dank an alle!

Es hat jetzt geklappt. Ich nutze Debian Lenny und dort gibt es wohl einige Neuerungen, was ALSA angeht. So gibt es kein /dev/dsp mehr.
Es hilft, einfach
apt-get install oss-compat aufzurufen. Danach ist /dev/dsp vorhanden und man kann den monitord starten.

Gruß,
Funkwart

Allmächtiger
11.07.2010, 17:25
Hallo zusammen! Ich hab ein ähnliches Problem und hoffe, mir kann jemand weiterhelfen:
[EDIT: ganz vergessen: mein OS ist Ubuntu 10.04 32 bit]

Ich habe mir den monitord installiert. Ausgewertet werden soll nur ZVEI, und danach in die MySQL-Datenbank geschrieben werden.

Wenn ich in der XML-Datei die Aufnahmequelle über OSS einstelle, erhalte ich folgende Ausgabe in die Log-Datei:


16:09:48.570 INFO: monitord/Monitor.cpp(67) logging started
16:09:48.570 INFO: monitord/Monitor.cpp(108) monitord 2.0svn READY

16:09:48.570 INFO: monitord/Monitor.cpp(205) starting soundcard #0
16:09:48.570 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0
16:09:48.575 INFO: monitord/Monitor.cpp(213) soundcard #0started
16:09:48.576 INFO: monitord/posix/MonitorAudioOSS.cpp(89) AudioThread /dev/dsp is running
16:09:48.577 INFO: monitord/Monitor.cpp(137) monitord socketserver started
16:09:48.578 INFO: monitord/Monitor.cpp(143) fms32pro socketserver started
16:09:48.579 INFO: monitord/Monitor.cpp(148) crusader socketserver started

Es kommt also keine Fehlermeldung und in der Konsole läuft das Programm. Wenn ich jetzt eine Fünftonfolge am Rechner erstelle, passiert aber - nichts. Auch in die Datenbank wird nix geschrieben. Teilweise hab ich nebenher den BOSL laufen, der wertet einwandfrei aus, also die Aufnahmequelle ist richtig eingestellt. Im alsamixer ist die Lautstärke auf 90% für die Aufnahme eingestellt.

Da hier jetzt das Wort ALSA auftaucht, dachte ich, dass ich es vielleicht mit den Einstellungen darüber probiere und es dann funktioniert. Allerdings bricht das Programm beim Start wie folgt ab:


16:07:01.066 INFO: monitord/Monitor.cpp(67) logging started
16:07:01.066 INFO: monitord/Monitor.cpp(108) monitord 2.0svn READY

16:07:01.066 INFO: monitord/Monitor.cpp(205) starting soundcard #0
16:07:01.066 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0
16:07:01.066 ERROR: monitord/posix/MonitorAudioOSS.cpp(48) open
16:07:01.066 ERROR: monitord/posix/MonitorAudioOSS.cpp(26) Error initializing PCM device /dev/dsp

Leider habe ich keinen Plan, wie ich das richtig einrichte, sodass es über ALSA klappt.

Hier ist mal zur Vollständigkeit meine monitord.xml:


<?xml version="1.0" encoding="ISO-8859-1"?>

<monitordconfig version="1.0">
<name> Monitord </name>

<logfile> monitord.log </logfile> <!-- screen = Bildschirm -->
<loglevel> INFO </loglevel>

<SocketFilterScript> socketfilter.lua </SocketFilterScript>
<PluginFilterScript> pluginfilter.lua </PluginFilterScript>

<tcpsocket>
<bind> * </bind>
<port mode="monitord"> 9333 </port>
</tcpsocket>

<soundcard num=0>
<device>/dev/dsp</device> <!-- das /dev/dsp0 meint die erste Soundkarte --> bzw.
<device>plughw:0,0</device> <!-- ALSA: die erste Soundkarte -->
<status>1</status> <!-- 1=aktiv, 0=deaktivert -->
<baud>22050</baud>
<name> Erste Sondkarte </name>
<channel part="left">
<name>Kanal 0</name>
<module type="zvei">
</module>
</channel>
</soundcard>

<dataplugins>
<!-- Daten Plugin -->
<plugin name="mysql">
<file> plugins/libmplugin_mysql-0.dll</file>
<parameters>
<logfile> mysql.log </logfile>
<loglevel> DEBUG </loglevel>
<hostname> localhost</hostname>
<port> 3306 </port>
<username> monitord </username>
<password> monitord </password>
<database> monitord </database>

<!--
Attribut name=XYZ": Zielfeld in der mySQL Tabelle
Attribut source="mysql": Inhalt nicht aus dem Resultset nehmen,
sondern "AS IS", also im Klartext als Parameter einfuegen (default="result")
Wert des Tags: Feldname im Resultset oder Klartext(je nach Attribut source)
Beispiele:
<field name="Uhrzeit" source="mysql" > NOW() </field>
(laesst MySQL die aktuelle Uhr Zeit in das Feld "Uhrzeit" einfuegen)
<field name="Typ" source="mysql" > "T" </field>
(fuegt ein "T" in das Feld "Typ" ein)
<field name="Meldung"> text </field>
(fuegt das Element "text" aus dem Resultset in das Feld "Meldung" ein)
-->

<mapping typ="zvei">
<table> monitord_zvei </table>
<field name="uhrzeit" source="mysql"> now() </field>
<field name="typ"> weckton </field>
<field name="kennung"> zvei </field>
<field name="text"> text </field>
<field name="quelle"> channelnum </field>
</mapping>
</parameters>

</plugin>
</dataplugins>

</monitordconfig>

An der Stelle


<device>/dev/dsp</device> <!-- das /dev/dsp0 meint die erste Soundkarte --> bzw.
<device>plughw:0,0</device> <!-- ALSA: die erste Soundkarte -->

hab ich natürlich immer nur eins von beiden stehen.


Vielen Dank jetzt schonmal für die Hilfe.

dekarl
12.07.2010, 09:59
Wenn ich in der XML-Datei die Aufnahmequelle über OSS einstelle
...
Im alsamixer ist die Lautstärke auf 90% für die Aufnahme eingestellt.

Da hier jetzt das Wort ALSA auftaucht, dachte ich, dass ich es vielleicht mit den Einstellungen darüber probiere ...
Moin,

alles richtig erkannt. Da ALSA genutzt wird solltest Du es auch für den Monitord nutzen. Der Monitor lässt sich aktuell aber nur für ALSA oder OSS kompilieren, anscheinend fehlen bei dir die ALSA Header auf dem System. (unter Debian sind die in einem Paket mit alsa-devel im Namen)
Einfach mal nachinstallieren und nochmal die make clean; ./configure; make all Runde drehen

Viel Erfolg

Allmächtiger
12.07.2010, 20:04
Hallo, vielen Dank für die Hilfe!

Also ich habe jetzt das Paket libasound2-dev installiert und make clean, ./configure, make, make install gemacht. Damit kommt keine Fehlermeldung mehr und monitord läuft. Allerdings erfolgt immer noch keine Auswertung.
Weder im Konsolenfenster, in dem der monitord läuft, noch in der Log-Datei, noch in der MySQL-Datenbank (wo würde man denn eigentlich überhaupt sehen wenn was ausgewertet wird?)...

Hat da jemand einen Tipp für mich? Nachdem die ALSA-Geschichte zu laufen scheint, hab ich keinen Plan woran es noch liegen kann...

EDIT: Hier mal noch der Text aus der Log-Datei dazu:


18:56:34.822 INFO: monitord/Monitor.cpp(67) logging started
18:56:34.822 INFO: monitord/Monitor.cpp(108) monitord 2.0svn READY


18:56:34.822 INFO: monitord/Monitor.cpp(205) starting soundcard #0
18:56:34.822 INFO: monitord/SndPipe.cpp(152) creating decoders for soundcard #0
18:56:34.831 INFO: monitord/posix/MonitorAudioALSA.cpp(107) [ALSA] Using pcm_buffer_size=16384 periods=2
18:56:34.838 INFO: monitord/Monitor.cpp(213) soundcard #0started
18:56:34.841 INFO: monitord/Monitor.cpp(137) monitord socketserver started
18:56:34.842 INFO: monitord/Monitor.cpp(143) fms32pro socketserver started
18:56:34.843 INFO: monitord/Monitor.cpp(148) crusader socketserver started

faxe73
31.07.2010, 23:27
Moin,
ich hatte mit ALSA die Erfahrung, dass man im Mixer nicht nur z.B. Line als Aufnahmequelle wählen muss, sondern auch extra Aufnahme aktivieren muss. Den monitord starte ich bei mir an der Konsole. Deshalb hab ich mir 'n Script gebastelt, wo zuerst die ALSA-Einstellungen getätigt werden und dann der monitord im Hintergrund gestartet wird:


#!/bin/sh
amixer -q -c 0 sset Line,0 80%,80% unmute cap
startproc -q -s /usr/local/bin/monitord

Danach ging's bei mir ;)

Gruß Haiko