print

Binaries from the Build Server

Build server access

https://code.ill.fr/fullprof-suite/progcfml
Go to CI/CD -> Pipelines —> binaires are in the Artifacts

Problems

UPX packer

Until the end of January 2023 the build server used UPX (Utimate Packer for eXecutables) which modifies the binary to make it more compact.
However this had several negative side effects:

  • the required LC_VERSION_MIN_MACOSX or LC_BUILD_VERSION flags are removed
  • the entitlement <com.apple.security.cs.allow-unsigned-executable-memory> is required since the compacted binary modifies itself at runtime
  • the compacted binaries worked with Big Sur and even with Ventura for Apple silicon but crashed with Ventura for Intel with error "Segmentation fault 11"

In fact by Jan 2023, the last UPX for macOS dated back to Nov 2022 and hence was not compatible with Ventura (macOS 13).

macOS bug

macOS 13 (Ventura) introduced a new error message:
     "FullProf4Mac.sh" can’t be opened because (null) is not allowed to open documents in Terminal.
This was related to the shell command in the binary FullProf4Mac:  
     open -b com.apple.terminal '../Resources/myScript.sh'
and is well documented macOS bug (FB11745075).
As workaround I called the Terminal through an osascript in the binary FullProf4Mac + the additional entiltlement "com.apple.security.automation.apple-events".