Vulkano: How to run the examples

Created on 29 Sep 2017  Â·  23Comments  Â·  Source: vulkano-rs/vulkano

I would like to test the examples but I am running into some problems.

On Linux with a NVIDA 1060 I get this error:

➜  vulkano-examples git:(master) cargo run --bin triangle
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/triangle`
thread 'main' panicked at 'failed to create Vulkan instance: LoadingError(LibraryLoadFailure("libvulkan.so.1: cannot open shared object file: No such file or directory"))', /checkout/src/libcore/result.rs:860:4
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Do I need to install something from Vulkan?

On MacOS I get this error:

  = note: ld: framework not found MoltenVK
          clang: error: linker command failed with exit code 1 (use -v to see invocation)


error: aborting due to previous error

error: Could not compile `vulkano-examples`.

Do I need to install anything on macOS to make it work?

Thank you very much for any help.

Most helpful comment

@yanchith You could try adding a build.rs file to your Cargo project, with the contents

fn main() {
  let lib_dir = "/Library/Frameworks/";
  println!("cargo:rustc-link-search=framework={}", lib_dir);
}

Assuming the MoltenVK.Framework file is there. There should also be a libMoltenVK.dylib file in the same directory.

All 23 comments

Update:

On MacOS I dropped the MoltenVK.framework into /Library/Framework/ and it now displays the triangle.

However it constantly spams me with:

[***MoltenVK ERROR***] VK_TIMEOUT: Vulkan fence timeout after 0 nanoseconds.

Do I need to install something from Vulkan?

Yes. Depending on your distribution there are drivers to install.

However it constantly spams me with:

This has already been reported to the MoltenVK people.

I downloaded Molten 0.19.0, dropped MoltenVK.framework into /Library/Framework/ and libMoltenVK.dylib into /usr/local/lib (just in case ;-) ), but I get following error when executing cargo run --bin triangle:

 = note: Undefined symbols for architecture x86_64:
            "_kIOSurfaceWidth", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceHeight", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceElementWidth", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceElementHeight", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceIsGlobal", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_kIOSurfaceBytesPerElement", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetBytesPerElement", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetElementWidth", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetHeight", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceCreate", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetWidth", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
            "_IOSurfaceGetElementHeight", referenced from:
                MVKImage::useIOSurface(__IOSurface*) in MoltenVK(MoltenVK-x86_64-master.o)
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

It's on MacOS 10.13.3 (17D102) and rustc 1.25.0-nightly (3ec5a99aa 2018-02-14)

Is it related to #880 ?

Sorry for the noise, I was trying to run example from volkano-examples repo. When I run it from this repo dependecies look more fresh, but I get then another error:

  Compiling vulkano-win v0.7.3 (file:///Users/rprakapchuk/Hub/vulkano/vulkano-win)
error[E0599]: no variant named `new` found for type `metal::CAMetalLayer` in the current scope
   --> vulkano-win/src/lib.rs:168:17
    |
168 |     let layer = CAMetalLayer::new();
    |                 ^^^^^^^^^^^^^^^^^ variant not found in `metal::CAMetalLayer`

error: aborting due to previous error

error: Could not compile `vulkano-win`.

It looks like metal-rs had breaking changes in 0.5. I reverted its version back to 0.4.3 in vulkano-win dependencies and triangle finally compiled and started!

The only problem is that I can't make its window to be foreground. When I open Mission Control, I see that window preview among all my other windows, but when I select it — it's not visible.

Update: I can't make window foreground only when run executable within kitty terminal emulator. Running it from Terminal is okay.

Oh! Thanks for the investigation.

@ul I had the same problems you had, followed your instructions, but instead of it working I got an linking error when running cargo run --bin triangle:

error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-m64" "-L" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.114xigf1yyw2gcw0.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.11t8c9mo6xcrv0fe.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.12ncep42ojdobpmw.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.12wg6onqsgsmtlh9.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.13n8or7g1edyr9ox.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.13r400thsaf6fpc8.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.162qckzk0x4hsiqc.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.16u6js6g0l3k1ic6.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.17erb31xn70viq4b.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1d60k49dhlk6dme3.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1ddr9dt3btsls8en.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1dqm8liesiapb7ao.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1dqvxks6k2bzkxe.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1e698527iprj2v8f.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1eknt3oe0cllbc0h.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1epeyfpvdet5fxfa.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1fm8eao2awer4gkk.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1fxq14vrn4hmbyv6.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1g8i1fptmnx18752.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1hda843dplcw0g9w.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1i1v78dzp7zo57p4.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1ig44ovvk8geebuk.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1im38lueib99jsk0.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1j9ycoj51yxaujls.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1jnlhyxj59jycbjv.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1lm1iz0rbp836rni.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1lx2lpdcguurogic.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1mvmz58owquyropc.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1n806141b5nf14nj.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1nt566n7wddj55ii.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1q8ffos2d96smbjs.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1qa670gs4khc4ul1.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1qs0mza7vhu7jhf1.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1rv8n017ha9022uu.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1ryyjyzxlweik6yp.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1t9pv77hgfzsil8p.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1tan05g3xbf96pzw.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1tmsbiy8yzgm1r8.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1tv435z967nx89j4.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1tyqqqrs95xd2wuv.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1u6mxbnlimtx2dbg.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1vtfpm62qablfz1g.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1x0hqw1ga2o9h84c.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1y16o1qfye96o7m0.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1z7fcsyxq07d48d7.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1zeawhkbeobww1zn.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.1zwd8n7bcl3vhvvh.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.21zgezgnu6m1kc41.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.23mtggyqt0gxkh9x.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.23tqyymcb18u96mb.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.26ltaqh8espqcsum.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.28v50d6gta6kkytl.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.296cohck290u4wjq.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.29fggg32gwk6mdw5.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2ark6rgcbcot6as5.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2c4d4jsv3tiy2n6z.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2dh9yuzgscovothb.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2f0hry2t7c05ttdi.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2f8khwrnzftlr7g3.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2g0exjsg7683d31d.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2g6299bb0pkmp50r.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2jqywn86b2gsqohu.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2kjrmm4fe2aha78f.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2ks06z9jghsey0rr.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2lyh15q6cjwzy18c.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2n4yde9582rcmvbn.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2ndbqk0kbyp5bix6.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2nk9f2wrgnig4e4r.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2nlci5jr2vioognt.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2pk7x4v9ul45ex8l.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2pqnbzjcd1l3cwjq.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2qtwpp4m10entjgy.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2r82puffnvvb8iic.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2tnnoges2fzz6np0.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2tqxdouaxe2e19u4.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2w6xsa2hbi53xhak.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2yam5zmlsfe0hy6z.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.2z7ffi9qqeig53uz.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.307vgoadbmugwcva.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3171x0bwu82dptu7.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.32ahup06e4pv4r1d.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.331j8i1ty0hviw3i.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.33hmnk11jd2pvirx.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.33ufz0jjcmxyw2he.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.35dif2yfqvun9jag.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.36c5jwx97rjkb21u.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.37sfglgtannknxyh.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.383nl0yqsuz87a22.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.384oovowe4qqxgfv.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.38ps4pa181wsnsy9.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.39ggyocen6cv807c.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.39l4zg2ou9pfhc7v.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3ayaeypdcro9d6yk.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3bkx8pwsuur38ete.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3c1o0lle2ircbfjs.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3cx7oljifvb206q7.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3e455ldpf91nzfww.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3esnioopfuwhhrw6.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3ew6arpvb5r4kv1g.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3ewj849r1unm7kvp.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3ewuqhk2h77liubj.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3f6klegmryfg2ey3.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3feus2c8rywxf5oc.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3g94tobrpgum5dk6.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3ik0x0hz6l66cx38.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3iy542vr6gdmfz89.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3lc2aly07utqecdj.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3ls8qg912mg41h5t.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3ogpvf0s5grb0f6b.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3omt5svta6pm518u.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3oqznv5oym7l3m4e.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3rngp6bm2u2q5z0y.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3s0i7vuq10znsiyn.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3td2a2e4baj2eqf7.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3tti3mah1nbmslbr.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3umnq3wcm2npy1q0.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3vjsmffc5e3js9ek.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3vpv2d2jvmikxgio.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3w4z0o7hhiuj9sny.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.3zb0sf6mrbj5dlt8.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.40412edm7cp1zlc0.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.40mv2bo8bxf7ur21.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.41osl76ho0wgpzzy.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.42zgpwbs642cv01a.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.436dotimmrgzkwfa.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4392zzxdrwhkx629.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.43qnp1oeuaxudp4.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.43v6g0y2xsxoggnt.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.44bsbddupzfao2om.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.44i4igkm5w62m2lh.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.45nf4z58qqykpcpi.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.45pc7c65foh9i35f.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.46u50s6sovzz6ft.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.48721dc4k5qxei0u.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.48cr4iz1beg125c8.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.496dsma8chlv1dkh.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.49a7n47po4ttqjl7.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.49lx1q7cxvpykyv0.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.49qmpuk8w1opmi5q.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4a6dgwgsyclvnmy1.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4brwxiorhmgsb6oc.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4c92ilerwslsd6a.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4drezmu48lgfqbrr.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4ezmh1vbs95c5ack.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4g27i95wgtxfuraf.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4g4m3v5x9045spb3.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4g732d02dcqsd82o.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4gx8jf0ae0yeqanc.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4h3zyzgekk54z0ud.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4jdnq7xfjeka1bt.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4ni133mlnyb1431k.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4noawmhmuj0ibcgb.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4pcgifdkvn4pvfr1.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4pnpmfn04y5ncgxa.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4rmpwh5slwftxk01.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4sw9hz7i7fiueihz.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4tc707x3pweau4x6.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4vv0yrubopr15435.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4wps7cebvkhkywo1.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4xq48u46a1pwiqn7.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4xuhwz5yy6q4gvgg.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4yh8x2b62dcih00t.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4yiyqlthp55fthtq.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4ypvbwho0bu5tnww.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.4zhnv1qawt4khh9h.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.50w8b04ldice1l74.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.51ngn3tyzf6mm24x.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.54k2axoipqzthyed.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.56dly8q07ws8ucdq.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.56pjkomx3mrz7ye5.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.572bgozz9kcwe4zq.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.573bvji82ejkbf2e.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.578mvqv00zw96tk5.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.57k06xfugllsc526.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.58sazuvf7keqprro.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.58wcqtd3r8z7fa95.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.593kegrgpkr3y29i.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.599bi50xrc1rxgps.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.5ap2cki6clxsnjfs.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.5bdak5b875tznard.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.5blf1knqhidxmru3.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.5brc738eqj146gug.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.5c1bwen18l0n84im.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.5eze33qhi7zmyxtb.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.5fpf3b11py4edt3j.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.5fstdw3au2xk1gy8.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.5gf6du7k58s78kob.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.6kwe6xbm3kh61f3.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.7p53qlves2rwxx0.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.8xzrsc1ux72v29j.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.98g0d9x8aw3akpe.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.9elsx31vb4it187.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.bxp0med4do8g2u9.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.c6lbtaiefvx3wya.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.d6p2df93qm1h3gm.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.doar5ife0jn9b6h.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.e19kx9t7xhzajfl.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.g7xq149l9pqwk6x.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.gcm3azvw2ebj30l.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.grk86iglcerz8a9.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.kemu27fkozrh2hz.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.knszp52a9avd1qo.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.kt25z0521ngsjub.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.lffbm1j6ft7i5sr.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.lkwxa5jxocp5cdw.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.lpg46qj0gwl29xx.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.mb501chi8fnqgmm.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.mz7vgmcf23rofcc.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.nw7zzo6103hcy7a.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.orpt2nbsqxgun4j.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.pqmjx25qpxkduz7.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.pyyxtnbajxct03c.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.qre9icig7sfdcl.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.t51l7ceeuq7vkcu.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.uri9w1atll7f9yh.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.vpbpnff9uk7ha66.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.vszxqu1nuezle2z.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.vve339ffukf9l31.rcgu.o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.zowp18z3wfu9h99.rcgu.o" "-o" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6" "/Users/monad/workspace/vulkano/target/debug/deps/triangle-db263afb2f3eecc6.crate.allocator.rcgu.o" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "/Users/monad/workspace/vulkano/target/debug/deps" "-L" "/Users/monad/workspace/vulkano/target/debug/build/objc_exception-ce196480c8c57945/out" "-L" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/monad/workspace/vulkano/target/debug/deps/libvulkano_win-9bea0adc3a820d70.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libmetal_rs-7b59217c1e92193a.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libvulkano-9ff2ef7d35f32a15.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libsmallvec-03480868a1e1a95e.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libcrossbeam-523220e5c29650b3.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libhalf-bf8d1cad119c7c7a.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libfnv-690138b40b746354.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libvk_sys-7fe7a68973adbba1.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libwinit-e75cac33b05841f0.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libshared_library-1364cd291a5b4231.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/liblazy_static-66c11fffaaa62061.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/liblazy_static-0c08b61420d5015f.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libcocoa-eb8ed69e0a0ae0fe.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libcore_graphics-76a34398da72d76a.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libbitflags-c578d6a4bd4a6ee7.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libcore_foundation-ca674ea54a7ad333.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libcore_foundation_sys-a3c7bcd9846c7cdc.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libcocoa-e2795fe2bc9f8749.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libcore_graphics-aa42e953f3d6f9bc.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libcore_foundation-55e1b4ff646a94f0.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libcore_foundation_sys-c712f8169a0786b7.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libbitflags-0c9ff12ac3412470.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libforeign_types-05692ec70bc8a9b7.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libforeign_types_shared-453ec92c6b0b2a1b.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libobjc_foundation-7a4a13925051c9d4.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libblock-fe8b98d294b35f75.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libobjc_id-c9fe5ab8e4705ef6.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libobjc-2c6d4c9436c9a79b.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/libmalloc_buf-8c92105b82e3bde3.rlib" "/Users/monad/workspace/vulkano/target/debug/deps/liblibc-518a016be2167e38.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd-ab5ab2cb870d2bce.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-5ddfe9ca8b129efe.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-a84d38b17837bc6a.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libunwind-d0227b7aeaf148ee.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc_system-4aa0c7dfddf7a24c.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liblibc-f76698e45b7ece58.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc-1bd1454f9757f3ef.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd_unicode-0d9cbca62067bc0d.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcore-aeeedf5c04325b7f.rlib" "/Users/monad/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-4fea139ca33d24bf.rlib" "-framework" "Metal" "-l" "c++" "-framework" "MoltenVK" "-framework" "IOSurface" "-framework" "QuartzCore" "-framework" "Metal" "-framework" "Foundation" "-framework" "AppKit" "-framework" "AppKit" "-framework" "Foundation" "-framework" "Foundation" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "CoreFoundation" "-framework" "AppKit" "-framework" "AppKit" "-framework" "Foundation" "-framework" "Foundation" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "ApplicationServices" "-framework" "CoreFoundation" "-framework" "Foundation" "-l" "System" "-l" "objc" "-l" "objc" "-l" "objc" "-l" "System" "-l" "resolv" "-l" "pthread" "-l" "c" "-l" "m"
  = note: ld: framework not found MoltenVK
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have MoltenVK.framework in /Library/Frameworks/.

Do you know which versions of molten are safe to use? It might be related to #880 and #879.

Thanks!

EDIT: tried both stable and nightly:
rustc 1.24.0 (4d90ac38c 2018-02-12)
rustc 1.26.0-nightly (28a1e4ffe 2018-02-24)

macOS version is 10.13.3 (17D102)

@yanchith I use MoltenVK 0.19.0

Ok. I'll try to figure it out and post the answer here.

@yanchith Have you tried running the Vulkan samples? The repo provides some xcode project files which link to MoltenVK.

If that fails to build / run, there might be something wrong with your MoltenVK install.

It fails to be build because of https://github.com/SaschaWillems/Vulkan/issues/423
The search continues :)

I managed to run the Vulkan samples, so MoltenVK appears to be fine. I am going to keep investigating this one post updates here, when I find anything significant.

@yanchith Since MoltenVK has been recently open-sourced, could you try the examples in their repository too? If those don't work, opening an issue there might be best.

So I ran the Vulkan Samples with MoltenVK 0.19.0, and the locally built 1.0.0 from MoltenVK. Both ran fine.

However, vulkano seems to have problems linking against both 0.19.0 and 1.0.0 on my machine (the error is the same as the one I posted earlier).

I don't have a deep understanding of how linking to native dependencies works in rust, so I guess I am off to learn that now :) Would appreciate if someone could point me in the right direction though.

@yanchith You could try adding a build.rs file to your Cargo project, with the contents

fn main() {
  let lib_dir = "/Library/Frameworks/";
  println!("cargo:rustc-link-search=framework={}", lib_dir);
}

Assuming the MoltenVK.Framework file is there. There should also be a libMoltenVK.dylib file in the same directory.

@GabrielMajeri Thanks! It works. I thought /Library/Frameworks/ was searched by default. But reading the linker invocation, this is not true.

Does it make sense to add this build script to examples? Or perhaps add the line to vulkano/build.rs?

@yanchith Hmm, indeed the official docs do say /Library/Frameworks is in the default search path. Apparently that's not the case. Perhaps there is something wrong with ld?

What does ld --verbose | grep /Libraries/Frameworks print?

Hmm, man ld says that /Library/Frameworks and /System/Library/Frameworks are on the default search paths.

ld --verbose | grep /Libraries/Frameworks does not produce anything for me, as it ld has no --verbose option (at least not the one I have installed).

@yanchith I'm not sure where the bug is. I created a pull request which should at least fix linking Vulkano on Mac OS, but the fact those paths are not searched might affect other crates too.

Yeah. It's strange. I'll try to confirm from another mac just in case it's only my system, that's broken.

Thank you for the fix.

It looks like metal-rs had breaking changes in 0.5. I reverted its version back to 0.4.3 in vulkano-win dependencies and triangle finally compiled and started!

I had to do this exact thing as well. Do the examples need updated, or does the version need rolled back in master? Or something more complicated?

I think it's a minor fix in vulkano-win. I will submit the PR soon, unless someone beats me to it.

EDIT: submitted #929

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Craig-Macomber picture Craig-Macomber  Â·  11Comments

croraf picture croraf  Â·  5Comments

mitchmindtree picture mitchmindtree  Â·  6Comments

rukai picture rukai  Â·  4Comments

SiebenCorgie picture SiebenCorgie  Â·  11Comments