Kompilera GD och annat för Leopard Server PHP

Tråden skapades och har fått 13 svar. Det senaste inlägget skrevs .
1

Jag har lite problem med att kompilera nya extensions till PHP för Leopard Server. Jag vill helst använda den medföljande installationen men jag behöver:

- GD2
- APC
- Memcache

Jag har hittat denna guide för GD:
http://www.veola.net/macintosh/adding-gd-library-for-mac-os-x-leopard

...men jag vågar inte börja installera om PHP på en produktionsmaskin. Har testat att kompilera både APC och Memcache men PHP vill inte ladda dom med felmeddelandet: "unable to load dynamic library".

Har jag kompilerat fel eller måste jag kompilera om hela PHP för att lägga till modulerna? Någon med ledtrådar?

Jag kan bara svara för GD2 på en Intel 32-bit med OS X klient där de instruktionerna fungerade bra. Löste ett långtgående problem där Drupal inte ville kännas vid andra sätt att installera gd lib.

Jag löste alla problemen inatt!

För att kunna kompilera för 64-bit Leopard på Intelmaskiner (Xserve och Mac Pro) behövs följande sträng:

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" ./configure

Den används alltså efter "phpize" och före "make" & "make install". Om du tycker att det låter komplicerat så kan jag bara hålla med.

Hursomhelst har jag komplierat fram 64-bit versioner av APC, GD och Memcache nu. Om någon är i desperat behov kan ni ju skriva en rad

Här finns en bra guide för kompilering av GD:
http://www.veola.net/macintosh/adding-gd-library-for-mac-os-x-leopard

  • Oregistrerad
  • 2008-04-28 21:40

Intressant att man ska köra BÅDE x86, x64 OCH PPC ?

Ursprungligen av studiox:

Intressant att man ska köra BÅDE x86, x64 OCH PPC ?

Jag testade att köra bara i386 och då fungerar den fint med intel. Kör man x86_64 så kör den också fint men det står "64-bit" intill processen i aktivitetshanteraren. Att köra alla olika arch-taggar innebär väl att den är "Universal"?

  • Medlem
  • Gävle
  • 2008-04-29 13:37

Skulle behöva både GD och LDAP till webservern i 10.5 server. Men jag vet inte om jag har lust att kompilera om hela skiten.. Borde finns ett enklare sätt.

Ursprungligen av Creops:

Skulle behöva både GD och LDAP till webservern i 10.5 server. Men jag vet inte om jag har lust att kompilera om hela skiten.. Borde finns ett enklare sätt.

Kör du på en ny Xserve/MacPro - dvs 64-bit? Om inte kan du väl bara köra Entropy PHP?

  • Medlem
  • Gävle
  • 2008-04-29 14:08

Gammal 2x2G5a, har Entropy LDAP i sej från början? Kanske värt att titta närmare på.

Det jag blir lite irriterad på är att Apple gör det lite för enkelt, som tex med "Web modules".
Där kan man stänga av & på dom, men bara dom som redan finns. Och det är inte många. Att lägga in en ny är i princip omöjligt, jag har inte lyckats iaf.

Ursprungligen av Creops:

Gammal 2x2G5a, har Entropy LDAP i sej från början? Kanske värt att titta närmare på.

Det jag blir lite irriterad på är att Apple gör det lite för enkelt, som tex med "Web modules".
Där kan man stänga av & på dom, men bara dom som redan finns. Och det är inte många. Att lägga in en ny är i princip omöjligt, jag har inte lyckats iaf.

Skulle vara bra om Apple kunde skapa en SDK för deras web modules, så att andra utvecklare kan lägga till övriga moduler som vi verkligen behöver.

  • Medlem
  • Gävle
  • 2008-04-29 14:30
Ursprungligen av The Real Viking:

Skulle vara bra om Apple kunde skapa en SDK för deras web modules, så att andra utvecklare kan lägga till övriga moduler som vi verkligen behöver.

Word!

  • Medlem
  • Gävle
  • 2008-04-29 16:08

Verkar inte som Entropys PHP är gjort för Leopard?

