PHP5 lässtsich nicht mit Gettext kompilieren, Debian GNU/Linux

PHP5 lässtsich nicht mit Gettext kompilieren, Debian GNU/Linux

am 23.09.2004 09:53:26 von Martin Bretschneider

Hallo *,

ich brauche die XML-Funktionalität von PHP5 und auch die gettext-Funktionen
und arbeite hier mit Debian/Unstable. Bisher hatte ich das PHP5-Packet
(php5_5.0.1-1.dotdeb.0_i386.deb) von
http://packages.dotdeb.org/debian/php5/ genutzt, das zwar in in der phpinfo
"GetText Support enabled" sagt, aber davon merkt man nichts. Ich habe einen
simples Beispiel hier ausprobiert und unter
http://www.bretschneidernet.de/tmp/gettext-test.zip (2k) hochgeladen. Wenn
es gehen würde, müsste "Grüzi" und nicht "hello" erscheinen. Naja, dann
habe ich mir php5 selber kompiliert und den Pfad zu den gettext-libs direkt
angegebn, denn bei dem dotdeb-Packet steht bei den "Configure Command" nur
"--with-gettext" ohne Pfad. Beim Selbstkompilieren habe ich den Pfad
übergeben, so dass es so aussieht:

'./configure' '--with-libxml-dir=/usr/lib/' '--with-xsl=/usr/lib/'
'--with-zlib' '--with-gettext=/usr/lib/' '--with-apxs=/usr/bin/apxs'
'--prefix=/opt/bin/php5'

In /usr/lib/ liegt auch IMO genug herum:
mars:/usr/lib# ls libgettext*
libgettextlib-0.12.1.so libgettextpo.a libgettextpo.so.0
libgettextsrc.la libgettextlib.la libgettextpo.la
libgettextpo.so.0.0.0 libgettextsrc.so libgettextlib.so
libgettextpo.so libgettextsrc-0.12.1.so

Der WItz ist aber, wenn ich mir das PHP-Kompilat anschaue

mars:/usr/lib/apache/1.3$ ldd libphp5.so
libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0x401fd000)
libexslt.so.0 => /usr/lib/libexslt.so.0 (0x4022a000)
libz.so.1 => /usr/lib/libz.so.1 (0x4023b000)
libresolv.so.2 => /lib/tls/libresolv.so.2 (0x4024d000)
libm.so.6 => /lib/tls/libm.so.6 (0x4025f000)
libdl.so.2 => /lib/tls/libdl.so.2 (0x40282000)
libnsl.so.1 => /lib/tls/libnsl.so.1 (0x40285000)
libxslt.so.1 => /usr/lib/libxslt.so.1 (0x4029b000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x402cd000)
libc.so.6 => /lib/tls/libc.so.6 (0x403c8000)
libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x40503000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x40550000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40554000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

steht da nichts von gettext, auch nicht bei dem von dotdeb.

Könnt ihr mir helfen und vielleicht mein Test-Zip auspronieren. Ich weiß
nicht, was PHP gegen gettext hat.

