php5 paket mit der build-in GDlib installieren

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

php5 paket mit der build-in GDlib installieren

Beitrag von ali » 21.08.2007 18:07:05

hi leute, ich stehe wiedermal vor einem problem, diesmal scheints etwas kniffliger zu sein. also zur vorgeschichte ist zusagen, ich hab debian etch, und versuche die von php mitgelieferte gdlib zu installieren. (nicht das php5-gd, denn dort fehlen einige funktionen) wenn man php selbst backt, setzt man den schalter --with-gd an die configure anweisung.

da ich aber gerne die pakete installieren würde, und sowieso gmp mitinstallieren muss, hab ich versucht, php5-common paket einfach abzuändern (tue ich sowieso, um den schalter --with-gmp drannzuhängen) und zwar nach dieser anleitung:
http://wiki.debianforum.de/AngepasstePa ... nErstellen

ich dachte mir, ich mach das genauso auch mit der gdlib, deinstalliere vorher php5-gd, dann sourcen ziehen, rules datei abändern, also die beiden schalter --with-gd und --with-gmp drannhängen, und neucompilieren.

nach einiger zeit sind die packs fertig. in dem oberordner sind dann folgende dateien drinne:

Code: Alles auswählen

-rw-r--r--  1 root root 2520324 2007-08-21 17:22 libapache2-mod-php5_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root 2598734 2007-08-21 17:22 libapache-mod-php5_5.2.0-8+etch7_amd64.deb
drwxr-xr-x 20 root root    4096 2007-08-21 17:22 php5-5.2.0
-rw-r--r--  1 root root    1040 2007-08-21 17:23 php5_5.2.0-8+etch7_all.deb
-rw-r--r--  1 root root    4602 2007-08-21 17:23 php5_5.2.0-8+etch7_amd64.changes
-rw-r--r--  1 root root  117413 2007-08-21 17:02 php5_5.2.0-8+etch7.diff.gz
-rw-r--r--  1 root root    1739 2007-08-21 17:02 php5_5.2.0-8+etch7.dsc
-rw-r--r--  1 root root 8583491 2007-04-29 13:10 php5_5.2.0.orig.tar.gz
-rw-r--r--  1 root root 5038360 2007-08-21 17:22 php5-cgi_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root 2540560 2007-08-21 17:22 php5-cli_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root  217454 2007-08-21 17:22 php5-common_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   24968 2007-08-21 17:22 php5-curl_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root  341584 2007-08-21 17:22 php5-dev_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   37030 2007-08-21 17:23 php5-gd_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   36678 2007-08-21 17:23 php5-imap_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   46740 2007-08-21 17:23 php5-interbase_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   18654 2007-08-21 17:23 php5-ldap_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   13480 2007-08-21 17:23 php5-mcrypt_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root    5254 2007-08-21 17:23 php5-mhash_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   71746 2007-08-21 17:23 php5-mysql_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   36392 2007-08-21 17:23 php5-odbc_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   54146 2007-08-21 17:23 php5-pgsql_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root    9398 2007-08-21 17:23 php5-pspell_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root    4894 2007-08-21 17:23 php5-recode_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   12046 2007-08-21 17:23 php5-snmp_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   38422 2007-08-21 17:23 php5-sqlite_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   19424 2007-08-21 17:23 php5-sybase_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   17554 2007-08-21 17:23 php5-tidy_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   39150 2007-08-21 17:23 php5-xmlrpc_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root   13016 2007-08-21 17:23 php5-xsl_5.2.0-8+etch7_amd64.deb
-rw-r--r--  1 root root  306930 2007-08-21 17:23 php-pear_5.2.0-8+etch7_all.deb
seltsamerweise ist hier wieder das gd-pack kompiliert worden, keine ahnung wieso, hab es ja vorher deinstalliert mit remove --purge...

dann habich noch dpkg -i php5_5.2.0-8+etch7_all.deb php5-common_5.2.0-8+etch7_amd64.deb abgefeuert, und apache neugestartet.

phpinfo sagt nun, das die gmp libs korrekt installiert sind, die gd-lib allerdings fehlt! dann hab ich versucht, die generierte gd-lib aus dem ordner auch noch zu installieren, aber diese scheint nicht die von php mitgebrachte zu sein, denn dort fehlen einige funktionen wie zb imagerotate, die ich eigentlich brauche... meine scripts laufen nicht, weil genau diese und andere funktionen der mitgelieferten gd-lib nicht verfügbar sind!

