GD2.0.1 + Freetype 2.0.4 + PHP 4.0.6 Howto

Pagina: 1
Acties:
  • 3.771 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Mark
  • Registratie: Juni 1999
  • Laatst online: 11-09 17:33
Op verzoek hier een mini-Howto (alleen getest door mij op Slackware). In het bold zijn de commando's die je in moet tikken:

Installatie PHP4.0.6 + GD2.0.1 + Freetype 2.0.4

Freetype:

Download Freetype 2.0.4
(wget http://prdownloads.sourceforge.net/freetype/freetype-2.0.4.tar.gz )
Extract de tarball (tar zxvf freetype-2.0.4.tar.gz )
Ga in de freetype source dir staan (cd freetype-2.0.4 )
Laat een Makefile bakken (make setup )
Copileer Freetype (make )
Installeer de libraries, binaries en includes (make install )
Ga terug in je sourcedir (cd .. )
Freetype is nu klaar

GD:

Verwijder eerst oude GD library (in mijn geval is dit 1.8.4). In mijn geval stond deze in /usr/local/lib.
Doe hetzelfde met de binaries (in mijn geval in /usr/local/bin) en ook met de includes (in mijn geval /usr/local/include).
Staan ze bij jou niet in /usr/local/... (... kan zijn bin/lib/include) kun je eens kijken in /usr/... (standaard staan ze hier bij veel distributies).
Als ze daar ook niet staan kun je ook even zoeken d.m.v. een find (find -iname libgd.a op een linux systeem om te zoeken naar libgd.a).

rm /usr/local/lib/libgd.a
rm /usr/local/bin/pngtogd
rm /usr/local/bin/pngtogd2
rm /usr/local/bin/gdtopng
rm /usr/local/bin/gd2topng
rm /usr/local/bin/gd2copypal
rm /usr/local/bin/gdparttopng
rm /usr/local/bin/webpng
rm /usr/local/bin/bdftogd
rm /usr/local/include/gd.h
rm /usr/local/include/gdcache.h
rm /usr/local/include/gd_io.h
rm /usr/local/include/gdfontg.h
rm /usr/local/include/gdfontl.h
rm /usr/local/include/gdfontmb.h
rm /usr/local/include/gdfonts.h
rm /usr/local/include/gdfontt.h
(/usr/local kan dus anders zijn)

Download GD2.0.1 (wget http://www.boutell.com/gd/http/gd-2.0.1.tar.gz )
Extract de tarball (tar zxvf gd-2.0.1.tar.gz )
Ga in de GD source dir staan (cd gd-2.0.1 )

En nu komt het hackwerk:
Controleer waar de freetype includes staan (freetype-config --cflags ) en onthoud deze locatie (In mijn geval was dit: /usr/local/include/freetype2).
Open de makefile van GD (vi makefile of een andere editor zoals joe of pico) en pas de locatie van de Freetype includes aan (regel 33):
In mijn geval verander ik:
INCLUDEDIRS=-I. -I/usr/include/freetype2
in
INCLUDEDIRS=-I. -I/usr/local/include/freetype2
Compileer hierna GD (make install)
Maak de libgd library (make libgd.a )
Ga terug in je sourcedir (cd .. )
GD is nu klaar.

PHP

Download PHP4.0.6 (wget http://php.widexs.nl/do_download.php?download_file=php-4.0.6.tar.gz of een andere mirror)
Extract de tarball (tar zxvf php-4.0.6.tar.gz )
Ga in de PHP sourcedir staan (cd php-4.0.6 )
Configureer PHP met minimaal de volgende switches:
--with-gd --enable-gd-native-tt --with-freetype-dir


In mijn geval komt de configure regel er zo uit te zien (Dit kan bij jou anders zijn !!! Ik draai PHP bijvoorbeeld als module d.m.v. APXS i.p.v. ingebakken in Apache zelf):

configure --enable-safe-mode --with-mysql=/usr/local/mysql --enable-track-vars --enable-ftp --with-gd --enable-gd-native-tt --with-freetype-dir --with-imap --with-png-dir --with-jpeg-dir --with-zlib-dir --with-openssl --with-apxs=/usr/local/apache/bin/apxs

Let er nogmaals op dat je deze minimaal gebruikt:
--with-gd --enable-gd-native-tt --with-freetype-dir
Compileer PHP hierna (make )
Installeer PHP (make install )

Finish !!!

Acties:
  • 0 Henk 'm!

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Ziet er goed uit! Echt perfect. Ik denk dat veel mensen hier wat aan hebben. Voor al de newbies (waar ik ook nog wel es onder val :) ). Bedankt!

"The shell stopped unexpectedly and Explorer.exe was restarted."


Acties:
  • 0 Henk 'm!

Verwijderd

T's wel leuk om er bij te melden dat je apache met Dynamic Shared Object (DSO) Support moet hebben gecompiled. Dus das met de flag --with-apxs

Maar bedankt voor de howto ;)

Acties:
  • 0 Henk 'm!

  • Mark
  • Registratie: Juni 1999
  • Laatst online: 11-09 17:33
Op donderdag 01 november 2001 19:29 schreef XeCtiC het volgende:
T's wel leuk om er bij te melden dat je apache met Dynamic Shared Object (DSO) Support moet hebben gecompiled. Dus das met de flag --with-apxs

Maar bedankt voor de howto ;)
Euuhh, dat heb ik er toch ook staan....de configure die hier staat is voor mijn situatie (dus inderdaad via DSO). Snap soweiso niet waarom mensen static module gebruiken....

