Cannot configure PHP from source to use the desired Kerberos library path
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.2k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
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
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduzieren Sie die gemeldete PHP 8.2.22-Konfiguration unter Oracle Linux 8.10 mit den angegebenen Kerberos-Pfaden und Umgebungsvariablen und untersuchen Sie anschließend die configure-Ausgabe sowie die von ldd /myphp/bin/php gemeldeten verknüpften Bibliotheken. Als abgeschlossen gilt die Aufgabe, wenn ermittelt wurde, warum der ursprüngliche Pfad /kerberos-1.21.3/lib beibehalten wird, und eine dokumentierte oder umsetzbare Korrektur identifiziert wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- build-system
- Issue-Typ
- Bug
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100