war mein ansatz falsch? hab ich irgendwo ein fehler gemacht? bitte helft mir :)

danke

daniel74
Beiträge: 1755
Registriert: 27.05.2007 14:11:37
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von daniel74 » 22.08.2007 14:26:11

Hmm, also wenn es speziell um die Rotate-Funktion geht, dann schau' mal hier nach:

https://bugs.launchpad.net/ubuntu/+sour ... +bug/74647
http://www.libgd.org/FAQ_PHP#How_do_I_g ... ith_PHP.3F

Es scheint da wohl einige Probleme mit den versch. GD- Versionen zu geben; vielleicht hilft dir das ein wenig weiter.

Daniel

ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

Beitrag von ali » 22.08.2007 15:51:19

jo danke, das is mir schon bekannt, das die von php integrierte gd version eine erweiterte version ist. darum möchte ich die ja auch nutzen! bringen mich nicht weiter die links aber danke trotzdem.

ich verstehe halt nicht, wieso die gdlib nich installiert wird, wenn ich --with-gd doch angebe....

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Simmel » 22.08.2007 15:54:58

ali hat geschrieben:jo danke, das is mir schon bekannt, das die von php integrierte gd version eine erweiterte version ist. darum möchte ich die ja auch nutzen! bringen mich nicht weiter die links aber danke trotzdem.

ich verstehe halt nicht, wieso die gdlib nich installiert wird, wenn ich --with-gd doch angebe....
Hmh, versuch es mal mit

Code: Alles auswählen

apt-get install php5-gd
Hilft dir das weiter?


Greetz,
Simmel
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

Beitrag von ali » 22.08.2007 16:28:28

