SuSE 10.0 64 bit / weißes Rauschen / falsche Geschwindigkeit / keine I/O Devices - Probleme mit der Packman rpm-version, den sf.net quellen und dem cvs

  • Hallo Forum,


    ich habe nun heute den zweiten Tag damit verbracht, das mir ans Herz gewachsene Audacity unter suse 10.0 in 64 bit zum laufen zu bekommen. Gegoogelt und natürlich im Forum gesucht. Der Reihe nach:


    1. Hoffnungvoll installierte ich das Packman rpm. Audacity brach mit dem Fehler Device I/O ab. Kein Device in der Preferences-auswahl vorhanden.Auch Optionen wie ein vorangestelltes artsdsp oder das starten von jack änderten nichts. Die Devices /dev/dsp und /dev/mixer sind vorhanden.
    2. Dann habe ich Quellen von SF gezogen und nach einigen Compilerspierenzchen ein laufendes Audacity gehabt. Starte ich Audacity ohne Parameter, sind in den Preferences Dialogen die Geräte /dev/dsp und meine (onboard) Nvidia (NF4) Soundkarte anwählbar. Mit der Einstellung /dev/dsp und einer geladenen, mit einer älteren Audacity-Version aufgenommenen, WAV-Datei kann die Wiedergabe gestartet werden. Leider hört man nur ein weißes Rauschen.Die Pegelanzeige steht konstant mittig. Gleicher Effekt, wenn mann einen NULL-Sound aufnimmt. Audacity malt im Editor eine gerade 0dB Linie, gibt aber besagtes weiße Rauschen wieder. Eine Umstellung auf die angezeigte (ALSA: Nvidia ck804) Soundkarte liefert leider wieder nur "Fehler beim Öffnen des Audiogerätes". Das starten des jackd -d alsa geht, Audacity fehlen dann aber alle Geräte. Sämtliche Einstellungen bzgl. Samplerrate und arts habe ich nun durch. Es gibt keine Verbesserung. Mir ist noch aufgefallen, dass die Null-Sound-Aufnahme mit einer Länge von ca. 7 sec nur mit 5sec angezeigt wird. Bei der Wiedergabe des Rauschens läuft der Cursor die 5 sec ab, die Wiedergabe läuft aber länger, nämlich die geamte Aufnahmelänge.
    3. Im Anschluß noch ein Versuch mit dem cvs. Siehe zu 2.


    Hardwareseitig ist die Kuriosität, dass auf dem gleichen System eine noch länger benutzte SuSE 9.1 mit Audacity 1.2.0-217 klaglos lief, weswegen ich Hardwareprobleme ausschließen möchte.


    Jetzt bin ich ratlos und brauche bitte Hilfe.


    Gruß Axel.

  • Ich habe keine Ahnung von 64bit-Systemen, aber wenn Du Audacity für 64bit kompilierst, funktioniert es sicher nicht. Kann das suse10.0 64bit auch 32bit-Programme ausführen? Das mit der Packman-RPM kann auch ein Permissions-Problem sein. Geht es denn, wenn Du Audacity als root startest? Die Kompilation macht momentan nur mit ./configure --with-portaudio=v18 Sinn. v19 geht überhaupt nicht richtig.



    Markus

  • Hallo Markus,


    danke für die Antworten. 32bit Programme laufen grundsätzlich schon. Allerdings bin ich wegen massig fehlgeschlagener Abhängigkeiten an der Installation eines i586 rpm (Packman) gescheitert. Hier liegt es wohl am wxGTK von SuSE und Audacity verlangt ein lbwx_GTK, das wohl nicht kompatibel ist. Oder ich müßte schauen, das vielleicht auch selbst zu bauen; nur was kommt dann?


    Meine Hoffnung war ja die Selbstkompilation, die ja auch erfolgreich lief. Ich vermute, dass die libsamplerate oder libsndfile wegen dem weißen Rauschen Probleme macht?


    Starten als root habe ich nicht versucht, da die Berechtigungen der /dev/dsp korrekt stehen. Ansonsten dürfte ja auch das Rauschen nicht kommen, das wird ja ausgegeben. Aber das teste ich heute Abend noch einmal gegen.


    Warum soll das Compilieren unter 64 Bit eigentlich nicht funktionieren? Nun habe ich allerdings portaudio wegen der vielen Hinweise exact mit -v19 configured. -v18 kann ich ja auch noch mal testen. Aber setzt das nicht ein "richtiges" OSS voraus? War -v19 nicht dazu gedacht, an den alsa-oss-port Anschluß zu finden? (Ich meine ich hätte diesen Tipp hier im Forum wegen zu schnell laufendem Cursor gelesen) Insofern wäre es dann erledigt, weil ein OSS für die 10.0 nicht mehr verfügbar ist, AFAIK?


    Gruß Axel.

  • Die Kompilation für 64bit läuft deswegen nicht, weil Audacity, libsndfile usw. (wie viele Programme und Bibliotheken) z. B. annimmt, dass Integers (int in C) 32bit groß sind. Prinzipiell müssen Programme auf 64bit portiert werden, genauso wie sie z. B. auf PowerPC portiert werden müssen. Kannst Du bei der Selbstkompilation irgendwie einstellen, dass er irgendwie im 32bit-Kompatibilitätsmodus arbeiten soll oder so?


    Du schriebst ja zunächst:

    Zitat


    Hoffnungvoll installierte ich das Packman rpm. Audacity brach mit dem Fehler Device I/O ab. Kein Device in der Preferences-auswahl vorhanden.Auch Optionen wie ein vorangestelltes artsdsp oder das starten von jack änderten nichts. Die Devices /dev/dsp und /dev/mixer sind vorhanden.


    Das hörte sich für mich so an, als ob Du das Packman rpm wunderbar installieren konntest, nur er fand halt /dev/dsp nicht. Das kann z. B. daran liegen, dass /dev/dsp nicht lesbar war, oder blockiert, z. B. von arts.


    Wg. v18 vs. v19: v18 kann nur OSS, v19 kann OSS und ALSA. v19 hat aber massig Bugs, sodass es momentan unter Linux nicht zu verwenden ist. v18 kann aber auch unter ALSA verwendet werden, da ALSA eine OSS-Emulation hat. D.h., wenn Programme auf /dev/dsp ausgeben, dann wird das automatisch auf ALSA umgeleitet. Das funktioniert (bei mir) z. B. auch sehr gut. Voraussetzung dafür ist natürlich eine installierte OSS-Emulation (scheint bei Dir der Fall zu sein), und ein freies OSS-Device.


    Nur zu Deiner Info: Es gibt momentan Bestrebungen, v19 ordentlich zum Laufen zu kriegen. Dieser Tage werde ich deshalb eine neue v19-Version ins CVS einchecken. Falls Du das mit der 32bit-Kompatibilitätsmoduskompilation irgendwie hinkriegst, wäre ich natürlich über Beta-Tester dankbar :)



    Markus

  • :)
    Es ist vollbracht, es läuft. Und zwar mit portaudio=v18. *freu*


    Zitat von Markus


    Die Kompilation für 64bit läuft deswegen nicht, weil Audacity, libsndfile usw. (wie viele Programme und Bibliotheken) z. B. annimmt, dass Integers (int in C) 32bit groß sind. Prinzipiell müssen Programme auf 64bit portiert werden, genauso wie sie z. B. auf PowerPC portiert werden müssen. Kannst Du bei der Selbstkompilation irgendwie einstellen, dass er irgendwie im 32bit-Kompatibilitätsmodus arbeiten soll oder so?


    Ok, aber sofern im Quellcode nicht expliziet eine bestimmte Länge erwartet wird, sollte es gehen. Zumal configure auch die Länge einiger möglicher Variablen abprüft.


    Zitat


    Das hörte sich für mich so an, als ob Du das Packman rpm wunderbar installieren konntest, nur er fand halt /dev/dsp nicht. Das kann z. B. daran liegen, dass /dev/dsp nicht lesbar war, oder blockiert, z. B. von arts.


    Das blockieren gerade war ja nicht der Fall.


    Zitat


    Nur zu Deiner Info: Es gibt momentan Bestrebungen, v19 ordentlich zum Laufen zu kriegen. Dieser Tage werde ich deshalb eine neue v19-Version ins CVS einchecken. Falls Du das mit der 32bit-Kompatibilitätsmoduskompilation irgendwie hinkriegst, wäre ich natürlich über Beta-Tester dankbar :)


    Es gibt auch für den CC noch Optoinen, ihn 32bit code schreiben zu lassen. Nun habe ich noch grad eine frische CVS gezogen und bin heilfroh, dass meine gestern gezogene läuft. Denn die jetzt geladene Version meckert über das wxGTK 2.6 - sei angeblich nicht unterstüzt. Läuft aber mit der gestrigen Version. Aus Spaß habe ich noch die 2.4 wxWidgets compiliert, aber dann bricht der make mit

    Zitat

    Project.h:85: Fehler: expected class-name before »{« token
    /home/axel/opt//include/wx/event.h:1949: Warnung: inline-Funktion »wxEventTableEntry::wxEventTableEntry(const wxEventTableEntry&)« verwendet, aber nirgendwo definiert

    ab. Manchmal verstehe ich Entwickler wirklich nicht. Was den BetaTester angeht: gern, aber bitte mit compilierfähigem code. ;) Als Admin hast Du meine Adresse ja und kannst mich dann kontaktieren.


    Gruß Axel.

  • Zitat von axele


    Ok, aber sofern im Quellcode nicht expliziet eine bestimmte Länge erwartet wird, sollte es gehen. Zumal configure auch die Länge einiger möglicher Variablen abprüft.


    Es wird aber in den meisten Programmen erwartet, dass int 4 Bytes ist usw. Als Programmierer denkt man da garnicht mehr dran, und bei 64bit kracht's dann. Zumal Audacity ja viele Libraries einbindet, auf die man keinen Einfluss hat (libsndfile, flac usw.). Also würde mich nicht wundern, wenn noch irgendetwas hakt oder abstürzt. Supported ist die Konfiguration soweit eigentlich nicht, aber vielleicht kompiliert ja der GCC aus Kompatibilitätsgründen bei Suse64bit immer in 32bit, außer man sagt es ihm anders? Das könnte sein, denn sonst könnte ich mir eigentlich nicht vorstellen, warum es laufen sollte. Wenn Du da mehr dazu rauskriegst, wäre ich Dir sehr dankbar.


    Zitat


    Es gibt auch für den CC noch Optoinen, ihn 32bit code schreiben zu lassen. Nun habe ich noch grad eine frische CVS gezogen und bin heilfroh, dass meine gestern gezogene läuft. Denn die jetzt geladene Version meckert über das wxGTK 2.6 - sei angeblich nicht unterstüzt. Läuft aber mit der gestrigen Version. Aus Spaß habe ich noch die 2.4 wxWidgets compiliert,


    Eine genaue Fehlermeldung wäre natürlich hilfreich, sonst kann man da garnichts machen.


    Zitat


    Project.h:85: Fehler: expected class-name before »{« token
    /home/axel/opt//include/wx/event.h:1949: Warnung: inline-Funktion »wxEventTableEntry::wxEventTableEntry(const wxEventTableEntry&)« verwendet, aber nirgendwo definiert


    In der README steht eindeutig, dass wxGTK 2.4 für CVS HEAD nicht unterstützt wird.


    Zitat


    Manchmal verstehe ich Entwickler wirklich nicht. Was den BetaTester angeht: gern, aber bitte mit compilierfähigem code. ;) Als Admin hast Du meine Adresse ja und kannst mich dann kontaktieren.


    Wie gesagt, 64bit wird (noch) nicht unterstützt. Und ansonsten ist das Kompilieren eigentlich oft ne haarige Sache, gerade bei SUSE, wo es eigentlich grundsätzlich Probleme zu geben scheint bei vielen Programmen, die unter Redhat usw. wunderbar kompilieren (such nur mal nach "SUSE" hier im Forum).


    Aber mal im Ernst: Falls Du noch Lust hast, die v19 mit nativer ALSA-Unterstützung auszuprobieren: die ist seit gestern Abend im CVS....



    Markus

  • Hallo Markus,


    also vielleicht habe ich mich falsch ausgedrückt. Ich habe gestern Abend gegen 22:00 den cvs neu gezogen. Damit müsste die neue portaudio ja schon dabei sein?


    Das dann aufgerufene configure meldet, dass die am Vortag noch funktionierende wxGTK 2.6 nicht unterstützt wird. Es verlangt expliziet 2.4.x. Weil ich das nicht glauben wollte, habe ich configure geändert (Fehlerprüfung auf 2.4.x nach 2.6 angepaßt) und einen Compilerlauf mit 2.6 gestartet, der dann tatsächlich - meinen Glauben zerstörend ;( - abbrach. Dann habe ich die wxGTK 2.4.? heruntergeladen und in /home/axel/opt/ installiert. (Meine 2.6 brauche ich noch für andere Sachen) Dann gibt es im configure von Audacity die Möglichkeit mit abweichender GTK-lib-dir (Parameter WX_CONFIG oder so ähnlich; schreibe grad aus der Erinnerung) zu starten. Das klappt wunderbar, er erkennt dann die selbst verlangte wxGTK 2.4.x. Der dann aufgerufene make von Audacity bricht aber mit der benannten Fehlermeldung ab. :-/


    Was ich dabei nicht verstehe ist die Konfusität wegen der 2.6 / 2.4 wxGTK.


    Was die erfolgreich kompilierte Audacity angeht, so musste diese gestern einen Härtetest bestehen und hat sich tapferst geschlagen! Wie gewohnt: das Programm schlechthin für Audiobearbeitung. Dickes Lob an alle Mitwirkenden! Und auf dem 64Bit System mit SATA2 Platte macht das einfach nur Spaß. Abgesehen davon, dass der Compiler nach einigen Minuten fertig war, dauert die Anwendung diverser Filter auf eine gesamte LP-Aufnahme mit ca. 20 Minuten Laufzeit zwischen 3 Sekunden und 10 Sekunden. :)


    Gruß Axel.

  • Zitat von Markus


    Du hast mir immer noch nicht verraten, welche Fehlermeldung eigentlich kommt. Poste doch mal die Ausgabe von ./configure, und zwar mit dem unveränderten ./configure...


    Ähm, das glaub ich hat sich erledigt. :blush: Ich habe gerade festgestellt, dass ich gestern eine alte cvs 1.2 von Audacity geladen hatte. Insofern dickes SORRY für das "geistige Sackhüpfen".


    So, nun habe ich gerade die aktuelle CVS gezogen, configured mit portaudio V19 und compiliert. Und: es geht!


    Hier der configure Aufruf:
    ./configure --with-portaudio=v19 --without-portmixer --prefix=/home/axel/opt/ --with-lib-preference=system,local


    Code
    ## --------- ##
    ## Platform. ##
    ## --------- ##
    
    
    hostname = linux
    uname -m = x86_64
    uname -r = 2.6.13-15-default
    uname -s = Linux
    uname -v = #1 Tue Sep 13 14:56:15 UTC 2005


    Ich würde ja die config.log anhängen, wenn es die Funktion hier gäbe. Oder bin ich blind?


    make läuft auch soweit ich das sehen kann sauber durch und meckert gelegentlich über definierte aber nicht verwendete Variablen. Und einmal fiel dies hier auf:


    Code
    prefs/PrefsDialog.cpp: In constructor »PrefsDialog::PrefsDialog(wxWindow*)«:
    prefs/PrefsDialog.cpp:97: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken
    prefs/PrefsDialog.cpp: In member function »void PrefsDialog::OnOK(wxCommandEvent&)«:
    prefs/PrefsDialog.cpp:170: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken


    Audacity selbst habe ich nun nur kurz angetestet. Ach so, vielleicht noch ein bischen was zur Hardware:
    lspci ausgabe für die Soundkarte:

    Code
    00:04.0 Multimedia audio controller: nVidia Corporation CK804 AC'97 Audio Controller (rev a2)
            Subsystem: Foxconn International, Inc.: Unknown device 0ca5
            Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 225
            I/O ports at f000 [size=256]
            I/O ports at ec00 [size=256]
            Memory at 00000000febfd000 (32-bit, non-prefetchable) [size=4K]
            Capabilities: [44] Power Management version 2


    Audacity zeigt folgende mögliche Wiedergabegeräte:
    OSS /dev/dsp (geht)
    ALSA: NVidia CK804: NVidia CK804 (hw:0,0) geht
    ALSA: NVidia CK804: NVidia IEC958 (hw:0,2) geht nicht, welcher Anschluß soll das sein?
    ALSA: front (nicht getestet)
    ALSA: surround 40 (nicht getestet)
    ALSA: iec958 (nicht getestet)
    ALSA: spdif (nicht getestet)


    Audacity zeigt folgende möglicheAufnahmegeräte:
    OSS /dev/dsp (geht)
    ALSA: NVidia CK804: NVidia CK804 (hw:0,0) geht
    ALSA: NVidia CK804: NVidia Mic ADC (hw0,1) (nicht getestet)
    ALSA: front (nicht getestet)
    ALSA: surround 40 (nicht getestet)


    Was würde dich hier besonders interessieren?


    Gruß Axel.

  • Zitat von axele


    Ähm, das glaub ich hat sich erledigt. :blush: Ich habe gerade festgestellt, dass ich gestern eine alte cvs 1.2 von Audacity geladen hatte. Insofern dickes SORRY für das "geistige Sackhüpfen".


    :-p


    Zitat


    ALSA: NVidia CK804: NVidia IEC958 (hw:0,2) geht nicht, welcher Anschluß soll das sein?


    Das ist der Digitalausgang, z.B. S/PDIF.


    Zitat


    Was würde dich hier besonders interessieren?


    Ich denke, das reicht erstmal. D.h., die ALSA-Unterstützung funktioniert auf Deinem Rechner wie erwartet... Falls sich noch was ändern sollte, kannst ja nochmal schreiben...


    Danke für's testen :)
    Markus

  • Das geht schon los:


    - Wenn ein zweites Programm (hier k3b) mit der option alsa betrieben wird, kann Audacity die Wiedergabegeräte nicht mehr finden. Aufnahme geht.
    - In der Vorversion war neben dem Record-Pegel noch ein Drop-Down für den Eingang, der jetzt weg ist. Nicht tragisch wenn mann das Device in den Preferences einstellen kann. Aber: der Aufnahmepegel ist erst zu sehen, wenn die Aufnahme läuft. Das ist für das Einpegeln ärgerlich.
    - Die Pegelsteller (Aufnahme wie Wiedergabe) sind funktionslos. Zumindest mit dem ALSA device.
    - Kurzzeitig hat der rechte Kanal nur ein Gleichspannungssignal aufgenommen. Links war ok. Das konnte ich durch Umstellen der Kanalanzahl erst auf 1 dann wieder auf 2 beheben. Der Effekt ist momentan nicht reproduzierbar.


    Gruß Axel.


    Zitat


    Danke für's testen


    Danke für's Programm!

  • Zitat von axele


    - Wenn ein zweites Programm (hier k3b) mit der option alsa betrieben wird, kann Audacity die Wiedergabegeräte nicht mehr finden. Aufnahme geht.


    Ich denke, dass Audacity exklusiven Zugriff auf das Device braucht, um Samplerate usw. umstellen zu können. insofern würde ich das für normal halten.


    Zitat


    - In der Vorversion war neben dem Record-Pegel noch ein Drop-Down für den Eingang, der jetzt weg ist. Nicht tragisch wenn mann das Device in den Preferences einstellen kann. Aber: der Aufnahmepegel ist erst zu sehen, wenn die Aufnahme läuft. Das ist für das Einpegeln ärgerlich.


    Du kannst mit der rechten Maustaste auf die Aussteuerungsanzeige gehen, dann "Start monitoring" (oder so). Alternativ Doppelklick auf die Anzeige.


    Zitat


    - Die Pegelsteller (Aufnahme wie Wiedergabe) sind funktionslos. Zumindest mit dem ALSA device.


    Ja, die Mixer-Library wurde noch nicht auf Portaudio v19 portiert. Das ist der nächste Schritt.



    Markus

  • Zitat


    Du kannst mit der rechten Maustaste auf die Aussteuerungsanzeige gehen, dann "Start monitoring" (oder so). Alternativ Doppelklick auf die Anzeige.


    Tja so sollte es sein. ist es aber nicht. Kann ich aktivieren wie ich will. Monitoring nur bei laufendem record. Dann geht's. Stoppt man übrigens den record, ist auch die Pegelanzeige wieder leer.


    PS: wenn Du mir eine Liste der Binärdaten geben könntest, würde ich mich an dem Build eines rpm versuchen. Ja, ich weiß es gibt checkinstall aber das läuft bei mir aus irgendwelchen noch nicht erörterten Gründen nicht.


    Gruß Axel.

  • Hallo!


    Erlaubt bitte, daß ich mich hier einklinke. Ich habe (fast) das gleiche Problem wie Axel: SuSE 10.0, 64 Bit, Audacity installiert von Packman, dazu hat Yast Portaudio 19 installiert, alles ohne Probleme, auch keine Fehler beim Aufruf von Audacity. Aber dann das gleiche Problem: bei Wiedergabe nur weißes Rauschen. Allerdings bewegen sich bei mir die Pegelbalken.
    Axel hat das ja durch Selbstcompilieren gelöst. Dazu habe ich ein paar Fragen:


    Axel:
    Wie hast Du das mit den ganzen Abhängigkeiten gelöst? ldd audacity mit der installierten 64 Bit-Version zeigt ja eine horrende Anzahl von Verweisen auf /usr/lib64. Das wird dann ja wohl /usr/lib sein.


    Markus:
    Wo kriege ich die neue 19er Version von Portaudio her? Wo ist das CVS zu finden? Habe ich in diesem Thread nicht gefunden.


    Ich hoffe, Ihr könnt mir ein bischen weiterhelfen. Zwischendurch werde ich es weiterprobieren...


    Viele Grüße
    Rüdiger

  • Hallo Rüdiger,


    1. die aktuelle cvs ziehen:

    Code
    cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/audacity checkout audacity


    Das speichert die akt. Version im aktuellen Pfad.


    2. configure

    Code
    ./configure --with-portaudio=v19 --without-portmixer --prefix=/home/axel/opt/ --with-lib-preference=system,local


    das bereitet die Installation für das Verzeichnis /home/axel/opt vor. Das Binary findet man dann in /home/axel/opt/bin/audacity. So kann man gefahrlos die Version testen, ohne eine andere Installation zu gefährden.


    configure sucht dann nach den benötigten libs, die vorher installiert sein sollten. da fallen mir so wx, ogg etc ein. Hier musst du ggf. auf die Fehlerausgabe von configure achten.


    Schreib, ob's geholfen hat.


    Gruß Axel

  • Die Infos zum CVS stehen hier: http://sourceforge.net/cvs/?group_id=6235


    Da ist das Portaudio v19 schon dabei. Wenn Du mit ./configure --with-portaudio=v19 --without-portmixer konfigurierst, bekommst Du die neueste ALSA-Unterstützung (mit der hatte ich bis jetzt noch keine Probleme).

  • Hallo Ihr Beiden!


    Vielen Dank für die schnelle Antwort. Ich hätte kaum zu hoffen gewagt, daß jemand noch mal in diesen doch schon ziemlich alten Thread reinschaut. Dann will ich mich mal an die Arbeit machen...


    Viele Grüße
    Rüdiger

  • Hallo!


    Ein Zwischenbericht:
    Vom CVS runterladen hat geklappt, ich weiß aber nicht wie und warum: zuerst hat es sich beklagt, daß kein .cvspass da wäre, und als ich mit dem Mut der Verzweiflung einfach en leeres erstellen wollte, war plötzlich eins da, mit vernünftigem Inhalt. Weiß der Teufel. Ich habe CVS noch nie benutzt, habe hier erst seit Kurzem einen schnellen Zugang.
    Jetzt schlägt configure fehl mit configure: error: "Could not find wx-config: is wxWindows installed? is wx-config in your path?"
    Ich habe (von der SuSE-DVD) wxGTK 2.6.1.0-4 installiert. wx-config existiert wirklich nicht. Was meint wxWindows? Ich werde mal ein bischen herumforschen, muß aber auch noch abwaschen.


    Viele Grüße
    Rüdiger