Maar dit gaat puur om GD2 + Freetype2. Hier schijnen nogal wat mensen moeite mee te hebben.

Acties:
  • 0 Henk 'm!

Verwijderd

En als het je echt niet lukt met Redroon's Tutorial is er voor de echte weak-ass motherfuckers nog http://www.apachetoolbox.com/ :+

Good luck ;)

Acties:
  • 0 Henk 'm!

  • Mark
  • Registratie: Juni 1999
  • Laatst online: 11-09 17:33
Op donderdag 01 november 2001 23:36 schreef sproggle het volgende:
En als het je echt niet lukt met Redroon's Tutorial is er voor de echte weak-ass motherfuckers nog http://www.apachetoolbox.com/ :+

Good luck ;)
Hey, apachetoolbox r0x wel. Zo kun je tenminste alle sources in 1 keer downen i.p.v. heel het net af te zoeken... :)

Acties:
  • 0 Henk 'm!

Verwijderd

Op vrijdag 02 november 2001 00:31 schreef RedRoon het volgende:

[..]

Hey, apachetoolbox r0x wel. Zo kun je tenminste alle sources in 1 keer downen i.p.v. heel het net af te zoeken... :)
Die staan toch bij iedere hardcore sysadmin in z'n /zooi? :P

Acties:
  • 0 Henk 'm!

  • Hans
  • Registratie: Juni 1999
  • Niet online
Op donderdag 01 november 2001 15:07 schreef RedRoon het volgende:
--with-freetype-dir
--with-png-dir
--with-jpeg-dir
--with-zlib-dir
Die zijn een beetje nutteloos als je daar verder niks achter zet in de zin van --with-png=../libpng-1.2.0 ofzo. Verder een goed verhaal om een hoop veelgestelde vragen te voorkomen!

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 02 november 2001 02:04 schreef Hans het volgende:
Die zijn een beetje nutteloos als je daar verder niks achter zet in de zin van --with-png=../libpng-1.2.0 ofzo. Verder een goed verhaal om een hoop veelgestelde vragen te voorkomen!
Dan pakt ie toch de default directories??
Nahja, ik heb er geloof ik wel de dirs achter staan.

Ik zal, als ik tijd heb, nu niet dus,, de boel in de FAQ verwijzen.

Acties:
  • 0 Henk 'm!

  • Hans
  • Registratie: Juni 1999
  • Niet online
Ik zie net dat ik een foutje heb gemaakt in mn vorige posting. Ik bedoelde als voorbeeld niet '--with-png=../libpng-1.2.0' maar '--with-png-dir=../libpng-1.2.0'

Acties:
  • 0 Henk 'm!

  • Steije
  • Registratie: Juni 2000
  • Laatst online: 17-06 12:59
Op vrijdag 02 november 2001 15:02 schreef Hans het volgende:
Ik zie net dat ik een foutje heb gemaakt in mn vorige posting. Ik bedoelde als voorbeeld niet '--with-png=../libpng-1.2.0' maar '--with-png-dir=../libpng-1.2.0'
Daar kan je dus Afbeeldingslocatie: http://gathering.tweakers.net/i/edit.gif voor gebruiken :)

Some people manage by the book, even though they don't know who wrote the book or even what book.


Acties:
  • 0 Henk 'm!

  • Mark
  • Registratie: Juni 1999
  • Laatst online: 11-09 17:33
Op vrijdag 02 november 2001 08:47 schreef ACM het volgende:

[..]

Dan pakt ie toch de default directories??
Nahja, ik heb er geloof ik wel de dirs achter staan.

Ik zal, als ik tijd heb, nu niet dus,, de boel in de FAQ verwijzen.
Dan kijkt hij inderdaad gewoon in je ld.config om de lib paths te zoeken. Aangezien ik lui ben tik ik er dus niks achter.....Zie: http://sigma.itxl.nl/phpinfo.php

Acties:
  • 0 Henk 'm!

  • Mark
  • Registratie: Juni 1999
  • Laatst online: 11-09 17:33
Op vrijdag 02 november 2001 00:33 schreef sproggle het volgende:

[..]

Die staan toch bij iedere hardcore sysadmin in z'n /zooi? :P
Wat moet jij om mijn servers >:) Zolang je maar uit /troep blijft :)

Acties:
  • 0 Henk 'm!

  • Mark
  • Registratie: Juni 1999
  • Laatst online: 11-09 17:33