nein, weil dieses package nicht das von php mitgelieferte ist => es fehlen einige funktionen die ich benötige... das is das problem :(

ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

Beitrag von ali » 22.08.2007 16:54:02

könnte es klappen, wenn ich die gd.so von nem anderen server hole und einbinde? von einem, wo die phpeigene gdlib kompiliert wurde? php5.2.0 amd 64bit version, hat jemand auf so einem system die gdlib installiert?

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Simmel » 23.08.2007 00:37:24

ali hat geschrieben:nein, weil dieses package nicht das von php mitgelieferte ist => es fehlen einige funktionen die ich benötige... das is das problem :(
Ah sorry, zu schnell gelesen :oops:

Liegt das an der Version, also sit das Paket einfach zu alt, oder was ist an diesem Debian Paket anders. Wenn es nur an der Version liegt, also zu alt, da würde ich es mit einem APT-Pinning versuchen und die neueren Versionen aus testing oder gar unstable versuchen.

Das Schöne am Pinning ist, das der Rest des Systems stable bleiben kann, okay zugegeben nicht immer, aber meistens, es ist allerdings nicht ganz ungefährlich, je nach Paket-Abhängigkeiten, ich ahbe aber selbst meist gute Erfahrungen damit gemacht. Alternativ würde ich dir sonst empfehlen den Xampp zu nehmen und die Debian-Pakete komplett zu deinstallieren, dort werden jeweils die neuesten Versionen genommen, allerdings ist das Handling und auch die Zusatzpakete selbstredend nicht wirklich Debian-konform.

Mal so zur Anregung,
Simmel
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

Beitrag von ali » 23.08.2007 00:58:38

nein, es gibt zwei GD versionen, die standalone, quasi die orginalen von den GD entwicklern (wird nicht nur für php angeboten) und die von php mitgelieferte, angepasste gd version ("bundled"), diese hat noch zusätzliche funktionen. ich schätze die in php integrierte GD version ist von den php entwicklern selbst angepasst worden.

und naja, ich bräuchte die von php mitgelieferte, das pack php5-gd beinhaltet aber die orginale... ist also keine zu alte version, die version is schlicht eine andere... :(

utopia
Beiträge: 12
Registriert: 17.04.2007 10:47:51

Beitrag von utopia » 27.08.2007 00:58:06

Hallo,

hast du mittlerweile eine lösung für dieses problem gefunden? Ich habe nämlich das selbe problem wie Du. Ebenso habe ich versucht das paket neu zu erstellen, indem ich die kompilierungsparameter ändere, aber das hat, wie du schon sagtest keine Wirkung gezeigt.

Ich möchte möglichst auf die gesamte eigene kompilierung aus den originalsources verzichten, weil für mich dann die bequemlichkeit des deb-paketmanagments leiden würde. gibt es vielleicht irgendwo einen quelle, bei der man sich ein php mit dem bundled gd laden kann?

Habe via goooogle leider keine brauchbaren informationen gefunden. Ich kann mir nur nicht vorstellen, dass diese imagerotate funktion so selten genutzt wird, dass es da keine sinnvolle lösung gibt.

Kommentare, wie ich sie in anderen Foren fand, man soll doch die bilder manuell drehen, kommen für mich definitiv nicht in frage!!!!!! :roll: Ich lass ja auch nicht die datenbank weg, weil ich mir nen karteikasten auf den schreibtisch stellen kann!
Die Möglichkeit die Pixel selber zu verschieben ist zwar schonmal automatisch, aber noch nicht das wahre.

Danke für eure hilfe

utopia
Beiträge: 12
Registriert: 17.04.2007 10:47:51

Lösung gefunden

Beitrag von utopia » 27.08.2007 03:03:46

Es ist zwar schon spät, aber Ich habe eine Lösung gefunden, bei der es bei mir funktioniert. Und dabei waren ali und ich schon so nah dran:

Quellen erneuern:

Code: Alles auswählen

apt-get update
Verzeichnis wechseln:

Code: Alles auswählen

cd /usr/src
Paketquellen herunterladen:

Code: Alles auswählen

apt-get source libapache2-mod-php5
In das Paketverzeichnis wechseln:

Code: Alles auswählen

cd php5-5.x.x
Kompilieroptionen bearbeiten:

Code: Alles auswählen

vi debian/rules
Ich habe jetzt immer in den zeilen Hinzugefügt --with-gd, das war FALSCH. Denn in der Datei steht irgendwo
"--with-gd=share,/usr" (oder so ähnlich) das muss geändert werden in

Code: Alles auswählen

--with-gd
also alles ab dem Gleichheitszeichen entfernen.

Dann das Paket wieder zusammen bauen mit

Code: Alles auswählen

./debian/rules binary
Dann kommt das lästige warten. Nach x Minuten entstehen dann neue *.deb Dateien im Verzeichnis /usr/src.
In das Verzeichnis wechseln

Code: Alles auswählen

cd /usr/src
Und php-Modul mit bundled gd installieren mit:

Code: Alles auswählen

dpkg -i libapache2-mod-php5*.deb
Ein bischen warten und ggf. noch die php-Module in apache2/mod-enabled aktivieren und bei phpinfo() erscheint
gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.2.1
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
Hoffe, dass es bei Euch auch funktioniert.

CU

ali
Beiträge: 50
Registriert: 26.06.2007 09:37:30

Beitrag von ali » 27.08.2007 15:29:54

moin,

unfassbar, es hat geklappt :D hab das thema schon abgehakt und schon erste versuche mit imagemagick unternommen... kann ich jetze nun auch seinlassen. hätte mir die rules datei wohl genauer ansehen müssen *schäm*

naja jetz weiß ich wenigstens, woran das gelegen hat, und nun hat auch wieder alles einen sinn und ist auch erklärbar!

vielen dank

achja, und dies ist momentan die einzige anleitung im gesammten internet, wie man ne bundled gd-lib installiert, mit veränderten paketen natürlich :)

bye

utopia
Beiträge: 12
Registriert: 17.04.2007 10:47:51

Freut mich, dass es auch bei dir klappt

Beitrag von utopia » 28.08.2007 11:34:58

Hi,

freut mich, dass es auch bei dir klappt. Hab es nämlich nur auf einem system getestet und wusste nich genau ob es daran lag, weil ich vorher - wie das immer so ist - ne ganze menge dinge gebastelt habe.

Na dann kann man ja nur hoffen, dass diese Anleitung - gerade wenn es die einzige ist - bei google recht weit oben angezeigt wird :)

CU

Antworten