Cannot configure PHP from source to use the desired Kerberos library path
Nessuno ha ancora preso questa issue.
- Lingua principale
- C
- Stelle
- 40.4k
- Fork
- 8.1k
- Merge medio
- 2g 13h
- PR unite (30g)
- 96
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riprodurre la configurazione segnalata di PHP 8.2.22 su Oracle Linux 8.10 utilizzando i percorsi Kerberos e le variabili d’ambiente forniti, quindi esaminare l’output di configure e le librerie collegate riportate da ldd /myphp/bin/php. Il lavoro sarà completato quando sarà determinato perché viene mantenuto il percorso originale /kerberos-1.21.3/lib e sarà identificata una correzione documentata o applicabile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- php
- Ambito
- build-system
- Tipo di issue
- Bug
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100