[Regression] Linking errors with the new Molten VK 0.19.0


Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #1347
    GolDDranks
    Participant

      Hi, the Molten 0.18.2 builds and links fine with my Rust build (Using the Vulkano library). I simply have dropped the MoltenVK.framework in /Library/Frameworks, and it works beautifully. However, when I replace the 0.18.2 Framework with 0.19.0, the build breaks. Switching back to 0.18.2 fixes it again. Here’s the error:

      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)

      So there seems to be something in the new version that breaks the linking.

      Judging from the error message and the changelog, “Add support for VkImage underlaid by IOSurface.” looks highly suspect. Using MacBook Pro (Retina, 15-inch, Late 2013) with Intel Iris Pro. The OS is macOS 10.13.1 High Sierra.

      #1348
      Bill Hollings
      Keymaster

        @golddranks

        With v0.19.0, MoltenVK supports using IOSurfaces for VkImages…and requires access to the IOSurface framework during compilation.

        You need to link the IOSurface framework into your app. See the Installing MoltenVK in Your Vulkan Application section in the README_MoltenVK_UserGuide.md document in your Molten distribution package for more info. You will need to build using Xcode 9.0 to include this framework for iOS.

        You do not need to have this framework available in order to run your application…but you do need it to build your application.

      Viewing 2 posts - 1 through 2 (of 2 total)
      • The forum ‘MoltenVK Support’ is closed to new topics and replies.