Audacity 1.3 auf Suse 9.3 kompilieren

  • Ich gebe zu: ich habe mich vom ak wieder bequatschen lassen:


    Anleitung: Audacity 1.3 auf Suse 9.3 kompilieren:


    Als erstes mal Yast aufmachen, auf "Software installieren oder löschen" gehen und von dort aus dann folgende Software-Pakete installieren (alles auf den Suse CDs dabei):


    * alsa-devel
    * cvs
    * gcc (+binutils +glibc-devel)
    * gcc-c++ (+libstdc++-devel)
    * gtk2-devel (+atk-devel +fontconfig-devel +freetype2-devel +glib2-devel +pango-devel +pkgconfig +xorg-x11-devel)
    * libogg-devel
    * zlib-devel


    Einfach jeweils immer nur an den ersten Namen einen Haken dranklicken, alle in Klammern angegebenen Software-Pakete werden dann automatisch vorgeschlagen und mit "übernehmen" (rechts unten) auch gleich mitinstalliert.


    Dann habe ich von "www.wxwidgets.org/downloads" das wxGTK-2.6.1.tar.gz Paket (oder neuer) runtergeladen, einen Ordner home/cvs/wx-widgets erstellt und wxGTK-2.6.1.tar.gz dort hineinkopiert und ausgepackt:


    Quote

    [m]> tar -xvzf wxGTK-2.6.1.tar.gz[/m]


    danach hatte ich einen neuen Ordner "wxGTK-2.6.1" mit allen wx-widgets Dateien.


    im neuen Ordner "wxGTK-2.6.1" habe ich einen Ordner "linux-build" angelegt, vom Ordner "wxGTK-2.6.1/linux-build" aus habe ich eingegeben:


    Quote

    [m]> ../configure --with-gtk --enable-unicode[/m]


    Quote

    Anmerkung vom Markus (Audacity Entwickler) am 7. Juli 2005:
    Ich würde das aktuelle Audacity (noch) nicht --enable-unicode kompilieren, sonst kann es sein, dass z.B. Effekte nicht mehr funktionieren u.ä.

    23. November 2005 - Sourcecode wurde mittlerweile aktualisiert: wx-widgets bitte mit --enable-unicode kompilieren.


    Das Ergebnis sah dann so aus:



    immer noch vom Ordner "wxGTK-2.6.1/linux-build" aus habe ich eingegeben:


    Quote

    [m]> make
    > su
    Password: (superuser passwort eintippen)
    # make install
    # ldconfig
    # exit
    [/m]


    "make" dauert eine ganze Weile (je nach Rechner 30 bis 60 Minuten), nach "make install" befinden sich die wx-widgets libraries in /usr/local/lib


    zurück nach /home/cvs und Audacity Sourcecode runterladen:


    Quote

    [m]> cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/audacity co audacity[/m]


    [ 4. Oktober 2006 - neue cvs Addresse: ]


    Quote

    [m]> cvs -d:pserver:anonymous@audacity.cvs.sourceforge.net:/cvsroot/audacity co audacity[/m]


    Das kann mit einem 56k Modem schon mal 60 bis 90 Minuten dauern. Anschliessend erscheint im cvs Ordner ein neuer Ordner mit Namen audacity. Davon mache ich normalerweise erstmal eine Kopie mit Namen audacity-src, damit ich, wenn was schiefgeht, nicht das ganze Zeug nochmal runterladen muss.


    anschliessend in audacity-src:


    Quote

    [m]> ./configure[/m]


    erstmal ohne Parameter, um zu sehen, ob configure was zu meckern findet.


    typische Fehlermeldungen sehen z.B. so aus:



    das bedeutet: höchstwahrscheinlich ist libogg zwar installiert, was aber fehlt ist libogg-devel


    ob das so ist kann man folgendermassen herausfinden:


    Quote

    [m]> whereis libogg
    libogg: /usr/lib/libogg.la /usr/lib/libogg.so /usr/lib/libogg.a
    [/m]


    wenn hier nur "/usr/lib/libogg.so" erscheint fehlt libogg-devel. libogg.so ist die eigentliche ogg Systembibliothek


    oder:


    Quote

    [m]configure: error: zlib.h was not found
    >>> You must first install zlib (libz) before you can build this package.
    >>> If zlib is already installed, you may need to use the CPPFLAGS
    >>> environment variable to specify its installed location, e.g. -I<dir>.
    configure: error: /bin/sh './configure' failed for lib-src/libid3tag
    [/m]


    das gleiche in grün: zlib ist zwar installiert, was in Wirklichkeit fehlt ist zlib-devel


    Das ist deshalb wichtig zu wissen weil Audacity ja weiterentwickelt wird und deshalb in Zukunft eventuell noch mehr devel-Pakete nachinstalliert werden müssen.


    wenn alles gut geht sieht das am Ende dann so aus:



    es steht jetzt zur Entscheidung, ob OSS oder ALSA verwendet werden soll. Mit ALSA beginnt das ganze Spiel nochmal von vorne mit:


    Quote

    [m]> ./configure --with-portaudio=v19 --with-portmixer=no[/m]


    (alsa mit portmixer funktioniert momentan leider noch nicht).


    anschliessend:


    Quote

    [m]> make[/m]


    Make dauert mal wieder - bei mir ungefähr eine Stunde.


    Was auch noch wichtig ist: da an der Audacity CVS version noch gearbeitet wird kann es vorkommen dass einige Teile von Audacity Kompilerfehler erzeugen, so dass der Kompilerdurchlauf mittendrin abbricht. Damit jetzt aber nicht alles umsonst war gibt es die Möglichkeit mittels verschiedener Konfigurationsschalter einzelne Teile von Audacity vorrübergehend vom Kompilerdurchlauf auszunehmen.


    Welche Möglichkeiten es alles gibt kann herausgefunden werden mit:


    Quote

    [m]> ./configure --help[/m]


    Im aktuellen Fall erhielt ich einen Abbruch beim Kompilieren der libid3tag:


    Quote

    [m]..//lib-src/libid3tag.a(util.o)(.text+0x136): In function `id3_util_decompress':
    /home/edgar/cvs/audacity-src/lib-src/libid3tag/util.c:139: undefined reference to `uncompress'
    collect2: ld returned 1 exit status
    make[1]: *** [../audacity] Fehler 1
    make[1]: Leaving directory `/home/edgar/cvs/audacity-src/src'
    make: *** [audacity] Fehler 2
    [/m]


    BTW: Wer weiss, was das ist ? An der id3tag library wurde in letzter Zeit nichts rumprogrammiert - Ich gehe also davon aus dass der Fehler bei mir liegt. Fehlt da wieder irgendein devel-paket oder ist irgendwas falsch konfiguriert ?


    (Fehler mittlerweile gefunden - siehe Anleitung weiter unten: fehlende oder falsche devel Pakete zu Fuss installieren)


    wenn ich jetzt die Konfigurationsschalter ändere funktioniert's:


    Quote

    [m]> ./configure --with-portaudio=v19 --with-portmixer=no --with-id3tag=no[/m]


    Da ich normalerweise noch eine andere (offizielle) Audacity Version auf dem Rechner habe spare ich mir "make install" und starte audacity direkt im audacity-src Verzeichnis, wo ich es auch kompiliert habe mit "./audacity". Wenn ich audacity 1.3 vom Desktop aus starten will schreibe ich mir ein shell-script und bastele mir einen "benutzerdefinierten Anwendungsstarter" (Gnome), der dann nicht audacity sondern das script startet.


    audacity.sh:


    Quote

    [m]# /bin/sh
    cd /home/edgar/cvs/audacity-src
    ./audacity
    [/m]


    Momentan erhalte ich beim Start von Audacity eine Fehlermeldung: "Cannot convert from the charset '@LOCALE,UTF-8,ISO-8859-15,CP1252'!" was aber auch daran liegen kann dass in letzter Zeit viel von Windows-Spielkindern an Audacity herumprogrammiert wurde (Nachricht auf Audacity devel: Unicode geht plötzlich nicht mehr). Weiss jetzt nicht, in wie weit das bei meiner Version (22. Juni, ca. 12 Uhr mittags) schon wieder repariert war.


    Getestet am 21. und 22. Juni 2005 auf extra nagelneu installiertem Suse 9.3 Linux

  • Danke, Edgar!


    Dann gab es ja noch das Problem, dass Audacity entweder garnicht startet, oder zwar startet, aber bei Aufruf des Datei/Einstellungen-Dialogs abstürzt (beides mal mit GTK-Fehlern "ASSERT string != 0" und dann "Speicherzugriffsfehler").


    Dieser Fehler hängt (vereinfacht gesagt) damit zusammen, dass das System-Encoding nicht mit bestimmten Sonderzeichen anderer Sprachen zurecht kommt. Er lässt sich dadurch vermeiden, dass man einfach alle Sprachdateien außer der deutschen löscht. Dann hat man nur noch deutsch und englisch zur Verfügung.


    Die Sprachdateien heißen allesamt "audacity.mo" und sind in den Pfaden /usr/share/locale sowie /usr/local/share/locale zu finden, und zwar dort in den Unterverzeichnissen mit den zwei Buchstaben und dann "LC_MESSAGES". Hier muss man alle "audacity.mo"s aus allen Verzeichnissen löschen außer dem "de/LC_MESSAGES"-Verzeichnis (das ist die deutsche Übersetzung).


    Mit folgenden Befehlen geht das automatisch:


    Code
    find /usr/share/locale -wholename '/usr/share/locale/de' -prune -o -name "audacity.mo" -print | xargs rm -f
    find /usr/local/share/locale -wholename '/usr/local/share/locale/de' -prune -o -name "audacity.mo" -print | xargs rm -f


    Diese Befehle müssen als der Benutzer "root" ausgeführt werden (-> su).


    Wenn man sich bei der Eingabe dieser Befehle vertippt, kann es durchaus sein, dass man aus Versehen die ganze Festplatte löscht. Unerfahrenen Benutzern wird deshalb geraten, das Löschen der "audacity.mo"-Dateien von Hand bzw. mit der grafischen Benutzeroberfläche vorzunehmen, auch wenn es etwas länger dauert.

  • hi edgar,


    Quote


    BTW: Wer weiss, was das ist ? An der id3tag library wurde in letzter Zeit nichts rumprogrammiert - Ich gehe also davon aus dass der Fehler bei mir liegt. Fehlt da wieder irgendein devel-paket oder ist irgendwas falsch konfiguriert ?


    scheint zumindest "nicht nur bei dir" zu liegen: bei mir läufts durch, auf nem anderen notebook bekam ich bereits bei configure die fehlermeldung, trotz installiertem devel-paket. war auf beiden kisten suse 9.3


    andreas


  • fehlende oder falsche devel Pakete zu Fuss installieren:


    also erstmal ins libid3tag Verzeichnis, dort dann die übliche Nummer: ./configure, make, su, make install und exit



    dann wieder zurück ins audacity Verzeichnis und die ganze Geschichte nochmal von vorne:


    Quote


    > cd ../..
    > ./configure --with-portaudio=v19 --with-portmixer=no
    > make
    > ./audacity


    also bei mir findet make jetzt nix mehr zu meckern, mp3 Titel eingeben geht jetzt auch.

  • hallo edgar,


    hab grad ein nagelneues suse9.3 in die finger bekommen und frisches audacity installiert, paar anmerkungen zu deiner anleitung:


    1. große klasse; hab mich akribisch dran gehalten ums zu testen, super.


    2. kleinigkeit: softwarepakete zu installieren natürlich auch gtk: könntest du das noch in gtk2-devel korrigieren? *mir* isses klar, aber für "andere" ists vielleicht ein stolperstein


    3. die fehlermeldung "Cannot convert from the charset '@LOCALE,UTF-8,ISO-8859-15,CP1252'!" beim programmstart krieg ich auch. spekulation: hat es ggf. damit zu tun, dass wxgtk "--enable-unicode" kompiliert ist? auf bisherigen installationen (ebenfallsl mit wxgtk2.6 und audacity 1.3 hatte ich das nämlich nicht)


    gruß ak

  • Gtk in Gtk2 geändert und Kommentar vom Markus in Anleitung mit eingebaut. Mache gerade Versuche: Linux Sourcecode auf Windows Rechnern runterziehen:


    Quote


    cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/audacity co -kb audacity


    Hat das irgendjemand schonmal ausprobiert ? Mit Nyquist ging's nicht obwohl ich jetzt Unix LineEndings habe - kann aber auch an Suse liegen. Werde das jetzt nochmal mit dem Audacity SourceCode ausprobieren und dabei auch nochmal die UniCode Geschichte testen.

  • Hi edgar
    Du beschreibst einen Fehlerabruch bei make (Audacity) der auf die libid3tag zurück zuführen ist. Bei mir bricht make ab mit folgenden Ausgaben auf dem Bildschirm:


    /usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../libwx_gtk2-2.4.so: undefined reference to `_gtk_accel_group_detach'
    /usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../libwx_gtk2-2.4.so: undefined reference to `_gtk_accel_group_attach'
    /usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../libwx_gtk2-2.4.so: undefined reference to `_gtk_rc_context_get_default_font_name'
    collect2: ld returned 1 exit status
    make[1]: *** [../audacity] Fehler 1
    make[1]: Leaving directory `/usr/local/audacity-src-1.2.3/src'
    make: *** [audacity] Fehler 2


    Leider ist mein Suse 9.3 nicht mehr ganz "taufrisch" da ich schon seit Wochen verzweifelt versuche Audacity zu installieren. Aber eine Neuinstallation von Linux wäre der allerletzte Ausweg, weil ich schon eine ganze Menge anderer Sachen installiert und etliche Einstellungen vorgenommen habe. Und mal ganz davon abgesehen, Neuinstallieren weil was nicht funktioniert kommt mir von Windows bekannt vor, warum soll ich da überhaupt auf linux umsteigen ;) ?


    Wär super wenn mir jemand helfen könnte, ich steh kurz davor die Windows-Version unter wine zu installieren.


    Gruß
    Chris

  • Hallo Markus


    Danke für die schnelle Antwort.
    Ich hab die wxGTK-2.6.1 installiert.
    Ist es nun möglich diese wieder zu deinstallieren, oder aber besser Audacity 1.3 zu installieren.
    Aber 1.3 ??? Hier auf der Seite zu Audacity sieht es mir eher danach aus, als wäre Version 1.2.3 die letzte ???
    Die Anleitung von Edgar Audacity 1.3 downzuloaden funktioniert bei mir nicht.
    Ich vermute hierbei, dass es sich um eine Eingabe auf der Konsole handelt:
    > cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/audacity co audacity
    Ich bekomme folgende Fehlermeldung:
    Host cvs.sourceforge.net nicht gefunden.
    Mein Rechner war online (ISDN). Ich vermute ich muss dazu erst auf der Konsole eine online-Verbindung aufbauen ? Wie geht das ?


    Gruß
    Christian

  • Hallo Markus


    Es schweint wohl so zu sein.
    Jetzt hat das mit dem Download geklappt; ./cofigure läuft durch ( auch mit --with-portaudio=v19 --with-portmixer=no) aber make bricht wieder ab:


    AudioIO.cpp:685: error: `wxMilliSleep' undeclared (first use this function)
    AudioIO.cpp:685: error: (Each undeclared identifier is reported only once for
    each function it appears in.)
    AudioIO.cpp:821: warning: use of `h' length modifier with `s' type character
    AudioIO.cpp: In member function `void AudioIO::StopStream()':
    AudioIO.cpp:916: error: `wxMilliSleep' undeclared (first use this function)
    make[1]: *** [AudioIO.o] Fehler 1
    make[1]: Leaving directory `/usr/local/audacity/src'
    make: *** [audacity] Fehler 2


    und somit gehts in die nächste Runde ;)


    Gruß
    Christian


    Hallo Leute


    Jetzt hatte ich heute (3.10.05) noch mal so richtig Zeit, und hab noch mal gaaaaaanz von vorne angefangen. Und was soll ich sagen? Es hat geklappt ! Juhuuh, holt Sekt, wir feiern ein Fest !
    Klasse, und Danke an Edgar für die Anleitung.


    Gruß
    Christian

  • Hi, ich versuche Audacity 1.3 auf einem Debian Unstable System mit wxgtk2.6 zu installieren und bekomme immer folgende fehlermeldung:


    Code
    Languages.cpp:187:1: error: converting to execution character set: Das Argument ist ungültig
    Languages.cpp:187:1: error: converting to execution character set: Ungültiges oder unvollständiges Multi-Byte- oder Wide-Zeichen
    Languages.cpp:187:1: error: converting to execution character set: Das Argument ist ungültig
    make[1]: *** [Languages.o] Fehler 1


    Ich kann damit absolut nix anfangen, vielleicht kann mir hier jemand helfen?
    Gruss


  • Jo es gibt ein Debian Paket, welches ich auch installiert habe! Ich glaube diese Paket ist mi Unicode kompiliert!
    Leider hat

    Code
    export LANG=C


    nix gebracht!

  • Ich weiß, dass das keine komfortable Lösung ist, aber um den Fehler rauszufinden: versuch Doch mal, aus der genannten Datei src/Language.cpp alle Sonderzeichen zu entfernen. Bei Zeile 91 in dieser Datei fängt eine Liste an, hier sind "Espanol", "Francais" und "Portugues" anders geschrieben. Änder Die doch mal (schreib einfach die englische Schreibweise, wie ich oben), und versuch nochmal zu kompilieren. Geht's jetzt?



    Markus

  • sorry... hab die Beiträge wohl nicht bis zum Ende gelesen und die gepostete Lösung übersehen.


    Bei mir hats funktioniert, einfach die Datei src/Languages.cpp zu editieren und in den Zeilen 91-109 aus den Ländernamen alle Sonderzeichen zu entfernen.


    Quote from blub:1127664273


    Hi, ich versuche Audacity 1.3 auf einem Debian Unstable System mit wxgtk2.6 zu installieren und bekomme immer folgende fehlermeldung:

    Code
    Languages.cpp:187:1: error: converting to execution character set: Ungültiges oder unvollständiges Multi-Byte- oder Wide-Zeichen
    make[1]: *** [Languages.o] Fehler 1