Ursprungligen av Creops:

Verkar inte som Entropys PHP är gjort för Leopard?

Det finns en beta, testade att installera det på min klient och på en server åt en kund, men den hade inte odbc så det räckte inte åt kunden tyvärr. Har gjort en beskrivning här:
http://www.xoda.se/2008/05/21/battre-php-installation-in-mac-os-x-105-leopard/

Det tog två dagar, men jag lyckade! Yeay me!

Jag hade en massa konstiga problem och det visade sig att det som alltid är bra att läsa innantill i felmeddelanden... Du kan skippa till rubriken lösningen nedan, om du inte har lust att läsa "storyn".

Jag startade nämligen med att ladda hem och installera Apple Developer Tools och dessa har kommit i en nyare version.

Några tabbar jag gjorde när jag följde guiden som länkas till i första inlägget i denna tråd:

1. Jag hade förmodligen en för ny version av Apple Developer Tools.

2. Jag hade Leopard 10.5.4 också lite nyare än vad guiden och de olika filerna verkar ta hänsyn till.

3. Glömde installera X11 SDK.

4. Läste inte mina felmeddelanden ordentligt. Fixen visade sig vara oerhört enkel... Nja, allt man kan är ju enkelt...

5. Provade en massa irrvägar innan jag kom fram till rätt svar (tex provade jag att istället följa guiden i form av PDF-fil hos topicdesk, vilket inte hjälpte av naturliga skäl (förklaras nedan).

Provade även att kombinera de två guiderna då jag såg att de har lite olika kommandon för det krångliga configure-kommandot. Provade även den varianten som Martin använde sig av för att få det att fungera på Intel (vilket jag alltså inte har).

Provade även med nyare versioner av PHP-sourcen 5.2.5 istf 5.2.4.

Provade massa "tips" från kommentarerna.

Inget hjälpte.

Mitt felmeddelande:

Guiden fungerar utan felmeddelanden för mig fram till: (3. Getting and installing the GD Graphics Library extension):

När jag kör kommandot make så forsar det förbu lågt räknat 800 km med text i terminalen och det hela slutar med:

powerpc-apple-darwin9-gcc-4.0.1: /usr/X11/lib/libpng12.0.26.0.dylib: No such file or directory
lipo: can't figure out the architecture type of: /var/tmp//ccuhLcN9.out
make: *** [gd.la] Error 1
nickfury:gd root#

Det där felet (det står ju GCC 4.0.1 i det) fick mig att tro att jag hade både för ny version av Apple Developer Tools, så jag installerade allt möjligt i mappen packages på Developer DVD, inklusive support för 10.3.9, UNIX Development, X11 SDK (igen), GCC 4.0, GCC 4.2 osv. Massa kul helt enkelt!

Sedan insåg jag, och det är sådant som får en att börja med heroin, det är ju en sökväg den inte hittar!

/usr/X11/lib/libpng12.0.26.0.dylib

Så jag öppnade den mappen och den ser ut så här:

Här är hur smart jag är: När jag ser att mappen innehåller alias med olika namn som är versionsnummer, så får det mig att försöka installera mera packages ur Apple Developer Tools och hoppas att jag får in andra alias med andra versionsnummer, alltså rätt versionsnummer!

Men den gubben gick inte...

Lösningen:
Markera det alias som heter libpng12.0.24.0.dylib, högerklicka, välj visa original. Ojdå, det som markeras är en fil som ligger lite längre ner I SAMMA MAPP. Grejt!

Så jag duplicerar libpng12.0.24.0.dylib och döper om aliaset till libpng12.0.26.0.dylib. Börjar om med installationen från punkt 3 i guiden och presto! Det funkade.

Så nu vet ni!

Så nu ser samma mapp ut så här:

Och detta är min belöning:

Två dagar! Och man undrar varför datorerna inte haft någon större effekt på effektiviteten i näringslivet!

Senast redigerat 2008-07-30 22:05

Hur många gånger har jag inte gjort samma sak. Det gäller att läsa sina felmeddelanden för de säger ofta vad som är fel.

1
Bevaka tråden