Heizer: (LINUX) Hilfe beim Programmieren

LIebes Forum

Nachdem ich gehört habe, das PHP 4.2.3 ganz gut sein soll, ich selbst noch 4.0.4pl1 habe und mein Provider auch 4.2.3 hat, wollte ich mir diese Version installieren. Ich habe ein Suse Linux 7.2(i386), das ich allerdings fast ausschlieslich als localen Webserver nutze, und Apache 1.3.19. Beim compilieren habe ich dann feststellen müssen, daß mir (mindestens) die Entwicklertools bison und flix fehlen.

Mein Problem ist nun, daß ich aus Gründen, die ich hier unmöglich vortragen kann, ohne gege <faq/#Q-04> Absatz 2 Punkt 4 Attribut 2 und 3, warum ich die Suse CD's nicht mehr habe, das ist als gegeben hinzunehmen.

Meine Frage: Kann ich mir diese Pakete auch im Internet runterladen? mit der Homepage bzw. dem Webserver von Suse komme ich leider nicht wirklich zurecht.

Vielen Dank

Heizer

  1. Sorry, hab das Thema durcheinander gebrach

  2. Hallo,

    Nachdem ich gehört habe, das PHP 4.2.3 ganz gut sein soll, ich selbst noch 4.0.4pl1 habe und mein Provider auch 4.2.3 hat, wollte ich mir diese Version installieren. Ich habe ein Suse Linux 7.2(i386), das ich allerdings fast ausschlieslich als localen Webserver nutze, und Apache 1.3.19. Beim compilieren habe ich dann feststellen müssen, daß mir (mindestens) die Entwicklertools bison und flix fehlen.

    Normalerweise ist der SuSE FTP-Server gut sortiert, aber da Du schon selber compilieren kannst, hier die Quellen:

    http://gnuftp.ccp14.ac.uk/gnu/flex/flex-2.5.4a.tar.gz (372kb)
    http://gnuftp.ccp14.ac.uk/gnu/bison/bison-1.75.tar.bz2 (755kb)

    Bitte in der Reihenfolge bauen, da Bison Flex braucht.

    Mein Problem ist nun, daß ich aus Gründen, die ich hier unmöglich vortragen kann, ohne gege <faq/#Q-04> Absatz 2 Punkt 4 Attribut 2 und 3, warum ich die Suse CD's nicht mehr habe, das ist als gegeben hinzunehmen.

    ;-)

    Meine Frage: Kann ich mir diese Pakete auch im Internet runterladen?

    Also normalerweise wäre ja Google ein guter erster  Anlaufpunkt gewesen ;-)

    so short

    Christoph Zurnieden

    1. Hallo,

      ...hier die Quellen:

      http://gnuftp.ccp14.ac.uk/gnu/flex/flex-2.5.4a.tar.gz (372kb)
      http://gnuftp.ccp14.ac.uk/gnu/bison/bison-1.75.tar.bz2 (755kb)

      Bitte in der Reihenfolge bauen, da Bison Flex braucht.

      Vielen Dank, das Compilieren der beiden tools hat geklappt (keine Fehlermeldung ist auch eine Meldung;) aber beim compilieren von PHP klappt es immer noch nicht. Muß ich da noch irgendwas irgendwo eintragen ("Die Installation war erfolgreich, sie müssen Ihr System neu starten!":-(). Das sind jetzt meine ersten compilierungsversuche...

      Heizer

      1. Hallo Heizer,

        aber beim compilieren von PHP klappt es immer noch nicht.

        findet er die Tools nicht oder anderes Problem ?

        Muß ich da noch irgendwas irgendwo eintragen ("Die Installation war erfolgreich, sie müssen Ihr System neu starten!":-().

        Das geilste an Linux ist, dass Du eigentlich nie neu starten musst, spart ne Menge Zeit, hast Du make install ausgeführt ? Kannst Du die Tools an der Kommandozeile aufrufen ? Wenn nein, hast Du root Rechte ?

        Gruss

        Marko

        1. Hallo Heizer,

          aber beim compilieren von PHP klappt es immer noch nicht.

          findet er die Tools nicht oder anderes Problem ?

          Es ist das gleiche Problem wie zuvor: der ./configure gibt zuerst

          warníng: you will need bison if you want to regenerate the PHP parser

          und dann kurz darunter

          checking lex output file root... ./configure: lex: command not found

          Muß ich da noch irgendwas irgendwo eintragen ("Die Installation war erfolgreich, sie müssen Ihr System neu starten!":-().

          Das geilste an Linux ist, dass Du eigentlich nie neu starten musst, spart ne Menge Zeit,

          Ich weiß, sollte nur eine anspielung auf hier ungenanntes OS sein. Aber manchmal muß man ja auch unter Linux einzelne [demons|Dienste] neu starten (z.B. Apache oder wwwoffle). Ich dachte, das nach dem compilieren von flex und bison irgendetwas diese tools registrieren müsste, so daß sie dann später als vorhanden erkannt werden.

          Aber ich denke, daß ich sie eher in einen falschen Pfad installiert habe. Weiß jemand, wo die bei Suse 7.2 standartmäßig hingehören? ich habe - in ermangelung besseren Wissens - einfach die Standartpfade der beiden Tools verwendet - und mich erst später daran erinnert, das bei Suse 7.2 ja nichts auf den standartpfaden liegt. Aber das Hilft mir nicht, denn ich weiß ja nicht, wohin!

          hast Du make install ausgeführt ? Kannst Du die Tools an der Kommandozeile aufrufen ? Wenn nein, hast Du root Rechte ?

          ja, jein, eben!

          1. Ich habe make install ausgeführt
          2. Das ist ein Interessanter vorschlag: Wenn ich sie als normaler User angebe, dann kommt etwas (bison: keine Grammatik-datei angegeben bzw. bei flex einfach eine Leere zeile ohne shell) das bedeutet, das die Tools angesprochen wreden können.
               ABER: Als root kommt in beiden Fällen: command not found! Das könnte ein Schritt in die richtige Richtung sein, wenn ich nur wüßte, wo ich jetzt meinen Fuß hinsetzen muß :-(

          vielen Dank für die Anregung
          in Hoffnung auf weitere Hilfe

          Heizer

          1. Hallo,

            aber beim compilieren von PHP klappt es immer noch nicht.

            findet er die Tools nicht oder anderes Problem ?

            Es ist das gleiche Problem wie zuvor: der ./configure gibt zuerst

            warníng: you will need bison if you want to regenerate the PHP parser

            und dann kurz darunter

            checking lex output file root... ./configure: lex: command not found

            Ist wahrscheinlich im Cache, lösche mal die Datei config.cache und laß dann nochmal configure laufen. SChau auch mal in die Ausgabe von './configure --help' vielleicht mußt Du flex explizit angeben (unwahrscheinlich, aber man weiß ja nie ;-)

            Wenn das mit dem Löschen der config.cache nicht funktioniert, lösche den ganzen Quellbaum und packe nochmal frisch aus. Autoiconf ist nicht einfach, man sieht da manchmal Sachen sag' ich Dir! ;-)

            Aber ich denke, daß ich sie eher in einen falschen Pfad installiert habe. Weiß jemand, wo die bei Suse 7.2 standartmäßig hingehören? ich habe - in ermangelung besseren Wissens - einfach die Standartpfade der beiden Tools verwendet - und mich erst später daran erinnert, das bei Suse 7.2 ja nichts auf den standartpfaden liegt. Aber das Hilft mir nicht, denn ich weiß ja nicht, wohin!

            'make install wieß wohin und die normalen configure Scripte suchen auch genau da.

            hast Du make install ausgeführt ? Kannst Du die Tools an der Kommandozeile aufrufen ? Wenn nein, hast Du root Rechte ?

            ja, jein, eben!

            1. Ich habe make install ausgeführt
            2. Das ist ein Interessanter vorschlag: Wenn ich sie als normaler User angebe, dann kommt etwas (bison: keine Grammatik-datei angegeben bzw. bei flex einfach eine Leere zeile ohne shell) das bedeutet, das die Tools angesprochen wreden können.
                 ABER: Als root kommt in beiden Fällen: command not found! Das könnte ein Schritt in die richtige Richtung sein, wenn ich nur wüßte, wo ich jetzt meinen Fuß hinsetzen muß :-(

            Dann hast Du wahrscheinlich 'make install' nicht als root ausgeführt, oder eine extrem strikte Sciherheitspolicy des Users 0. Letzteres sehr unwahrscheinlich, daher wohl ersteres ;-)

            Mach doch mal nach dem Bau von Flex und Bison jeweils ein

            $ su -c 'make install'

            Da müßtest Du nach dem Root-Passwort gefragt werden und dann müßte das Installscript abrödeln und danach auch jeder Zugriff auf die Programme haben. (Bitte die Anführungszeichen im Kommando beachten!)
            'su -c 'kommando mit Optionen'' bedeutet:
            'su' ist das Programm zum Ändern des Users.
            '-c' ist die Option "command" und erwartet ein Kommando als Argument
            '' kommando mit Optionen'' ist eben das Kommando. Wenn dieses Kommando noch Optionen hat, muß das ganze in Anführungszeichen.
            'su' erwartet normalerweise noch den User, nur wenn da keiner steht, wird als User root angenommen.

            so short

            Christoph Zurnieden

            1. Hi

              Ist wahrscheinlich im Cache, lösche mal die Datei config.cache und laß dann nochmal configure laufen. SChau auch mal in die Ausgabe von './configure --help' vielleicht mußt Du flex explizit angeben (unwahrscheinlich, aber man weiß ja nie ;-)

              Hilf nicht

              Dann hast Du wahrscheinlich 'make install' nicht als root ausgeführt, oder eine extrem strikte Sciherheitspolicy des Users 0. Letzteres sehr unwahrscheinlich, daher wohl ersteres ;-)

              Mach doch mal nach dem Bau von Flex und Bison jeweils ein

              $ su -c 'make install'

              Offenbar kann ich den ./configure nur als user, nicht als root aufrufen... egal als welcher user ich vorher bei flex und bison make und make install aufgerufen habe
              Jetzt scheint es aber zu gehen, habe noch ein paar andere Fehlermeldung (curl scheint nicht vorhanden, obwohl ich alle parameter für ./configure aus der phpinfo() datei abgeschrieben habe?), aber ich glaube, jetzt komme ich zurecht. Vielen Dank an euch beide!

              Gruß

              Heizer

              1. Hallo,

                Ist wahrscheinlich im Cache, lösche mal die Datei config.cache und laß dann nochmal configure laufen. SChau auch mal in die Ausgabe von './configure --help' vielleicht mußt Du flex explizit angeben (unwahrscheinlich, aber man weiß ja nie ;-)

                Hilf nicht

                Fehlermeldungen bitte.

                Dann hast Du wahrscheinlich 'make install' nicht als root ausgeführt, oder eine extrem strikte Sciherheitspolicy des Users 0. Letzteres sehr unwahrscheinlich, daher wohl ersteres ;-)

                Mach doch mal nach dem Bau von Flex und Bison jeweils ein

                $ su -c 'make install'

                Offenbar kann ich den ./configure nur als user, nicht als root aufrufen... egal als welcher user ich vorher bei flex und bison make und make install aufgerufen habe

                Ah, nein, das geht nicht, das ist schon richtig so. Das darf root nur in seinem eigenem Homeverzeichnis (/root). Das läßt sich zwar abstellen, aber laß es lieber so, ist keine schlechte Sicherheitseinstellung. Das gilt eh meist nur für Scripte. Ein 'make install' kannst Du nach oben angegebener Methode ausführen.
                Wenn das auch nicht geht, mußt Du den ganzen Schisselamäng halt in's Rootverzeichnis verschieben.

                Achso: das ./configure und das 'make' kannst Du selbstverständlich als normaler User ausführen, nud das 'make install' als root. Würde mich wundern, wenn da jetzt immer noch nicht klappt.

                Jetzt scheint es aber zu gehen, habe noch ein paar andere Fehlermeldung (curl scheint nicht vorhanden, obwohl ich alle parameter für ./configure aus der phpinfo() datei abgeschrieben habe?),

                Da fehlen wahrscheinlich die Header von Curl. Zur Not besorgst Du Dir ein neues Curl (ist nicht sehr groß) und installierst das.

                aber ich glaube, jetzt komme ich zurecht. Vielen Dank an euch beide!

                Klappt's jetzt? ;-)

                so short

                Christoph Zurnieden

          2. Hallo Heizer,

            vorab: ich bin auch (noch) nicht so Linux wissend, also alles ohne Garantie. ICh hab gerade mal bei mir geschaut, da liegen die beiden in /usr/bin/ das ist das normale Verzeichnis für benutzerkomamndos, ( /usr/sbin/ sind Superuserkommandos), schau doch mal wo Sie bei Dir liegen.
            So anders ist SUse glaube ich garnicht von den Verzeichnsstrukturen, Standardeinstellung sollte gewöhnlcih gehen, wie Du es schilderst deutet es aber darauf hin, dass die Kommandos vielleicht einfach in Deinem Home Verzeichnis liegen.
            Kopieren nach /usr/bin/ sollte dann eigentlich reichen.Das wird dann automatisch gefunden.

            Gruss

            Marko

            1. Das ist ein Interessanter vorschlag: Wenn ich sie als normaler User angebe, dann kommt etwas (bison: keine Grammatik-datei angegeben bzw. bei flex einfach eine Leere zeile ohne shell) das bedeutet, das die Tools angesprochen wreden können.
                 ABER: Als root kommt in beiden Fällen: command not found! Das könnte ein Schritt in die richtige Richtung sein, wenn ich nur wüßte, wo ich jetzt meinen Fuß hinsetzen muß :-(

            vielen Dank für die Anregung
            in Hoffnung auf weitere Hilfe

            Heizer