• 19.04.2024, 06:52
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

ub22

Junior Member

Re: Linux Steuerungssoftware: aeinfo 2.4 [translat

Dienstag, 4. März 2008, 23:30

Zitat von »0x6c333337«

Hallo ub22 und danke für Deine Anregungen.

Keine Ursache.

[quote author=0x6c333337 link=board=20;num=1138743451;start=135#139 date=03/03/08 um 17:35:20]Das SUSE-Start-Skript habe ich selbst noch nicht testen können. Du kannst mir Deine Verbesserungen gerne per E-Mail zuschicken[/quote]
Das habe ich gesehen. Es liegt auch nicht am script selber. Sondern es stimmt einfach der Pfad nicht da der Befehl
[pre]/sbin/startproc -e /opt/aquaerod/aquaerod[/pre]
Immer im root Verzeichnis ausgeführt wird. Das vorherige wechseln in den Pfad wird ignoriert. Es gibt wenn ich nichts übersehen habe nur die Möglichkeit das der Pfad direkt in "aquaerod" gesetzt wird (entweder als Parameter oder durch auswerten des aktuellen Pfades). Wenn ich mal ein paar minuten Zeit habe korrigiere ich es mal in "aquaerod" und sende Dir den Patch.

Zitat von »0x6c333337«

Ein Fehler ist das nicht (wenn Du damit die "lange Wartezeit" meinst). Dies scheint ein generelles Problem mit dem aquaero, USB und speziell Linux 2.6 zu sein. Unter Linux 2.4 gabs diese Pause nicht. Und wenn man den Daemon verwendet, geht's auch wieder ganz fix. ;-)
OK, zu letzteren unten mehr. Aber ich poste Dir hier mal die Logs wenn ich meinen Server mal wieder boote (weil momentan der Daemon läuf und somit selbst nach beenden des Daemons) immer folgende Ausgabe erzeugt:

[pre]# aeinfo -vv short
aquaero-info 2.4  (c) 2006, 2007 Christian Unger
got semaphore data_mtx
got semaphore write_mtx
got semaphore usb_comm_mtx
got semaphore performUSBDeviceUpdate
got semaphore waitForDaemon
got and mapped shm
first long is: 13
got and mapped shm
first long is: 0
Connecting to aquaero via DAEMON[/pre]
Nachtrag vom 09.03.2008 - 13:08:
gleichzeitig mit der letzten Ausgabe erscheint in der /var/log/messages:
[pre]aeinfo[28308]: segfault at 00002aadc6bc5e60 rip 00002aade1d520d3 rsp 00007fffc921d258 error 4[/pre]


.. und wenn er nicht rebootet wird, dann wartet er noch heute ..  ;)
(Ich habe meist nach 2 bis 3 Stunden mit Ctrl+C abgebrochen.


Zitat von »0x6c333337«

Bist Du unter Linux 64-Bit?! Das Programm aeinfo versucht dann mit dem Daemon aquaerod zu kommunizieren. Ist möglicherweise ein 64-Bit Problem...
Jop, genau. Und zwar:
[pre]Linux .. 2.6.22.17-0.1-default #1 SMP 2008/02/10 20:01:04 UTC x86_64 x86_64 x86_64 GNU/Linux[/pre]
Um den Fehler genauer zu lokalisieren habe ich zu lange nichts mehr Programmiert. Werde mir aber mal trotzdem noch mal den Code ansehen (evtl. Hilft mir ja ein Kollege aus unserer LUG weiter der aktiver Kernel Programmierer ist).

Melde mich bei neuen Erkenntnissen wieder hier, kann aber eine weile dauern

Gruß
UB22

Re: Linux Steuerungssoftware: aeinfo 2.4 [translat

Samstag, 8. März 2008, 18:51

Ich hab ein Problem mit der Software:

Wenn ich als root "aeinfo" oder "aeinfo info" aufrufe, erhalte ich ganz normal die Werte. Wenn aeinfo aber vom root-cron oder per munin (auch als root.user) aufgerufen wird, werden die Werte nicht angenommen.

Beim cron soll einfach nur "aeinfo info" in eine Datei geleitet werden. Hab das ganze in einem Shellscript, wenn ich es als root ausführe, klappt alles wunderbar. Wenn ich das Script nun vom cron aufrufen lasse, bleibt das, wo eigentlich der aeinfo-output stehen sollte leer.
Ähnlich siehts mit dem munin-plugin aus: Wenn ich es von Hand testweise ausführe (munin-run), spuckt es mir die Werte des Ae aus. Im normalen munin-Betrieb bleibt das Diagramm aber leer.

Wo dran könnte das liegen?

System ist ein Debian Etch mit dem 2.6.18er-Kernel.


Edit: Hab vergessen absolute Pfadangaben zu machen. Damit spuckt das script vom cron aufgerufen das aus:

Quellcode

1
Übereinstimmungen in Binärdatei (Standardeingabe).
"Live free or die: Death is not the worst of evils."

Re: Linux Steuerungssoftware: aeinfo 2.4 [translat

Samstag, 8. März 2008, 20:11

wenn ein Skript von deiner Shell aus gestartet wird, dann erbt es das komplette Environment von dieser Shell (das kannst mit 'env | sort > /tmp/shell_env.txt' in eine Datei schicken und mit 'less /tmp/shell_env.txt' anschauen.

Auch wird immer die shell genommen, die du im Skript oben (etwa mit #!/bin/bash) eingetragen hast.

Anders im cron!

Trag mal

Quellcode

1
15 19 * * * env | sort > /tmp/cron_env.txt


in deine crontab ein (geht mit 'crontab -e' (weisst du sicher)ABER Uhrzeit anpassen! ).

Wenn du beide Dateien vergleichst, dann merkst du sicher, daß die PATH-Variable minimal ist, die in der .bashrc eingetragenen Erweiterungen nicht aufweist, und überhaupt sehr viel weniger drinsteht... Das ist normal und dient der Sicherheit und Stabilität des Systems (hab ich früher auch nicht verstanden, seit ich in heterogenen Netzen arbeite, weiß ich warum)

schaut bei mir so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
4# cat /tmp/cron_env.txt
HOME=/root
LANG=de_DE.UTF-8
LOGNAME=root
PATH=/usr/bin:/bin
PWD=/root
RMT=/opt/schily/sbin/rmt
RSH=/usr/bin/ssh
SHELL=/bin/sh
SHLVL=1
STAR_FIFOSIZE=64k
TAPE=tape@gbc-s002.gbc:/dev/nst0
_=/usr/bin/env



NOCH WAS:
'man cron' sagt nicht immer explizit, ABER:
cron führt alle cronskripte mit #!/bin/sh aus - EGAL was oben in deiner Skripdatei steht. /bin/sh kann aber in jeder distro etwas anderes sein: ein Link auf oder ein Bestandteil von /bin/bash, /bin/zsh, /bin/dash, /bin/sash.... und die haben alle eigene Konfigurationsdateien...

Ubuntu-Standard = dash

Ich lasse die Shell wie sie ist, und entwickle meine cronskripte immer mit einem Wrapper, der mir das cron-environment in der Betriebssystemstandardausführung simuliert (ist langzeitstabiler, falls mal einer, der NICHT über meine "spezialkonfiguration" Bescheid weiß, ein Paket-Update macht, das den /bin/sh-Link wieder zurückstellt):

Quellcode

1
sudo -u cronskriptuser env -i HOME=/home/cronskriptuser PATH=/usr/bin:/bin SHELL=/bin/sh /bin/sh -c '/pfad/zu/cronskriptname'


Wenn Dir jetzt Pfade/Variablen im Skript abgehen, trag sie in das Skript oben ein!

ACHTUNG: man liest immer

Quellcode

1
export VARIABLE="Wert"

Die jüngeren Shells können das auch (bash, zsh) - aber alte Shells und jüngere Shells im Bourneshell-Kompatiblitätsmodus können das nicht - hier musst Du immer brav Variable mit Wert belegen, dann exportieren.

Quellcode

1
2
VARIABLE="Wert"
export VARIABLE


Wenn du die Variable nur im cronskript brauchst, kannst du dir das export sparen, wenn ein aus dem cronskript aufgerufenes Skript/Binary die Variable sehen soll, dann musst du diese exportieren.

Wenn du dem Shellaufruf noch '-vx' hinzufügst, dann kannst du dem Skript bei z.B. der Variablensubstitution zusehen:

Quellcode

1
sudo -u cronskriptuser env -i HOME=/home/cronskriptuser PATH=/usr/bin:/bin SHELL=/bin/sh /bin/sh -vx -c '/pfad/zu/cronskriptname'

...gut zum fehlersuchen.

Wenn das Sudo-Passwort nervt: man 5 sudoers

Viel Spaß beim Basteln und Schrauben!
Ich führe einen Windows(tm)-freien Haushalt.

Re: Linux Steuerungssoftware: aeinfo 2.4 [translat

Montag, 10. März 2008, 18:26

Edit: Bissel hat doch geklappt, seh vor lauter Müdigkeit die (offensichtlichen) Fehler nicht. Blöde Frühschicht.

Werd die Tage dann mal ein paar munin-Scripts für das aquaero/aeinfo veröffentlichen :).
"Live free or die: Death is not the worst of evils."

Re: Linux Steuerungssoftware: aeinfo 2.4 [translat

Dienstag, 11. März 2008, 19:46

Sorry für Doppelpost, aber hab ein Release für euch:

aquaero/aeinfo-Plugins für munin

Vorerst nur für die Temperatursensoren und Lüftergeschwindigkeiten. Mehr werden von mir wohl auch nicht kommen, da ich nicht mehr brauch/hab. Eigene Strickereien sollten aber mit der Vorlage nicht so das Problem sein, sellbst ohne Programmierkenntnisse.

Projekt-Ordner
Paket als zip
Readme

Beispielgraphen:



Viel Spaß damit
Michael
"Live free or die: Death is not the worst of evils."

Re: Linux Steuerungssoftware: aeinfo 2.4 [translat

Dienstag, 11. März 2008, 21:44

Sehr geile Sache :-)

Re: Linux Steuerungssoftware: aeinfo 2.4 [munin]

Donnerstag, 3. April 2008, 01:54

Hi, dank deiner software werde ich mir erst den aquaero holen. Hast du vielleicht daran gedacht ein gentoo ebuild dazu zu schreiben?

Re: Linux Steuerungssoftware: aeinfo 2.4 [munin]

Donnerstag, 3. April 2008, 22:46

Daran gedacht schon mal -- hab es mir aber noch nicht wirklich angeschaut. Im Moment gibt es im Build-Prozess noch keinen configure-Schritt. Genauer: die Integration von autoconf/automake fehlt, mangels der Notwendigkeit für die Unterstützung unterschiedlichster Plattformen. Die allermeisten User fahren irgendein aktuelles Linux...
Letztendlich dachte ich mir, dass die Anwenderbasis doch recht schmal ist und ein ebuild fast übertrieben ist. Allerdings möchte ich auch niemanden im Tatendrang bremsen... ;-) ;-)

Re: Linux Steuerungssoftware: aeinfo 2.4 [translat

Mittwoch, 23. April 2008, 15:04

Zitat von »0x6c333337«

Kurze Info zur Anfrage bezüglich "aquastream XT":
Ich habe (nun doch) eine E-Mail von Sebastian erhalten, und er wird mir die nötigen Infos in absehbarer Zeit (etwa vier bis sechs Wochen) zukommen lassen. Ist also für alle Linuxer mit as xt eine Gute Nachricht ;-)


Hallo,

hat sich was an der AS XT Front für Linux User getan?

Gruss
dirk1166
Fractal Define R3|ASRock P67 Extreme4 (UEFI-BIOS 2.10)|i5-2500K|HD 5750 passiv|Crucial M4 64 GB |Seasonic X-560 |HP ZR24w|Kyocera FS-1030D|Canon LIDE 25|Ubuntu 11.04 64Bit|wieder LuKü

Sperling

unregistriert

Re: Linux Steuerungssoftware: aeinfo 2.4 [munin]

Samstag, 26. Juli 2008, 02:32

Hy nachdem ich nun schon Seit einer Woche "stolzer" Besitzer von Suse 11.0 bin wollte ich jetzt auch wieder Zugriff auf den aquero erhalten, leider bricht make immer mit ner Fehlermeldung ab.
kann einer was damit anfangen mir sagen was ich ncoh zu ändern habe ?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
cat htdocs/fan.1.htm | sed -e "s/FAN 1/FAN 2/" -e "s/fan.1/fan.2/g" > htdocs/fan.2.htm
cat htdocs/fan.1.htm | sed -e "s/FAN 1/FAN 3/" -e "s/fan.1/fan.3/g" > htdocs/fan.3.htm
cat htdocs/fan.1.htm | sed -e "s/FAN 1/FAN 4/" -e "s/fan.1/fan.4/g" > htdocs/fan.4.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 2/" -e "s/sensor.1/sensor.2/g" > htdocs/sensor.2.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 3/" -e "s/sensor.1/sensor.3/g" > htdocs/sensor.3.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 4/" -e "s/sensor.1/sensor.4/g" > htdocs/sensor.4.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 5/" -e "s/sensor.1/sensor.5/g" > htdocs/sensor.5.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 6/" -e "s/sensor.1/sensor.6/g" > htdocs/sensor.6.htm
g++ -Wno-deprecated -DUSE_COLORS -lusb global.cpp -o aeinfo
In file included from global.cpp:48:
parsers.h: In function »long int parseLong(std::string)«:
parsers.h:51: Fehler: »strtol« wurde in diesem Gültigkeitsbereich nicht definiert
parsers.h: In member function »virtual T LinearTransformParser<T>::parse(std::string)«:
parsers.h:202: Fehler: es gibt keine Argumente für »atof«, die von einem Templateparameter abhängen, weshalb eine Deklaration von »atof« verfügbar sein muss
parsers.h:202: Fehler: (mit »-fpermissive« wird G++ den Code akzeptieren, aber die Verwendung eines nicht deklarierten Namens ist veraltet)
In file included from global.cpp:62:
ipc.h: In member function »void Semaphore::lock()«:
ipc.h:264: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Semaphore::unlock()«:
ipc.h:283: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Thread::start()«:
ipc.h:563: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h:571: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
make: *** [all] Fehler 1


Re: Linux Steuerungssoftware: aeinfo 2.4 [munin]

Samstag, 26. Juli 2008, 23:27

Leider habe ich nun auch ein Problem mit der Linux Steuersoftware. Nachdem ich mir nun eine Logitech QuickCam 9000 pro gekauft habe und die auch sehr gut mit Ubuntu 8.04 64bit läuft, klappt leider das Zusammenspiel von der Steuersoftware mit den Webcamprogrammen nicht.

Sobald aquaerod läuft, friert das Bild nach Sekunden ein und die Webcam hängt sich auf.

Was kann ich da machen?

Dirk
Fractal Define R3|ASRock P67 Extreme4 (UEFI-BIOS 2.10)|i5-2500K|HD 5750 passiv|Crucial M4 64 GB |Seasonic X-560 |HP ZR24w|Kyocera FS-1030D|Canon LIDE 25|Ubuntu 11.04 64Bit|wieder LuKü

Re: Linux Steuerungssoftware: aeinfo 2.4 [munin]

Montag, 28. Juli 2008, 21:35

Zitat von »Sperling«

Hy nachdem ich nun schon Seit einer Woche "stolzer" Besitzer von Suse 11.0 bin wollte ich jetzt auch wieder Zugriff auf den aquero erhalten, leider bricht make immer mit ner Fehlermeldung ab.
kann einer was damit anfangen mir sagen was ich ncoh zu ändern habe ?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
cat htdocs/fan.1.htm &#124; sed -e "s/FAN 1/FAN 2/" -e "s/fan.1/fan.2/g" > htdocs/fan.2.htm
cat htdocs/fan.1.htm &#124; sed -e "s/FAN 1/FAN 3/" -e "s/fan.1/fan.3/g" > htdocs/fan.3.htm
cat htdocs/fan.1.htm &#124; sed -e "s/FAN 1/FAN 4/" -e "s/fan.1/fan.4/g" > htdocs/fan.4.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 2/" -e "s/sensor.1/sensor.2/g" > htdocs/sensor.2.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 3/" -e "s/sensor.1/sensor.3/g" > htdocs/sensor.3.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 4/" -e "s/sensor.1/sensor.4/g" > htdocs/sensor.4.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 5/" -e "s/sensor.1/sensor.5/g" > htdocs/sensor.5.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 6/" -e "s/sensor.1/sensor.6/g" > htdocs/sensor.6.htm
g++ -Wno-deprecated -DUSE_COLORS -lusb global.cpp -o aeinfo
In file included from global.cpp:48:
parsers.h: In function »long int parseLong(std::string)«:
parsers.h:51: Fehler: »strtol« wurde in diesem Gültigkeitsbereich nicht definiert
parsers.h: In member function »virtual T LinearTransformParser<T>::parse(std::string)«:
parsers.h:202: Fehler: es gibt keine Argumente für »atof«, die von einem Templateparameter abhängen, weshalb eine Deklaration von »atof« verfügbar sein muss
parsers.h:202: Fehler: (mit »-fpermissive« wird G++ den Code akzeptieren, aber die Verwendung eines nicht deklarierten Namens ist veraltet)
In file included from global.cpp:62:
ipc.h: In member function »void Semaphore::lock()«:
ipc.h:264: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Semaphore::unlock()«:
ipc.h:283: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Thread::start()«:
ipc.h:563: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h:571: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
make: *** [all] Fehler 1





Hi,

Fehler hatte ich mit g++ 4.3 auch. Wechsel auf g++ 4.1 hat geholfen, damit läuft jetzt alles.

ub22

Junior Member

Re: Linux Steuerungssoftware: aeinfo 2.4 [munin]

Sonntag, 3. August 2008, 23:04

Zitat von »Sperling«

Hy nachdem ich nun schon Seit einer Woche "stolzer" Besitzer von Suse 11.0 bin wollte ich jetzt auch wieder Zugriff auf den aquero erhalten, leider bricht make immer mit ner Fehlermeldung ab.
kann einer was damit anfangen mir sagen was ich ncoh zu ändern habe ?

Benutzt Du eine 32bit oder ein 64bit Version von openSUSE 11.0?
Bei mir läuft die Compilierung mit nur ein paar Warnungen durch.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
server:/tmp/Build/aeinfo-2.4-src-eng # make clean
rm -f aeinfo aquaerod *.o
server:/tmp/Build/aeinfo-2.4-src-eng # make
cat htdocs/fan.1.htm &#124; sed -e "s/FAN 1/FAN 2/" -e "s/fan.1/fan.2/g" > htdocs/fan.2.htm
cat htdocs/fan.1.htm &#124; sed -e "s/FAN 1/FAN 3/" -e "s/fan.1/fan.3/g" > htdocs/fan.3.htm
cat htdocs/fan.1.htm &#124; sed -e "s/FAN 1/FAN 4/" -e "s/fan.1/fan.4/g" > htdocs/fan.4.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 2/" -e "s/sensor.1/sensor.2/g" > htdocs/sensor.2.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 3/" -e "s/sensor.1/sensor.3/g" > htdocs/sensor.3.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 4/" -e "s/sensor.1/sensor.4/g" > htdocs/sensor.4.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 5/" -e "s/sensor.1/sensor.5/g" > htdocs/sensor.5.htm
cat htdocs/sensor.1.htm &#124; sed -e "s/SENSOR 1/SENSOR 6/" -e "s/sensor.1/sensor.6/g" > htdocs/sensor.6.htm
g++ -Wno-deprecated -DUSE_COLORS -lusb global.cpp -o aeinfo
g++ -Wno-deprecated -lusb -lpthread aquaerod.cpp -o aquaerod
In file included from aquaerod.cpp:76:
aehttpd.cpp: In constructor &#8216;HttpResponse::HttpResponse(int, HttpRequest&)&#8217;:
aehttpd.cpp:1562: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1563: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1564: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1565: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1566: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1567: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1568: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1569: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1570: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1571: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1572: warning: deprecated conversion from string constant to &#8216;char*&#8217;
aehttpd.cpp:1573: warning: deprecated conversion from string constant to &#8216;char*&#8217;

Wichtig ist, dass Du im YAST -> "Software" -> "Software installieren oder löschen" (alternativ kann man diese mit "yast2 -i" auf der Kommandozeile direkt starten) den "Filter" -> "Schemata" setzt und dort unter "Entwicklung" -> "Grundlegende Entwicklungsumgebung" und "C/C++ Entwicklung" mit einem Haken versiehst (also installierst). Zusätzlich habe ich unter dem Menüpunkt "Extras" -> "Alle passenden -devel Pakete installieren" ausgewählt, wodurch die Sourcen aller relevanten Pakete insbesondere des Kernels installiert werden.

Zitat von »Sperling«

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
g++ -Wno-deprecated -DUSE_COLORS -lusb global.cpp -o aeinfo
In file included from global.cpp:48:
parsers.h: In function »long int parseLong(std::string)«:
parsers.h:51: Fehler: »strtol« wurde in diesem Gültigkeitsbereich nicht definiert
parsers.h: In member function »virtual T LinearTransformParser<T>::parse(std::string)«:
parsers.h:202: Fehler: es gibt keine Argumente für »atof«, die von einem Templateparameter abhängen, weshalb eine Deklaration von »atof« verfügbar sein muss
parsers.h:202: Fehler: (mit »-fpermissive« wird G++ den Code akzeptieren, aber die Verwendung eines nicht deklarierten Namens ist veraltet)
In file included from global.cpp:62:
ipc.h: In member function »void Semaphore::lock()«:
ipc.h:264: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Semaphore::unlock()«:
ipc.h:283: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Thread::start()«:
ipc.h:563: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h:571: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
make: *** [all] Fehler 1


Hier ist eine kleine Falle. Bei mir habe ich folgende Änderungen durchgeführt:
1. in der Datei "parsers.h" habe ich "#include <stdrd.h>" durch "#include <stdlib.h>" ersetzt.
2. in der Datei "ipc.h" habe ich nach der Zeile "#define _PARSERS_H" die Zeile "#include <stdlib.h>" eingefügt.

Anschließend lief alles wie oben gezeigt durch.

Aber unter meiner 64bit Variante funktioniert "aeinfo" nach dem Start von "aquaerod" wegen dem erweiterten Speicherschutz nicht mehr. Aber leider habe ich nicht mehr die Erfahrung mit der SW-Etnwicklung und auch keine Zeit mehr mich einzuarbeiten.

yahlov

Junior Member

Re: Linux Steuerungssoftware: aeinfo 2.4 [munin]

Dienstag, 5. August 2008, 07:57

Vielleicht kann man aus der Ubuntu-Anleitung auf Seite 8 von dirk1166 etwas aufgebessert eine HTML-Version oder so machen...

Hätte ich das vor ein paar Stunden gelesen, hätte ich mir die ganze sucherei im Web gesparrt.
Einwandfrei funktioniert es zwar immer noch nicht, aber zumindest schon mal annähernd

Meine Fehler sind zB

Zitat

In file included from aquaerod.cpp:75:
aehttpd.cpp: In constructor »HttpResponse::HttpResponse(int, HttpRequest&)«:
aehttpd.cpp:1561: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«

von 1561 durchgehend bis x72

Ich will nicht klugscheißern, ich kenn mich nämlich überhaupt gar nicht aus. Und da ich eben sonst nix dazu beitragen kann, möcht ich wenigstens darauf hinweisen.

ub22

Junior Member

Re: Linux Steuerungssoftware: aeinfo 2.4 [munin]

Samstag, 20. September 2008, 15:04

Hallo Zusammen, ::)

wie geht es denn Weiter? Ist hier noch jemand aktiv? Die SW hat ja noch einige kleine Unstimmigkeiten. Wer arbeitet noch daran bzw. gibt es schon aktuellere Sourcen?

Ciao

Fehler bei ausführen von make

Montag, 2. Februar 2009, 20:30

Hi Leute,

ich habe Ubuntu 8.10 64bit und beim Befehl "make" bekomme ich folgenden fehler,

Zitat

thomas@PC01-Linux:~/Download$ cd aeinfo-2.4-src
thomas@PC01-Linux:~/Download/aeinfo-2.4-src$ make
cat htdocs/fan.1.htm | sed -e "s/FAN 1/FAN 2/" -e "s/fan.1/fan.2/g" > htdocs/fan.2.htm
cat htdocs/fan.1.htm | sed -e "s/FAN 1/FAN 3/" -e "s/fan.1/fan.3/g" > htdocs/fan.3.htm
cat htdocs/fan.1.htm | sed -e "s/FAN 1/FAN 4/" -e "s/fan.1/fan.4/g" > htdocs/fan.4.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 2/" -e "s/sensor.1/sensor.2/g" > htdocs/sensor.2.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 3/" -e "s/sensor.1/sensor.3/g" > htdocs/sensor.3.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 4/" -e "s/sensor.1/sensor.4/g" > htdocs/sensor.4.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 5/" -e "s/sensor.1/sensor.5/g" > htdocs/sensor.5.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 6/" -e "s/sensor.1/sensor.6/g" > htdocs/sensor.6.htm
g++ -Wno-deprecated -DUSE_COLORS -lusb global.cpp -o aeinfo
In file included from global.cpp:48:
parsers.h: In function »long int parseLong(std::string)«:
parsers.h:51: Fehler: »strtol« wurde in diesem Gültigkeitsbereich nicht definiert
parsers.h: In member function »virtual T LinearTransformParser<T>::parse(std::string)«:
parsers.h:202: Fehler: es gibt keine Argumente für »atof«, die von einem Templateparameter abhängen, weshalb eine Deklaration von »atof« verfügbar sein muss
parsers.h:202: Fehler: (mit »-fpermissive« wird G++ den Code akzeptieren, aber die Verwendung eines nicht deklarierten Namens ist veraltet)
In file included from global.cpp:62:
ipc.h: In member function »void Semaphore::lock()«:
ipc.h:264: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Semaphore::unlock()«:
ipc.h:283: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Thread::start()«:
ipc.h:563: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h:571: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
make: *** [all] Fehler 1
thomas@PC01-Linux:~/Download/aeinfo-2.4-src$

bei mir sind alle headers installiert trotzdem funktioniert es nicht, ich hab schon alles ausprobiert was ich hier in dem Forum gefunden hatte.

Kann mir einer helfen, ich bin verzweifelt ;(

mfg

Freitag, 6. Februar 2009, 14:52

Hallo walli,

öffne die Datei global.cpp, und suche die Zeile (ist ziemlich am Anfang):

Quellcode

1
#include <cstdio>


direkt über die Zeile fügst Du diese beiden Zeilen ein:

Quellcode

1
2
#include <cstring>
#include <cstdlib>


Dann speichern und nochmal "make" ;-)

Freitag, 13. Februar 2009, 00:57

Moin

Ich bräuchte auch etwas Hilfe.
Ich habe folgende Fehlermeldung bei make

Zitat

cat htdocs/fan.1.htm | sed -e "s/FAN 1/FAN 2/" -e "s/fan.1/fan.2/g" > htdocs/fan.2.htm
cat htdocs/fan.1.htm | sed -e "s/FAN 1/FAN 3/" -e "s/fan.1/fan.3/g" > htdocs/fan.3.htm
cat htdocs/fan.1.htm | sed -e "s/FAN 1/FAN 4/" -e "s/fan.1/fan.4/g" > htdocs/fan.4.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 2/" -e "s/sensor.1/sensor.2/g" > htdocs/sensor.2.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 3/" -e "s/sensor.1/sensor.3/g" > htdocs/sensor.3.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 4/" -e "s/sensor.1/sensor.4/g" > htdocs/sensor.4.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 5/" -e "s/sensor.1/sensor.5/g" > htdocs/sensor.5.htm
cat htdocs/sensor.1.htm | sed -e "s/SENSOR 1/SENSOR 6/" -e "s/sensor.1/sensor.6/g" > htdocs/sensor.6.htm
g++ -Wno-deprecated -DUSE_COLORS -lusb global.cpp -o aeinfo
g++ -Wno-deprecated -lusb -lpthread aquaerod.cpp -o aquaerod
In file included from aquaerod.cpp:52:
parsers.h: In function »long int parseLong(std::string)«:
parsers.h:51: Fehler: »strtol« wurde in diesem Gültigkeitsbereich nicht definiert
parsers.h: In member function »virtual T LinearTransformParser<T>::parse(std::string)«:
parsers.h:202: Fehler: es gibt keine Argumente für »atof«, die von einem Templateparameter abhängen, weshalb eine Deklaration von »atof« verfügbar sein muss
parsers.h:202: Fehler: (mit »-fpermissive« wird G++ den Code akzeptieren, aber die Verwendung eines nicht deklarierten Namens ist veraltet)
In file included from aquaerod.cpp:65:
ipc.h: In member function »void Semaphore::lock()«:
ipc.h:264: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Semaphore::unlock()«:
ipc.h:283: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h: In member function »void Thread::start()«:
ipc.h:563: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
ipc.h:571: Fehler: »strerror« wurde in diesem Gültigkeitsbereich nicht definiert
In file included from aquaerod.cpp:75:
aehttpd.cpp: In constructor »HttpResponse::HttpResponse(int, HttpRequest&)«:
aehttpd.cpp:1561: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1562: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1563: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1564: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1565: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1566: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1567: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1568: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1569: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1570: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1571: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
aehttpd.cpp:1572: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
make: *** [all] Fehler 1
Die Fehlermeldung sieht fast aus wie bei walligora aber die Änderung von composer funktioniert bei mir nicht.

Ich benutze Ubuntu 8.10 64bit

Danke im vorraus

Freitag, 13. Februar 2009, 01:05

Hallo b1pum,

bitte oben beschriebene Änderung exakt durchführen und falls make einen Fehler meldet, die Ausgabe entweder hier nochmal posten oder als KM an mich.

cheers

Freitag, 13. Februar 2009, 01:51

Was meinst du denn mit exakt? So viel ist da ja nicht zum falsch Verstehen (copy und past über "#include <cstdio>") ;-)

Das Ganze sollte dann so aussehen:

Zitat

#include <iostream>
#include <string>
#include <map>
#include <set>
#include <list>
#include <sstream>
#include <iomanip>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <memory>
Was ist denn eine KM? Meinst du eventuell eine PM?