Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend compile.sh for libmathsat5j for macOS dylib #430

Merged
merged 1 commit into from
Jan 17, 2025

Conversation

lembergerth
Copy link
Contributor

The produced library can not be distributed yet, because the script does not sign it.

Copy link
Member

@kfriedberger kfriedberger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks valid. I can not test this on MacOS.

Would it be possible/useful to

  • cross-compile the bindings on Linux,
  • publish the unsigned artifact via Ivy, and
  • delay the signing process for the user, e.g. manually done after installation?

We might think of requesting a developer account from Apple to sign such libraries. Seems to be free of costs for open-source and educational projects.

Perhaps we can even get some Gitlab runner / Github action for building and signing our artifacts automatically. That could be a nice student project.

@lembergerth
Copy link
Contributor Author

Perhaps we can even get some Gitlab runner / Github action for building and signing our artifacts automatically. That could be a nice student project.

I think this would be the first necessary step.
I would like java-smt to support more solvers for macOS out-of-the-box, but manual testing each release would be a nightmare.

@lembergerth lembergerth merged commit f42917f into master Jan 17, 2025
3 checks passed
@lembergerth
Copy link
Contributor Author

cross-compile the bindings on Linux,

I don't think this is possible.
Just building the library with a non-Apple clang on macOS already disallowed the signing process (but there was no nice error message, so I am not sure about the concrete issue).
So a cross-compiled library may not be signable.

@kfriedberger kfriedberger deleted the add-libmathsat5j-compile-for-macos branch January 17, 2025 10:19
@kfriedberger
Copy link
Member

kfriedberger commented Jan 17, 2025

AppVeyor has MacOS as platform available: https://www.appveyor.com/docs/macos-images-software/
This could be enough for JUnit tests. As first step, we could extend our CI-pipeline for AppVeyor for MacOS, as already written here: #384

As Apple is quite special in building and signing software, I am not sure about a efficient and maintainable long term solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants