ubuntuusers.de

PHP mit gmp kompilieren

Status: Gelöst | Ubuntu-Version: Kubuntu 7.10 (Gutsy Gibbon)
Antworten |

Patrick2807

Anmeldungsdatum:
18. Oktober 2007

Beiträge: 59

Hallo,

ich möchte auf meinem Apache2 Webserver php mit der gmp libary (http://gmplib.org/)nutzen. Dafür muss ich php mit gmp kompilieren. Da ich mich damit noch nicht so gut auskenne bräuchte ich Hilfe.
(1) Welche Parameter brauche ich denn bei dem ./configure Befehl wenn ich php einfach nur im Apache und mit mysql nutzen will und sonst keine besonderen Dinge benötige? Hab da leider keine mir verständlichen Beispiele im Netz gefunden.

(2) --with-gmp Ist der Parameter für gmp so ausreichend, oder muss ich noch den Pfad zur libary hinzufügen?

(3) Wie kann ich PHP nun im Apache eintragen? Geht das mit 'sudo a2enmod Paketname' (mit checkinstall erstellt)?

Ich hoffe ihr könnt mir helfen und mich korrigieren bei irgendwelchen Irrtümern. Danke

Gruß Patrick

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

Ich würde erstmal das Paket php5-gmp aus den Hardy-Repos probieren.
//edit: ach nein, das wird nicht funktionieren. Die Abhängigkeiten sind zu neu.

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

So, ich habe nochmal etwas genauer nachgeschaut. Debian, und damit auch Ubuntu, hat ein ausgefeiltes System, um Pakete selbst zu bauen. Bitte installiere mal das Paket apt-build. Dann führe als root

apt-build source php5


aus. Dann poste bitte den Inhalt der Datei /var/cache/apt-build/build/php5-<versionsnummer>/debian/rules in den Pastebin. Diese Datei enthält die zum konfigurieren verwendeten Optionen. Wenn man da das richtige einträgt, so entsteht am Ende ein komplettes Debian-Paket. Ich habe hier leider ein Debian Sid laufen, weswegen ich das jetzt nicht selber machen kann.

Patrick2807

(Themenstarter)

Anmeldungsdatum:
18. Oktober 2007

Beiträge: 59

durch diesen Vorgang finde ich dann die Parameter heraus die ich für configure brauche?

hier der Inhalt der Datei: http://ubuntuusers.de/paste/33164/

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

Ja, also ab Zeile 67 siehst Du ja die ganzen Konfigurationsoptionen für PHP. Schreib da einfach mal ein --with-gmp dazu (es muss ein Backslash ganz ans Ende der Zeile! Keine Leerzeichen dahinter!). Dann installiere noch libgmp3-dev und baue das Paket mit apt-build install php5.

Patrick2807

(Themenstarter)

Anmeldungsdatum:
18. Oktober 2007

Beiträge: 59

das apt-build ersetzt dann das checkinstall oder an welcher stelle muss ich das benutzen?
und brauche ich die libgmp3-dev wenn ich gmp bereits selber compiliert habe als paket gmp?

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

Du sollst einfach nur die von mir genannte Datei so verändern, wie ich es Dir gesagt habe und dann auf einer Konsole als root

apt-build install php5 


ausführen. Das wird Dir (hoffentlich) vollautomatisch ein komplettes Ubuntu-Paket von php5 mit allem drum und dran erzeugen und installieren. Bequemer geht's nicht. Mit apt-build musst Du einfach nur

apt-build source <paketname>


ausführen, evtl. Konfigurationsdateien modifizieren und dann mit

apt-build install <paketname>


das Paket bauen und installieren. _ALLES_ andere - sourcen runterladen, entpacken, configure-Script ausführen usw. usf. erledigt apt-build.

Patrick2807 hat geschrieben:

und brauche ich die libgmp3-dev wenn ich gmp bereits selber compiliert habe als paket gmp?

Wahrscheinlich nicht. Aber es ist keine besonders schlaue Idee, Pakete selber zu bauen, die in einer tauglichen Version bereits in Ubuntu enthalten sind.

Patrick2807

(Themenstarter)

Anmeldungsdatum:
18. Oktober 2007

Beiträge: 59

ok macht Sinn, ich hab die libgmp3-dev installiert.

Leider kommt bei sudo apt-build install php5 folgende Fehlermeldung: http://ubuntuusers.de/paste/33181/

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

Merkwürdig, ich dachte, dass apt-build die build-dependencies automatisch holt. Macht aber nix.

apt-get build-dep php5


und das Problem ist gelöst.

//edit: das nächste mal les ich die Fehlermeldung richtig... Du bist da auf einen Bug in apt-build gestoßen (Debian-Bug 359826).

Das Problem sollte sich durch Installation von libsnmp-dev lösen lassen.

Patrick2807

(Themenstarter)

Anmeldungsdatum:
18. Oktober 2007

Beiträge: 59

Bei

apt-get build-dep php5


hat er wegen einer Fehlermeldung nichts installiert. Ich hab dann die Pakete die er aufgelistet hat einfach per apt-get install installiert.

Damit hat dann

sudo apt-build install php5


funktioniert und er hat das Paket erstellt und installiert.

Wenn ich jetzt den apache neustarten möchte kommt diese Fehlermeldung:

apache2: Syntax error on line 183 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory
...fail!

Hängt das nun mit dem Bug zusammen oder was is da schiefgelaufen? Im Grunde scheint sich der Bug nicht bemerkbar gemacht zu haben.

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

Wird das PHP-Modul in ein anderes Verzeichnis installiert? Was sagt denn dpkg -L php5? Und wird mit apt-build install php5 überhaupt das Apachemodul mitinstalliert oder muss libapache2-mod-php5 noch nachträglich installiert werden?

Gruß
Christian

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

xabbuh hat geschrieben:

Wird das PHP-Modul in ein anderes Verzeichnis installiert?

Das halte ich für ausgeschlossen. Wenn man nicht irgendwas explizit ändert, dann sollte apt-build genau das gleiche Paket erzeugen wie das, das im Repo liegt.

Ich denke mal, ein

apt-build install libapache2-mod-php5


sollte helfen. Ich hab den ganzen apt-build-Kram aber auch noch nie gemacht 😀

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

Hello World hat geschrieben:

xabbuh hat geschrieben:

Wird das PHP-Modul in ein anderes Verzeichnis installiert?

Das halte ich für ausgeschlossen. Wenn man nicht irgendwas explizit ändert, dann sollte apt-build genau das gleiche Paket erzeugen wie das, das im Repo liegt.

Stimmt eigentlich...

Hello World hat geschrieben:

Ich denke mal, ein

apt-build install libapache2-mod-php5


sollte helfen. Ich hab den ganzen apt-build-Kram aber auch noch nie gemacht 😀

Ich frage mich allerdings gerade, wo dann die Dateien php5.conf und php5.load herkommen. Die stecken ja schließlich im Paket libapache2-mod-php5. War das vorher schon mal installiert?

Hello_World

Anmeldungsdatum:
13. Juni 2006

Beiträge: 3620

xabbuh hat geschrieben:

Ich frage mich allerdings gerade, wo dann die Dateien php5.conf und php5.load herkommen.

Ist es nicht so, dass Konfigurationsdateien erhalten bleiben, wenn man das Paket nicht explizit purged? Es erscheint ja nur logisch, dass Patrick2807 erstmal die Pakete aus den Repos probiert hat.

Patrick2807

(Themenstarter)

Anmeldungsdatum:
18. Oktober 2007

Beiträge: 59

richtig. Ich hab zuerst die Pakete aus den Repos installiert und danach ohne purge deinstallert. Vielleicht hätte ich das tun sollen. Ich hab während des Kompiliervorgangs meines wissen gesehen dass dieses libapache2-mod-php5 installiert wurde. Leider bin ich nun nichtmehr an meinem Rechner und kann es überprüfen. Ich werd deswegen morgen mit dem ganzen weitermachen.

Antworten |