Cannot configure PHP from source to use the desired Kerberos library path
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C
- Estrellas
- 40.4k
- Forks
- 8.2k
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 96
Descripción
Description
On Oracle Linux 8
I configure, make and make install my Kerberos library as follows
./configure --prefix=/kerberos-1.21.3 --enable-dns-for-realm
The above creates the folder /kerberos-1.21.3/lib with all my libraries in it.
I manually amend all /kerberos-1.21.3/lib/pkgconfig/*.pc files to contain the value libdir=/library
I then relocate an entire copy of the created library folder to my desired library location /library as follows:
cp /kerberos-1.21.3/lib/* /library
I "configure", "make" and "make install" PHP, with configure looking as follows:
env LD_LIBRARY_PATH=/library PKG_CONFIG=/usr/bin/pkg-config PKG_CONFIG_PATH=/library/pkgconfig KERBEROS_LIBS="-L/library -Wl,-rpath,/library" KERBEROS_CFLAGS="-I/kerberos-1.21.3/include" ./configure --prefix=/myphp --with-kerberos
Everything completes as normal.
As can be seen above, the environment I have set is:
- LD_LIBRARY_PATH=/library
- PKG_CONFIG_PATH=/library/pkgconfig
- KERBEROS_LIBS="-L/library -Wl,-rpath,/library"
- KERBEROS_CFLAGS="-I/kerberos-1.21.3/include"
This points all library information to the /library directory, and only the include header files directory to my original kerberos build location (via KERBEROS_CFLAGS and the /library/pkgconfig/*.pc files includedir= value)
All the documentation I have read says that with my configuration above, running ldd /myphp/bin/php should report as:
libkrb5.so.3 => /library/libkrb5.so.3
but when I run it, for libkrb5.so.3 I get the following:
libkrb5.so.3 => /kerberos-1.21.3/lib/libkrb5.so.3
Why am I getting the wrong -ie. original build - library location? I am literally tearing my hair out with this. Thanks
PHP Version
php 8.2.22
Operating System
Oracle Linux 8.10
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduzca la configuración reportada de PHP 8.2.22 en Oracle Linux 8.10 usando las rutas de Kerberos y las variables de entorno proporcionadas; después, inspeccione la salida de configure y las bibliotecas enlazadas que informa ldd /myphp/bin/php. El trabajo estaría terminado cuando se determine por qué se conserva la ruta original /kerberos-1.21.3/lib y se identifique una corrección documentada o aplicable.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php
- Área
- build-system
- Tipo de issue
- Error
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100