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

Can't build on macOS #661

Closed
simonjwright opened this issue Feb 13, 2025 · 3 comments
Closed

Can't build on macOS #661

simonjwright opened this issue Feb 13, 2025 · 3 comments

Comments

@simonjwright
Copy link

The call at manage.py:347 ends up calling check_bootstrap.py.

I can see that it's advantageous to stop at this point if something goes wrong, but it will fail on macOS, which causes failures in building Ada Language Server.

The reason is macOS's idiosyncratic handling of shared libraries, see e.g. this in ALS, which fixes up the shared libraries so they can be called from Python.

Unfortunately ALS can only call fix_dylib_paths after building liblktlang.dylib (here), so when manage.py calls check_bootstrap.py it's bound to fail.

@eliericha - for info

@eliericha
Copy link
Contributor

Hello @simonjwright ,

Incidentally I've been working on this issue precisely for the past few days with someone from the Langkit team :)

Indeed the problem is as you diagnosed, manage.py tries to use the shared library before the ALS script gets a chance to fix it. A fix was pushed to langkit to make it apply the macOS shared library fix itself.

And on the ALS build script side there was something more needed to make other libraries visible at the point where check_bootstrap.py is called. That fix is in review and should go in today.

@eliericha
Copy link
Contributor

The fix just went into ALS too so I will close this issue. @simonjwright feel free to reopen if things don't work as advertise.

@simonjwright
Copy link
Author

Looking good! (i.e build succeeded)

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

No branches or pull requests

2 participants