Danke schon im Vorraus
--
http://www.bretschneidernet.de OpenPGP-key: 0x4EA52583
(o_ Mark Twain:
(o_ (o_ (o_ //\ Where prejudice exists it
(\)_(\)_(\)_V_/_ always discolors our thoughts.

Re: PHP5 lässt sich nicht mit Gettext kompilieren, Debian GNU/Linux

am 23.09.2004 10:10:00 von Joerg Behrens

Martin Bretschneider wrote:
> Hallo *,
>
> ich brauche die XML-Funktionalität von PHP5 und auch die gettext-Funktionen
> und arbeite hier mit Debian/Unstable. Bisher hatte ich das PHP5-Packet
> (php5_5.0.1-1.dotdeb.0_i386.deb) von
> http://packages.dotdeb.org/debian/php5/ genutzt, das zwar in in der phpinfo
> "GetText Support enabled" sagt, aber davon merkt man nichts. Ich habe einen
> simples Beispiel hier ausprobiert und unter
> http://www.bretschneidernet.de/tmp/gettext-test.zip (2k) hochgeladen. Wenn
> es gehen würde, müsste "Grüzi" und nicht "hello" erscheinen. Naja, dann
> habe ich mir php5 selber kompiliert und den Pfad zu den gettext-libs direkt
> angegebn, denn bei dem dotdeb-Packet steht bei den "Configure Command" nur
> "--with-gettext" ohne Pfad. Beim Selbstkompilieren habe ich den Pfad
> übergeben, so dass es so aussieht:
>
> './configure' '--with-libxml-dir=/usr/lib/' '--with-xsl=/usr/lib/'
> '--with-zlib' '--with-gettext=/usr/lib/' '--with-apxs=/usr/bin/apxs'
> '--prefix=/opt/bin/php5'

Das ist so auch falsch. Es muss heissen ./configure --with-foo=/usr
damit das PHP dann lib und include selber dranhaengen kann um die Sachen
zufinden. Bei neukomipilieren nicht vergesen mit rm config.test den
Cache zu loeschen.

Alterative ist die Exention als shared *.so zu kompilieren. Dazu must du
nicht dein ganzes PHP neumachen.
cd php-5x
cd ext/gettext
phpize
../configure
make && make install

Solltest du mehrere PHP Versionen installiert haben stelle sicher das
das passende phpize genommen wird und dem configure evtl. noch
--with-php-config=/path/to/file mit angeben.

Da kommt dann eine gettext.so hinten raus welche du dann in der php.ini
oder im Script mit dl() laden kannst.

Gruss
Joerg

Re: PHP5 lässtsich nicht mit Gettext kompilieren, Debian GNU/Linux

am 23.09.2004 11:29:28 von Martin Bretschneider

Joerg Behrens wrote:

> Martin Bretschneider wrote:
>> Hallo *,
>>
>> ich brauche die XML-Funktionalität von PHP5 und auch die
>> gettext-Funktionen und arbeite hier mit Debian/Unstable. Bisher hatte ich
>> das PHP5-Packet (php5_5.0.1-1.dotdeb.0_i386.deb) von
>> http://packages.dotdeb.org/debian/php5/ genutzt, das zwar in in der
>> phpinfo "GetText Support enabled" sagt, aber davon merkt man nichts. Ich
>> habe einen simples Beispiel hier ausprobiert und unter
>> http://www.bretschneidernet.de/tmp/gettext-test.zip (2k) hochgeladen.
>> Wenn es gehen würde, müsste "Grüzi" und nicht "hello" erscheinen. Naja,
>> dann habe ich mir php5 selber kompiliert und den Pfad zu den gettext-libs
>> direkt angegebn, denn bei dem dotdeb-Packet steht bei den "Configure
>> Command" nur "--with-gettext" ohne Pfad. Beim Selbstkompilieren habe ich
>> den Pfad übergeben, so dass es so aussieht:
>>
>> './configure' '--with-libxml-dir=/usr/lib/' '--with-xsl=/usr/lib/'
>> '--with-zlib' '--with-gettext=/usr/lib/' '--with-apxs=/usr/bin/apxs'
>> '--prefix=/opt/bin/php5'
>
> Das ist so auch falsch. Es muss heissen ./configure --with-foo=/usr
> damit das PHP dann lib und include selber dranhaengen kann um die Sachen
> zufinden.

Habe ich nun auch probiert, leider ohne Erfolg.

> Bei neukomipilieren nicht vergesen mit rm config.test den
> Cache zu loeschen.

Ich habe config.cache immer gelöscht, dann steht beim compilieren kein
"cached" mehr.

> Alterative ist die Exention als shared *.so zu kompilieren.

Ein gute Idee, da ich die erste Option ja nicht hinbekomme.

> Dazu must du
> nicht dein ganzes PHP neumachen.
> cd php-5x
> cd ext/gettext
> phpize
> ./configure
> make && make install
>
> Solltest du mehrere PHP Versionen installiert haben stelle sicher das
> das passende phpize genommen wird und dem configure evtl. noch
> --with-php-config=/path/to/file mit angeben.

Yup, habe ich so gemacht.

> Da kommt dann eine gettext.so hinten raus welche du dann in der php.ini
> oder im Script mit dl() laden kannst.

Du wirst lachen, aber da bekomme ich am Scluss von make:
libtool: link: `gettext.lo' is not a valid libtool object

file gettext.lo liefert
gettext.lo: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not
stripped


Martin
--
http://www.bretschneidernet.de OpenPGP-key: 0x4EA52583
(*_ Mark Twain:
$ cd /pub/ //\ Where prejudice exists it
$ more beer V_/_ always discolors our thoughts.

Re: PHP5 lässt sich nicht mit Gettext kompilieren, Debian GNU/Linux

am 23.09.2004 14:22:56 von Joerg Behrens

Martin Bretschneider wrote:

[..]

>>Alterative ist die Exention als shared *.so zu kompilieren.
>
>
> Ein gute Idee, da ich die erste Option ja nicht hinbekomme.
>
>
>>Dazu must du
>>nicht dein ganzes PHP neumachen.
>>cd php-5x
>>cd ext/gettext
>>phpize
>>./configure
>>make && make install
>>
>>Solltest du mehrere PHP Versionen installiert haben stelle sicher das
>>das passende phpize genommen wird und dem configure evtl. noch
>>--with-php-config=/path/to/file mit angeben.
>
>
> Yup, habe ich so gemacht.
>
>
>>Da kommt dann eine gettext.so hinten raus welche du dann in der php.ini
>>oder im Script mit dl() laden kannst.
>
>
> Du wirst lachen, aber da bekomme ich am Scluss von make:
> libtool: link: `gettext.lo' is not a valid libtool object
>
> file gettext.lo liefert
> gettext.lo: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not
> stripped

[o2k]:~ $ libtool --version
ltmain.sh (GNU libtool) 1.4.3

Die Version funkt. zumind.

Gruss
Joerg