Skip to content

Detect incompatible libraries #3264

@basilevs

Description

@basilevs

UI behavior depends on loaded MacOS SDK, which apparently depends on build mode of the root executable (Equinox launcher or Java). There are multiple versions of Equinox launcher and many various JVMs each compiled with random MacOS SDKs making it very hard to select a correct version of SWT for a given root executable or vice-versa.

Please introduce or recommend a way to detect an unsupported loaded MacOS SDK runtime, so that my SWT application or test could refuse to run or show a warning.

I've considered running otool against current executable, but it is complicated, I'm unsure which versions are truly compatible and it would be nice if there was an authoritative solution, preferably built-in and ready to use.

Following issues were hard to investigate because of an unexpected version mismatch:

Ideally the feature would be cross-platform - a report of required and loaded runtime components that could be converted to end-user readable form.

To avoid localisation I would suggest to return triplets of "component id", "expected version", "detected version", where component id could be "edge", "mozilla", "MacOSSDK", "webkit", etc... Report should be empty or annotated accordingly (with an additional boolean field?) when all loaded components are compatible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    macOShappens on macOS

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions