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

Installation on Mac OS fails due to libvulkan not being code signed #167

Closed
SirVer opened this issue Mar 2, 2020 · 26 comments
Closed

Installation on Mac OS fails due to libvulkan not being code signed #167

SirVer opened this issue Mar 2, 2020 · 26 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@SirVer
Copy link

SirVer commented Mar 2, 2020

Following the installation instructions in the README, everything installs and builds correctly, but running the binary opens a warning window from Mac OS

grafik

Canceling this opens three other windows for other Vulkan libraries. The program does not start.

Is that a known issue? I could not find an explanation on how to correctly install Vulkan on Mac with code signed binaries.

Os: Mac OS Catalina 10.15.2

@Kethku
Copy link
Member

Kethku commented Mar 2, 2020

The readme suggests brew cask install apenngrace/vulkan/vulkan-sdk but I don't have a mac so I'm not sure.

@Kethku Kethku added bug Something isn't working question Further information is requested labels Mar 2, 2020
@SirVer
Copy link
Author

SirVer commented Mar 2, 2020

Yes, that is what I did, but this led to the problems I described above. I hope somebody more Mac savvy will come by this issue and give some clue to what the solution might be.

@terhechte
Copy link

You can allow this in settings:

Screenshot 2020-03-02 at 10 43 30

Basically:

  • Try to run it
  • Go to that settings screen
  • Allow
  • Try to run it again, a different library will pop up with an issue
  • Allow again
  • repeat
  • You should also get dialogs with the "Open" option. Hit open in there.
  • After like three runs it should run

@SirVer
Copy link
Author

SirVer commented Mar 2, 2020

@terhechte Thanks, that did work. @Kethku, it is probably worthwhile to link this comment in the README for mac os x.

@bigOconstant
Copy link

You can allow this in settings:

Screenshot 2020-03-02 at 10 43 30

Basically:

* Try to run it

* Go to that settings screen

* Allow

* Try to run it again, a different library will pop up with an issue

* Allow again

* repeat

* You should also get dialogs with the "Open" option. Hit open in there.

* After like three runs it should run

I'm able to do this when running cargo run, but not when trying to click on the executable from a release build. That just crashes for me atm.

@baileyn
Copy link

baileyn commented Mar 2, 2020

It worked for me on Mac OS Mojave 10.14.6 using the vulkan sdk installer from lunarg. I know it's not ideal, but it seems to work.

@terhechte
Copy link

I'm able to do this when running cargo run, but not when trying to click on the executable from a release build. That just crashes for me atm.

I can't test this right now, but could you try right-clicking the executable and then saying "open"?

@bigOconstant
Copy link

I'm able to do this when running cargo run, but not when trying to click on the executable from a release build. That just crashes for me atm.

I can't test this right now, but could you try right-clicking the executable and then saying "open"?

Yeah same thing. I installed the Vulkin sdk with brew cask install apenngrace/vulkan/vulkan-sdk

@Kethku
Copy link
Member

Kethku commented Mar 2, 2020

@terhechte adding it to the readme. I will watch this issue for future developments. Thanks so much for the investigation!

@Kethku
Copy link
Member

Kethku commented Mar 2, 2020

There is some talk about way we can switch to a library agnostic system which should remove the vulkan dependency for macos. May take a bit though

@SirJson
Copy link
Contributor

SirJson commented Mar 2, 2020

That would be? OpenGL? That is even more broken on macOS from what I have heard, Apple wants to push the Metal API.

And OpenGL is hit and miss on Windows + very dependent on the driver that is running on that system. There is a reason why all major Browser Developer bundle ANGLE for WebGL Support on Windows.

@Kethku
Copy link
Member

Kethku commented Mar 2, 2020

We're looking at wgpu

@Kethku
Copy link
Member

Kethku commented Mar 2, 2020

Which has targets for directx, vulkan, and metal. Its still preliminary. Conversation is happening here: https://gitter.im/neovide/community

@tssm
Copy link

tssm commented Mar 5, 2020

If you want to keep using Vulkan there's MoltenVK for macOS, which is an implementation of the Vulcan API on top of Metal

@Kethku
Copy link
Member

Kethku commented Mar 5, 2020

Very interesting. Is it a drop in replacement? When installed does it run normally or do I have to add explicit support to my app somehow?

@Kethku
Copy link
Member

Kethku commented Mar 5, 2020

Ah its a for pay product. That kinda disqualifies it

@tssm
Copy link

tssm commented Mar 5, 2020

It's license is Apache 2.0. But it is not a drop-in replacement though.

I'll try what @baileyn did on my machine. Maybe Neovide could be statically linked against Vulkan, at least for macOS.

@Kethku
Copy link
Member

Kethku commented Mar 5, 2020

This is well outside my area of knowledge. If someone wanted to attempt something like that is greatly appreciate it

Sent with GitHawk

@Kethku Kethku added the help wanted Extra attention is needed label Mar 6, 2020
@tssm
Copy link

tssm commented Mar 7, 2020

I'm trying to do it, but I haven't been successful. @baileyn could you describe what you did, please? I would like to try that on my machine

@baileyn
Copy link

baileyn commented Mar 7, 2020

I'm sorry. All I did was download the latest SDK for Mac from lunarg. After that, I just compiled again with cargo build --release.

It's possible our issues were slightly different?

@Kethku
Copy link
Member

Kethku commented Mar 5, 2021

I just pushed an opengl backend to the main branch. Would folks struggling with this issue be willing to try it?

@tssm
Copy link

tssm commented Mar 5, 2021

Does anyone have an idea of why I may be getting this error?

note: Undefined symbols for architecture x86_64:
        "____chkstk_darwin", referenced from:
            SkBlurMaskFilterImpl::filterRRectToNine(SkRRect const&, SkMatrix const&, SkIRect const&, SkMaskFilterBase::NinePatch*) const in libskia_bindings-f53e790636e34b91.rlib(libskia.SkBlurMF.o)
            SkBlurMaskFilterImpl::filterRectsToNine(SkRect const*, int, SkMatrix const&, SkIRect const&, SkMaskFilterBase::NinePatch*) const in libskia_bindings-f53e790636e34b91.rlib(libskia.SkBlurMF.o)
            SkCopyStreamToData(SkStream*) in libskia_bindings-f53e790636e34b91.rlib(libskia.SkStream.o)
            SkShaderMF::filterMask(SkMask*, SkMask const&, SkMatrix const&, SkIPoint*) const in libskia_bindings-f53e790636e34b91.rlib(libskia.SkShaderMaskFilter.o)
            SkPerlinNoiseShaderImpl::PaintingData::init(float) in libskia_bindings-f53e790636e34b91.rlib(libskia.SkPerlinNoiseShader.o)
            SkPicture::backport() const in libskia_bindings-f53e790636e34b91.rlib(libskia.SkPicture.o)
            OpDebug(SkPath const&, SkPath const&, SkPathOp, SkPath*) in libskia_bindings-f53e790636e34b91.rlib(libskia.SkPathOpsOp.o)
            ...
      ld: symbol(s) not found for architecture x86_64
      clang-7: error: linker command failed with exit code 1 (use -v to see invocation)

@Kethku
Copy link
Member

Kethku commented Mar 6, 2021

That is a very strange error. Is it possible a debugger is trying to attach? I'm guessing thats hiding the actual error...

@poetaman
Copy link

poetaman commented Apr 7, 2021

@Kethku "I just pushed an opengl backend to the main branch. Would folks struggling with this issue be willing to try it?" Does that mean we don't need Vulkan anymore? (I have had issues installing it on my system)

@Kethku
Copy link
Member

Kethku commented Apr 19, 2021

@reportaman yes. Unfortunately there were some issues. This code is now held in the opengl branch.

@Kethku
Copy link
Member

Kethku commented Jun 13, 2021

I think this has been fixed in main. Please reopen if you come back to this and the issue remains.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

8 participants