Anzeige:
Ergebnis 1 bis 7 von 7

Thema: tex4ht unter Linux installieren - klappt nicht!

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407

    tex4ht unter Linux installieren - klappt nicht!

    Hallo!

    Ich muss meine Texte Geschäftspartnern und Kunden in einem Dateiformat zur Verfügung stellen, das einer Textverarbeitung zugänglich ist. Word halt.

    Allerdings habe ich festgestellt, dass ein von pdftex erstelltes pdf viel weniger agressiv überprüft wird. Also will ich mit der üblichen e-mail das pdf und - falls es Änderungswünsche gibt - ein html-Dokument schicken. Word und Openoffice kommen damit zurecht.

    Dazu brauche in eine möglichst gute Konvertierung. Ich möchte tex4ht ausprobieren, zumal es da haufenweise neue Pakete gibt, siehe

    http://www.cse.ohio-state.edu/~gurar.../bugfixes.html

    Leider kriege ich die c-Dateien nicht kompilliert, im Anhang hier die Meldungen von gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux)

    Ich verwende OpenSuse 10.2 auf einem T60 Thinkpad, leider die 64-bit-Version, weil mir nicht klar war, dass die x86 auch laufen würde ...

    Vielen Dank für alle Hilfe, - hat nicht jemand ein rpm? -

    Gruß,
    Alexander

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Hallo Alexander,
    ich hab' das mal auf meiner n Tuck älteren (10.1) OpenSuSE (aber immerhin AMD64) nachgestellt. Was ich in tex4ht.c geändert hab':
    Code:
    /* **********************************************
        Compiler options                            *
        (uncommented | command line)                *
    ------------------------------------------------*
           Classic C (CC)             default */
    #define ANSI                      ansi-c, c++
    //#define DOS_C
    #define HAVE_STRING_H             <string.h>
    #define HAVE_DIRENT_H             <dirent.h>
    //#define HAVE_SYS_NDIR_H           <sys/ndir.h>
    #define HAVE_SYS_DIR_H            <sys/dir.h>
    //#define HAVE_NDIR_H               <ndir.h>
    #define HAVE_IO_H                 <sys/io.h>
    //#define HAVE_UNISTD_H             <unistd.h>
    //#define WIN32
    //#define KPATHSEA
    //#define CDECL                     .......
    //#define BCC32                     bordland c++
    
    /*************************************************
        Tex4ht variables                            *
    obwohl, warum ich den // vor #define KPATHSEA setzen musste, kann ich noch nicht sagen, die dann benötigten Dateien sind bei mir jedenfalls vorhanden;(
    Oh, und dann noch so um Zeile 193 herum:
    Code:
    //#include 
    #include HAVE_IO_H
    
    schließlich hab ich HAVE_IO_H zuvor bereits auf <sys/io.h> gesetzt, weil io.h bei mir unter /usr/include/sys ist und nicht unter /usr/include...
    Zumindest kompiliert
    Code:
    gcc -o foo tex4ht.c
    dann ohne Fehler... ob das Programm `foo´ dann aber auch macht, was es soll...?
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    Hallo Rainer,

    herzlichen Dank für die Hilfe. Ich verstehe von C leider garnichts, aber wenn ich so sehe, dass da einfach ein paar / zur Auskommentierung von Kommentaren fehlen, lässt mich das an der Sorgfalt des Programmierers schon zweifeln.

    Nach Deinen Änderungen hat gcc das Programm auch ohne Murren kompiliert (hey, ich habe nachgelesen, was kompilieren bedeutet: von lateinisch compilare = zusammenraffen, plündern, ausbeuten); aber es müssen noch Variablen berücksichtigt werden (vgl. http://www.cse.ohio-state.edu/~gurar...t/mn-unix.html ).

    Der Befehl lautet bei mir daher:

    Code:
     gcc -o tex4ht tex4ht.c -DENVFILE=’"/home/AW/Downloads/tex4ht.dir/texmf/tex4ht/base/unix/tex4ht.env"’ -DHAVE_DIRENT_H
    Die Fehlermeldungen werden daraufhin zwar kürzer, aber ich verstehe sie trotzdem nicht (siehe Anhang).

    Hast Du noch eine Idee zum Ausbeuten?

    Gruß,
    Alexander

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Hallo Alexander,
    das war wohl mein Fehler...
    Code:
        Compiler options                            *
        (uncommented | command line)                *
    sollte wohl heißen, daß man die entsprechenden Flags auf der Kommandozeile mit übergeben soll. Dementsprechend hab' ich meine Änderungen an tex4ht.c rückgängig gemacht und gcc erstmal so aufgerufen:
    Code:
    gcc -o tex4htx tex4ht.c -DKPATHSEA -DHAVE_DIRENT_H -DHAVE_STRING_H -lkpathsea
    das lief "ohne zu murren" und sollte auch mit kpathsea klarkommen.
    Otoh hattest Du die Meldung
    Code:
    tex4ht.c:204:29: error: kpathsea/config.h: Datei oder Verzeichnis nicht gefunden
    (u.a.) -- das deutet darauf hin, daß besagte "config.h" bei Dir unter (normalerweise) /usr/include/kpathsea gar nicht existiert...

    PS) als ich mich zuletzt aktiv mit C beschäftigt hab', hatte ich noch einen (fast) nagelneuen Atari ST;-)
    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    Tut auch nicht, bergeweise Fehlermeldungen:

    Code:
    tex4ht.c:204:29: error: kpathsea/config.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:205:30: error: kpathsea/c-errno.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:206:30: error: kpathsea/c-ctype.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:207:30: error: kpathsea/c-fopen.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:208:31: error: kpathsea/c-pathmx.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:209:31: error: kpathsea/proginit.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:210:31: error: kpathsea/tex-file.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:211:31: error: kpathsea/tex-make.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:212:31: error: kpathsea/variable.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c: In function ‘main’:
    tex4ht.c:6330: warning: cast to pointer from integer of different size
    tex4ht.c:6346: error: ‘kpse_program_text_format’ undeclared (first use in this function)
    tex4ht.c:6346: error: (Each undeclared identifier is reported only once
    tex4ht.c:6346: error: for each function it appears in.)
    tex4ht.c:6346: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6354: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6375: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6384: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6387: warning: cast to pointer from integer of different size
    tex4ht.c:6512: warning: cast to pointer from integer of different size
    tex4ht.c:6558: warning: cast to pointer from integer of different size
    tex4ht.c:6572: warning: cast to pointer from integer of different size
    tex4ht.c:6600: error: ‘kpse_cnf_format’ undeclared (first use in this function)
    tex4ht.c:6600: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6604: warning: cast to pointer from integer of different size
    tex4ht.c:6838: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6874: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7164: error: ‘kpse_tfm_format’ undeclared (first use in this function)
    tex4ht.c:7164: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7184: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7190: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7573: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7609: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7956: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7992: warning: assignment makes pointer from integer without a cast
    AW@linux-1ujr:~/Downloads/tex4ht.dir/src> gcc -o tex4htx tex4ht.c -DKPATHSEA -DHAVE_DIRENT_H -DHAVE_STRING_H -lkpathsea
    tex4ht.c:204:29: error: kpathsea/config.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:205:30: error: kpathsea/c-errno.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:206:30: error: kpathsea/c-ctype.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:207:30: error: kpathsea/c-fopen.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:208:31: error: kpathsea/c-pathmx.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:209:31: error: kpathsea/proginit.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:210:31: error: kpathsea/tex-file.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:211:31: error: kpathsea/tex-make.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:212:31: error: kpathsea/variable.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c: In function ‘main’:
    tex4ht.c:6330: warning: cast to pointer from integer of different size
    tex4ht.c:6346: error: ‘kpse_program_text_format’ undeclared (first use in this function)
    tex4ht.c:6346: error: (Each undeclared identifier is reported only once
    tex4ht.c:6346: error: for each function it appears in.)
    tex4ht.c:6346: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6354: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6375: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6384: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6387: warning: cast to pointer from integer of different size
    tex4ht.c:6512: warning: cast to pointer from integer of different size
    tex4ht.c:6558: warning: cast to pointer from integer of different size
    tex4ht.c:6572: warning: cast to pointer from integer of different size
    tex4ht.c:6600: error: ‘kpse_cnf_format’ undeclared (first use in this function)
    tex4ht.c:6600: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6604: warning: cast to pointer from integer of different size
    tex4ht.c:6838: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6874: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7164: error: ‘kpse_tfm_format’ undeclared (first use in this function)
    tex4ht.c:7164: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7184: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7190: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7573: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7609: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7956: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7992: warning: assignment makes pointer from integer without a cast
    AW@linux-1ujr:~/Downloads/tex4ht.dir/src> su
    Passwort:
    linux-1ujr:/home/AW/Downloads/tex4ht.dir/src # gcc -o tex4htx tex4ht.c -DKPATHSEA -DHAVE_DIRENT_H -DHAVE_STRING_H -lkpathsea
    tex4ht.c:204:29: error: kpathsea/config.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:205:30: error: kpathsea/c-errno.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:206:30: error: kpathsea/c-ctype.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:207:30: error: kpathsea/c-fopen.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:208:31: error: kpathsea/c-pathmx.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:209:31: error: kpathsea/proginit.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:210:31: error: kpathsea/tex-file.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:211:31: error: kpathsea/tex-make.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c:212:31: error: kpathsea/variable.h: Datei oder Verzeichnis nicht gefunden
    tex4ht.c: In function ‘main’:
    tex4ht.c:6330: warning: cast to pointer from integer of different size
    tex4ht.c:6346: error: ‘kpse_program_text_format’ undeclared (first use in this function)
    tex4ht.c:6346: error: (Each undeclared identifier is reported only once
    tex4ht.c:6346: error: for each function it appears in.)
    tex4ht.c:6346: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6354: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6375: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6384: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6387: warning: cast to pointer from integer of different size
    tex4ht.c:6512: warning: cast to pointer from integer of different size
    tex4ht.c:6558: warning: cast to pointer from integer of different size
    tex4ht.c:6572: warning: cast to pointer from integer of different size
    tex4ht.c:6600: error: ‘kpse_cnf_format’ undeclared (first use in this function)
    tex4ht.c:6600: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6604: warning: cast to pointer from integer of different size
    tex4ht.c:6838: warning: assignment makes pointer from integer without a cast
    tex4ht.c:6874: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7164: error: ‘kpse_tfm_format’ undeclared (first use in this function)
    tex4ht.c:7164: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7184: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7190: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7573: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7609: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7956: warning: assignment makes pointer from integer without a cast
    tex4ht.c:7992: warning: assignment makes pointer from integer without a cast
    linux-1ujr:/home/AW/Downloads/tex4ht.dir/src #
    config.h kommt auf meinem System ca. 10 mal vor, tex-file.h überhaupt nicht, auch c-errno.h nicht, einen Ordner kpathsea kann ich auch nicht finden. Irgendwie scheine ich ein komplett anderes System zu haben und damit Pech.

    Ich überlege seit ein paar Tagen ernsthaft, mir die 32-bit-Version herunterzuladen und das System neu aufzusetzen. Seufz: Tex neu einrichten, xine neu, ATI neu, xorg.config neu ...

    Wenn ich wüßte, wer mir SLES verkauft in der Umgegend, würde ich wahrscheinlich umsteigen.

    Gruß + Danke nochmal,
    Alexander

  6. #6
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Hallo Alexander,
    keine Ahnung, was das im Endeffekt für das Programm ausmacht, aber warum lässt Du den -DKPATHSEA Schalter (und damit auch den -lkapthsea) nicht einfach weg? Sieht ja so aus, als wäre ein kpathsea-Ordner bei Dir unter /usr/include (wo C seine .h-includes gewöhnlich herholt, solange diese in spitzen Klammern bei #include angegeben werden) nicht vorhanden...
    Andererseits -- und ich kann mir nicht wirklich vorstellen, daß sich die Quellen inzwischen geändert haben sollten -- im Anhang findest Du ein Archiv, daß Dir besagte header-Dateien zur Verfügung stellen sollten...
    Das Teil solltest Du mit
    Code:
    tar -x[v]zf kpathsea.tar.zip
    auswickeln können -- und wenn Du Dich zu der Zeit gerade in /usr/include befindest (und entsprechende Schreibzugriffe hast), dann solte es danach ein /usr/iclude/kpathsea-Ordner geben, in dem die entsprechenden Dateien zu finden sind. Wenn nicht, dann schiebst bzw. kopierst Du die entsprechenden Dateien hinterher eben da hin -- jedenfalls kannst Du es danach nochmal mit dem zuvor geposteten gcc-Aufruf versuchen

    MfG,
    Rainer
    There's nothing a good whack with a hammer won't fix!

  7. #7
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    So,

    es funktioniert zwar, aber die Ausgabe ist unglaublich schlecht, keine Umlaute, keinerlei Layout, nur der Text. Und dafür die ganze Mühe...

    Herzlichen Dank nochmal,

    Gruß,
    Alexander

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •