PHP fails to build with macOS libraries (for example ldap)
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
The following code:
system "./configure", *args
system "make"
system "make", "install"
Resulted in this output:
Undefined symbols for architecture arm64:
"_ldap_create_passwordpolicy_control", referenced from:
_zif_ldap_exop_passwd in ldap.o
"_ldap_create_sort_control_value", referenced from:
__php_ldap_controls_from_array in ldap.o
Undefined symbols for architecture arm64:
"_ldap_create_passwordpolicy_control", referenced from:
_zif_ldap_exop_passwd in ldap.o
"_ldap_create_vlv_control_value", referenced from:
__php_ldap_controls_from_array in ldap.o
"_ldap_create_sort_control_value", referenced from:
__php_ldap_controls_from_array in ldap.o
"_ldap_destroy", referenced from:
_ldap_link_free_obj in ldap.o
_zif_ldap_unbind in ldap.o
"_ldap_create_vlv_control_value", referenced from:
__php_ldap_controls_from_array in ldap.o
"_ldap_destroy", referenced from:
_ldap_link_free_obj in ldap.o
_zif_ldap_unbind in ldap.o
"_ldap_parse_passwordpolicy_control", referenced from:
__php_ldap_controls_to_array in ldap.o
Undefined symbols for architecture arm64:
"_ldap_create_passwordpolicy_control", referenced from:
_zif_ldap_exop_passwd in ldap.o
"_ldap_parse_passwordpolicy_control", referenced from:
__php_ldap_controls_to_array in ldap.o
"_tidyLibraryVersion", referenced from:
_zm_info_tidy in tidy.o
"_ldap_create_sort_control_value", referenced from:
__php_ldap_controls_from_array in ldap.o
"_tidyLibraryVersion", referenced from:
_zm_info_tidy in tidy.o
"_ldap_create_vlv_control_value", referenced from:
__php_ldap_controls_from_array in ldap.o
ld: symbol(s) not found for architecture arm64
ld: symbol(s) not found for architecture arm64
"_ldap_destroy", referenced from:
_ldap_link_free_obj in ldap.o
_zif_ldap_unbind in ldap.o
But I expected this output instead:
I expected the build to succeed.
Homebrew currently carries a patch for this, which was submitted in https://github.com/php/php-src/pull/3472, but denied since PHP 7.4 used pkg config.
PHP Version
PHP 8.1.16
Operating System
macOS 13.2.1
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
Beginne mit dem configure- und make-Aufruf in Homebrew Formula/php@8.1.rb und prüfe anschließend den verlinkten Homebrew-Patch sowie den PHP pull request auf die beabsichtigte Build-Änderung. Reproduziere den PHP 8.1.16-Build auf macOS 13.2.1 arm64 mit aktiviertem LDAP und tidy; abgeschlossen ist die Aufgabe, wenn der Build ohne die gemeldeten undefined symbols erfolgreich durchläuft.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, macos, php
- Bereich
- build-system
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100