(LINUX) Hilfe beim Programmieren
Heizer
- php
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
Sorry, hab das Thema durcheinander gebrach
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
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
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
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!
vielen Dank für die Anregung
in Hoffnung auf weitere Hilfe
Heizer
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!
- Ich habe make install ausgeführt
- 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
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
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
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
- 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