MacOS, Arch: x86_64. _arpack.so-Sicherheitsrichtlinienproblem. Die Bibliothek kann nicht geladen werden
Posted: 13 Jan 2025, 16:43
Ich habe die gemeinsam genutzte Bibliothek „_arpack.so“ mit der Entwickler-ID signiert. Allerdings weigert sich macOS, diese Bibliothek zu laden. Ich habe die Bibliothek wie folgt überprüft:
Diese Zeile:
Es scheint, dass die Bibliothek „_arpack.so“ mit einem alten macOS SDK (vor macOS 10.9) erstellt wurde. Die macOS-Bibliotheksvalidierung (eingeführt in 10.9) stellt sicher, dass nur signierte und ordnungsgemäß validierte Bibliotheken in signierte Binärdateien geladen werden können.
Da „_arpack.so“ ein älteres SDK verwendet, kann es sein, dass macOS aufgrund von Sicherheitsrichtlinien das Laden verweigert.
Um dieses Problem zu umgehen, habe ich „Scipy“ lokal erstellt, um es mit dem neueren SDK zu verbinden.
Ich habe die offiziellen Website-Anweisungen zum Erstellen aus dem Quellcode befolgt.
Build erfolgreich abgeschlossen.
Ich habe zwei Fragen:
Code: Select all
% codesign -dvv ./bin/my-agent.app/Contents/MacOS/scipy/sparse/linalg/_eigen/arpack/_arpack.so
Executable=/Users/admintest/my-agent/bin/my-agent.app/Contents/MacOS/scipy/sparse/linalg/_eigen/arpack/_arpack.so
Identifier=ai.my.my-agent.LaunchAgent
Format=Mach-O thin (x86_64)
CodeDirectory v=20400 size=4326 flags=0x10000(runtime) hashes=129+2 location=embedded
Library validation warning=OS X SDK version before 10.9 does not support Library Validation
Signature size=8972
Authority=
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Jan 11, 2025 at 1:35:00 AM
Info.plist=not bound
TeamIdentifier=
Sealed Resources=none
Internal requirements count=1 size=196
Code: Select all
Library validation warning=OS X SDK version before 10.9 does not support Library Validation
Da „_arpack.so“ ein älteres SDK verwendet, kann es sein, dass macOS aufgrund von Sicherheitsrichtlinien das Laden verweigert.
Um dieses Problem zu umgehen, habe ich „Scipy“ lokal erstellt, um es mit dem neueren SDK zu verbinden.
Ich habe die offiziellen Website-Anweisungen zum Erstellen aus dem Quellcode befolgt.
Code: Select all
% export MACOSX_DEPLOYMENT_TARGET=14.4
% pip uninstall scipy
% pip install scipy --no-build-isolation --no-cache-dir --no-binary scipy
Ich habe zwei Fragen:
- Ist Es gibt ein Scipy-Repo, das diese FORTRAN-Bibliothek mit der neueren macOS SDK-Version (>10.9) erstellt.
- Selbst ich habe lokal aus dem Quellcode erstellt, scheint es, dass diese Bibliothek immer noch an das ältere macOS SDK gebunden ist Ich arbeite immer noch daran. Ich werde es erneut erstellen und die Protokolle überprüfen (das Ergebnis werde ich hier teilen).