freetype2 nachträglich ändern

Apache, Lighttpd, nginx, Cherokee
Post Reply
maku
Posts: 58
Joined: 2003-03-26 15:14
Location: Köln
 

freetype2 nachträglich ändern

Post by maku »

Hallo,

ich habe folgendes Problem:

Bislang habe ich meine LAMPs sozusagen immer selber kompiliert. Jetzt muss ich allerdings diese von SuSE "out-of-the-box" nehmen. Also nix mehr selber kompilieren.

Das lief unter SuSE 10.1 bislang auch alles recht gut, bis ich nun mit Typo3 ein (scheinbares) Problem mit freetype2 bekommen habe. Ich habe in einem anderen (Typo-)Forum einen Beitrag gefunden, wo geschrieben wird, dass der Fehler behoben ist, wenn man statt der mit SuSE 10.1 ausgelieferten freetype2-2.1.10 die aktuelle 2.2.1 nimmt.

Das Problem liegt darin, dass ich nichts selber kompilieren möchte (dann wäre das Problem eher schnell behoben), sondern eher mit den rpms agieren muss. Und mit deren Einsatz kenne ich mich nicht so gut aus.

Ich finde allerdings kein rpm der aktuellen freetype2 2.2.1 Version. http://www.freetype.org bietet dazu keins an. Quellen zum selber bauen ja. rpmseek.com bietet lediglich die 2.1.9er Variante.

Nun meine Frage: Hat zufällig irgendjemand eine Idee, wie ich mein Problem lösen könnte?

Unterbau: SuSE 10.1, apache2-prefork, php 5.1.2, mysql 5.0.18

Da ich nicht genau weiß, wie sich diese vorgefertigten Pakete updaten, hat leider auch ein downgrade (per rpm) von freetype2 nicht funktioniert. Irgendwie realisert apache/php nicht (per phpinfo), dass sich die Version geändert hat.

Kann mir vielleciht jemand helfen?

Danke und Grüße,

Mark
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
Contact:
 

Re: freetype2 nachträglich ändern

Post by daemotron »

Wenn mich nicht alles täuscht dürfte es kaum genügen, nur die neuen gd-Libraries zu installieren. PHP muss auch gegen diese libs compiliert und gelinkt werden, und das ist bei den SUSE-RPMs ja nicht der Fall (=> Nachteil einer Distribution, die auf Binary-Paketen basiert 8) )
maku
Posts: 58
Joined: 2003-03-26 15:14
Location: Köln
 

Re: freetype2 nachträglich ändern

Post by maku »

Genau diese Befürchtung habe ich ja. Aber wie genau funzt das denn dann bei der SuSE Distri, wenn die im Laufe der Zeit upgrades bei den rpms machen? Die müssen doch auch die libs irgendwie neu linken, oder?

Muss ich denn tatsächlich, nur um freetype upzugraden, komplett php eigenhändig neu kompilieren? Ich bekomme dann nämlich ein Problem mit apxs2 . Das soll es dann angeblich nicht geben, obwohl ich es aus phpinfo der SuSE bianries rauskopiert habe. Ich verzweifel langsam ...
maku
Posts: 58
Joined: 2003-03-26 15:14
Location: Köln
 

Re: freetype2 nachträglich ändern

Post by maku »

Hat vielleicht irgend jemand eine Idee oder einen Hinweis? Mir wäre auch schon mit einem "geht nicht - keine Chance - Idee ist Müll" geholfen. Dann weiß ich wenigstens wo ich dran bin ;)

Danke,

Mark
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57
 

Re: freetype2 nachträglich ändern

Post by mattiass »

maku wrote:Hat vielleicht irgend jemand eine Idee oder einen Hinweis? Mir wäre auch schon mit einem "geht nicht - keine Chance - Idee ist Müll" geholfen. Dann weiß ich wenigstens wo ich dran bin ;)
Naja, Du lässt Dir mit "rpm" (irgendein -q Parameter) erst mal anzeigen, welche Dateien das alte Freetype installiert hat, das hilft Dir, das Prefix zu ermitteln.

Dann installierst Du "freetype" neu aus Quellen, verwendest aber "checkinstall" um ein Paket zu erstellen.

Die gegen Freetype gelinkten Pakete erstellst Du neu mit "rpm --rebuild" aus den originalen Source-RPMs.

Geine Garantie auf nix! Ich weiss schon, warum ich FreeBSD verwende! Teste die von mir beschriebene Vorgehensweise lieber erstmal in einem "chroot"-Käfig oder in einer Wegwerf-Xen-domU...
blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01
 

Re: freetype2 nachträglich ändern

Post by blnsnoopy26 »

freetype2 wird ja mit php kompiliert.
einfach aus den sourcen selber bauen und dann sollte das Problem aus der Welt sein.
maku
Posts: 58
Joined: 2003-03-26 15:14
Location: Köln
 