(kan een modje dit effe onder mijn eerste posting plakken, ik mag niet meer editten omdat het langer als 24 uur er staat :( )

Toevoeging voor mensen welke te oude (of geen) zlib, libjpeg en/of libpng hebben (installeren in deze volgorde):

Zlib

Download zlib (wget http://www.info-zip.org/pub/infozip/zlib/zlib.tar.gz )
Extract tarball (tar zxvf zlib.tar.gz )
Change directory (cd zlib-1.1.3 )
Start configure (./configure )
Test de installatie (make test )
Compileer en installeer (make install )
Change directory (cd .. )

libpng

Download libpng 1.2.x (wget http://www.libpng.org/pub/png/src/libpng-1.2.0.tar.gz )
Extract tarball (tar zxvf libpng-1.2.0.tar.gz )
Change directory (cd libpng-1.2.0 )
Copieer makefile (cp scripts/makefile.linux makefile Anders bij niet linux)
Test het zooitje (make test ))
Compileer en installeer (make install )

libjpg

Download libjpeg (wget ftp://ftp.nl.uu.net/pub/graphics/jpeg/jpegsrc.v6b.tar.gz )
extract tarball (tar zxvf jpegsrc.v6b.tar.gz )
Change directory (cd jpeg-6b )
Configure (./configure )
Compileer (make )
Test het geheel (make test )
Installeer (make install )

Troubleshooting:

-Error bij starten Apache (libpng not found):

Bij een aantal distro's (waaronder Redhat 6.2 (Thanx jelmervos :) )) moet je je ld.so.conf editen en hier /usr/local/lib toevoegen. Hierna ldconfig draaien om de bindings te leggen.

Acties:
  • 0 Henk 'm!

  • Hans
  • Registratie: Juni 1999
  • Niet online
Op vrijdag 02 november 2001 16:27 schreef RedRoon het volgende:
Dan kijkt hij inderdaad gewoon in je ld.config om de lib paths te zoeken. Aangezien ik lui ben tik ik er dus niks achter.....Zie: http://sigma.itxl.nl/phpinfo.php
Heh, als je lui bent kan je ze net zo goed weglaten :)

Acties:
  • 0 Henk 'm!

Verwijderd

Ik zou het toch wel heeeel tof vinden als iemand instructies zou hebben voor het installeren van dit hele zootje op Windows NT 5.0 met IIS... *D Mijn provider draait onder NT en heeft dit allemaal nog niet geïnstalleerd en ik vroeg ze of ze het wilden doen, maar zij weten het net zo slecht als ik... :o
Zlib

Download zlib (wget http://www.info-zip.org/pub/infozip/zlib/zlib.tar.gz )
Extract tarball (tar zxvf zlib.tar.gz )
Change directory (cd zlib-1.1.3 )
Start configure (./configure )
Test de installatie (make test )
Compileer en installeer (make install )
Change directory (cd .. )

libpng

Download libpng 1.2.x (wget http://www.libpng.org/pub/png/src/libpng-1.2.0.tar.gz )
Extract tarball (tar zxvf libpng-1.2.0.tar.gz )
Change directory (cd libpng-1.2.0 )
Copieer makefile (cp scripts/makefile.linux makefile Anders bij niet linux)
Test het zooitje (make test ))
Compileer en installeer (make install )

libjpg

Download libjpeg (wget ftp://ftp.nl.uu.net/pub/graphics/jpeg/jpegsrc.v6b.tar.gz )
extract tarball (tar zxvf jpegsrc.v6b.tar.gz )
Change directory (cd jpeg-6b )
Configure (./configure )
Compileer (make )
Test het geheel (make test )
Installeer (make install )

Acties:
  • 0 Henk 'm!

  • Mark
  • Registratie: Juni 1999
  • Laatst online: 11-09 17:33
Op zaterdag 03 november 2001 14:51 schreef zheng123 het volgende:
Ik zou het toch wel heeeel tof vinden als iemand instructies zou hebben voor het installeren van dit hele zootje op Windows NT 5.0 met IIS... *D Mijn provider draait onder NT en heeft dit allemaal nog niet geïnstalleerd en ik vroeg ze of ze het wilden doen, maar zij weten het net zo slecht als ik... :o
[..]
Andere hoster zoeken is sneller....

Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Ik draai hier debian 2.2 aardappel, maar na het maken en installeren van jpeglib krijg ik nog steeds fouten dat GD bij make install geen JPEG bestandjes kan vinden :(
Iemand die me kan helpen?

Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Opgelost, ding kon de jpeg lib niet vinden. Opgelost door ff een symlink te maken van libjpeg.so.62 naar libjpeg.so

Acties:
  • 0 Henk 'm!

  • Mark
  • Registratie: Juni 1999
  • Laatst online: 11-09 17:33
Op zaterdag 03 november 2001 16:35 schreef _JGC_ het volgende:
Opgelost, ding kon de jpeg lib niet vinden. Opgelost door ff een symlink te maken van libjpeg.so.62 naar libjpeg.so
Dat is vaag, dan is er iets fout gegaan bij de "make install" van libjpeg. Hierin moet hij ook de symlinks aanmaken.

Acties:
  • 0 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Zo te zien maakte make install hier alleen de utils aan, niet de lib. Gelukkig werkt apt-get ook nog steeds goed :)
Pagina: 1