Re: freetype2 nachträglich ändern

Post by maku »

Okay, erst mal vielen Dank für die Antwort!
MattiasS wrote:Naja, Du lässt Dir mit "rpm" (irgendein -q Parameter) erst mal anzeigen, welche Dateien das alte Freetype installiert hat, das hilft Dir, das Prefix zu ermitteln.
hmm, hab mit

Code: Select all

rpm -qa --filesbypkg | grep freetype2
die Dateien ermittelt. Das Prefix hab ich nun.
MattiasS wrote:Dann installierst Du "freetype" neu aus Quellen, verwendest aber "checkinstall" um ein Paket zu erstellen.

Die gegen Freetype gelinkten Pakete erstellst Du neu mit "rpm --rebuild" aus den originalen Source-RPMs.
Okay werde ich mal so machen ... aber wie genau bekomme ich denn die "gegen Freetype gelinkten" Pakete heraus? Müsste doch eigtl. nur php sein. Oder hat da auch ImageMagick was mit zu schaffen ...?

@blnsnoopy26:
Selber bauen wäre nicht das Problem, wenn ich es machen dürfte (s.o.)

Danke!

Mark
blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01
 

Re: freetype2 nachträglich ändern

Post by blnsnoopy26 »

Ich weiss warum ich noch mit SuSE 9.3 arbeite, weil für SuSe 10.x gibt es einfach noch viel zu wenig.

:wink:
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57
 

Re: freetype2 nachträglich ändern

Post by mattiass »

maku wrote: Okay werde ich mal so machen ... aber wie genau bekomme ich denn die "gegen Freetype gelinkten" Pakete heraus? Müsste doch eigtl. nur php sein. Oder hat da auch ImageMagick was mit zu schaffen ...?
Relevant dürfte php sein. Um andere Pakete herauszufinden, die gegen Header von Freetype gelinkt sind, kannst Du "ldd" auf allem aufrufen, was irgendwie nach Binary aussieht und das Ergebnis mit "grep" filtern.

Viele Grüße,
Mattias
maku
Posts: 58
Joined: 2003-03-26 15:14
Location: Köln
 

Re: freetype2 nachträglich ändern

Post by maku »

MattiasS wrote:Relevant dürfte php sein. Um andere Pakete herauszufinden, die gegen Header von Freetype gelinkt sind, kannst Du "ldd" auf allem aufrufen, was irgendwie nach Binary aussieht und das Ergebnis mit "grep" filtern.
Hmm, und wie sieht das "irgendwie" bspw. aus bzw. wie sieht exemplarisch eine solche ldd Zeile aus?
mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57
 

Re: freetype2 nachträglich ändern

Post by mattiass »

maku wrote:
MattiasS wrote:Relevant dürfte php sein. Um andere Pakete herauszufinden, die gegen Header von Freetype gelinkt sind, kannst Du "ldd" auf allem aufrufen, was irgendwie nach Binary aussieht und das Ergebnis mit "grep" filtern.
Hmm, und wie sieht das "irgendwie" bspw. aus bzw. wie sieht exemplarisch eine solche ldd Zeile aus?
Auf einer BSD-Kiste:

Code: Select all

$ ldd /usr/local/bin/convert 
/usr/local/bin/convert:
        libMagick.so.10 => /usr/local/lib/libMagick.so.10 (0x28075000)
        libWand.so.10 => /usr/local/lib/libWand.so.10 (0x2838f000)
        libjbig.so.1 => /usr/local/lib/libjbig.so.1 (0x2842a000)
        liblcms.so.1 => /usr/local/lib/liblcms.so.1 (0x28436000)
        libtiff.so.4 => /usr/local/lib/libtiff.so.4 (0x28461000)
        libjasper.so.4 => /usr/local/lib/libjasper.so.4 (0x284af000)
        libjpeg.so.9 => /usr/local/lib/libjpeg.so.9 (0x284f5000)
        libpng.so.5 => /usr/local/lib/libpng.so.5 (0x28512000)
        libfpx.so.1 => /usr/local/lib/libfpx.so.1 (0x28535000)
        libfontconfig.so.1 => /usr/X11R6/lib/libfontconfig.so.1 (0x285cb000)
        libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x285f9000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x2861a000)
        libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x28627000)
        libbz2.so.2 => /usr/lib/libbz2.so.2 (0x28670000)
        libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x2867f000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28796000)
        libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 (0x2888c000)
        libz.so.3 => /lib/libz.so.3 (0x288f0000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x28900000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x28908000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x2891f000)
        libm.so.4 => /lib/libm.so.4 (0x289df000)
        libc.so.6 => /lib/libc.so.6 (0x289f8000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x28ad3000)
Du siehts die Freetype-Zeile?
Post Reply