- This topic has 6 replies, 2 voices, and was last updated 8 years, 6 months ago by pemgl.
-
AuthorPosts
-
2015-09-26 at 4:34 pm #708
I’m attempting to build and run “MetalGL-0.10.0/SampleProjects/SampleProjectx.xcworkspace” for OSX and iOS (I’m especially interested in OSX). I opened the workspace in XCode and I can build (it says Build Succeeded). However, when I run I get an error:
dyld: Symbol not found: ___NSDictionary0__
Referenced from: /Users/pem/Library/Developer/Xcode/DerivedData/SampleProjects-fusvntzfbrkzyecavaryepgdovjd/Build/Products/Release/DrawLoadDemo.app/Contents/MacOS/DrawLoadDemo (which was built for Mac OS X 10.11)
Expected in: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
in /Users/pem/Library/Developer/Xcode/DerivedData/SampleProjects-fusvntzfbrkzyecavaryepgdovjd/Build/Products/Release/DrawLoadDemo.app/Contents/MacOS/DrawLoadDemoI tried going to DrawLoadDemos > General > Targets > DrawLoadDemos-OSX > Linked Frameworks and Libraries, where I removed then re-added Foundation.framework. However, I still get the error.
2015-09-26 at 6:31 pm #711I verified DrawLoadDemo has a shared library link to Foundation, and I verified Foundation has the symbol NSDictionary:
$ otool -L DrawLoadDemo
DrawLoadDemo:
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1252.0.0)
/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 600.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1404.0.0)
/System/Library/Frameworks/Metal.framework/Versions/A/Metal (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.11.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1)
/System/Library/Frameworks/Foundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1253.0.0)
/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0)$ nm -gu /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation | grep NSDictionary
_OBJC_CLASS_$_NSDictionary
_OBJC_METACLASS_$_NSDictionary$ nm -gu /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation | grep NSD
=> nothingBased on this, I’m confused… DrawLoadDemo links to both CoreFoundation and Foundation. The error message says NSDictionary expected in CoreFoundation, but NSDictionary only exists in Foundation (not CoreFoundation).
2015-09-27 at 10:15 am #717Very strange indeed!
We’re not seeing anything like that here. I just tried downloading MetalGL 0.1.0 and running the
DrawLoadDemo
underOS X 10.11 Beta (15A279b)
on a Macbook Pro (mid 2014), and it runs fine.Perhaps there is an environmental issue. What version of OS X are you using, and on what kind of machine?
Also, can you ZIP up the Xcode project, post it to somewhere like Dropbox and post a link here, so we can have a look at your configuration?
…Bill
2015-09-27 at 3:37 pm #722OS X Yosemite 10.10.5, Macbook Air (11-inch, Mid 2013).
I’m just trying to build an unmodified version of “MetalGL-0.10.0/SampleProjects/SampleProjectx.xcworkspace” for OSX
The error seems strange because NSDictionary is found here:
$ nm -gU /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation | grep NSDict
00000000003e0488 S _OBJC_CLASS_$_NSDictionary
00000000003e0550 S _OBJC_METACLASS_$_NSDictionaryYet the error message says that’s where it is looking for NSDictionary:
dyld: Symbol not found: ___NSDictionary0__
Referenced from: /Users/pem/Library/Developer/Xcode/DerivedData/SampleProjects-fusvntzfbrkzyecavaryepgdovjd/Build/Products/Release/DrawLoadDemo.app/Contents/MacOS/DrawLoadDemo (which was built for Mac OS X 10.11)
Expected in: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
in /Users/pem/Library/Developer/Xcode/DerivedData/SampleProjects-fusvntzfbrkzyecavaryepgdovjd/Build/Products/Release/DrawLoadDemo.app/Contents/MacOS/DrawLoadDemo2015-09-28 at 9:16 am #723You indicated earlier that you were building using El Capitan (10.11), but in this recent post, you’re indicating Yosemite (10.10).
Metal is available only on El Capitan (10.11) and later. Can you try running this under El Capitan (10.11)?
To support OS X versions that do not have Metal, you need to provide a separate implementation of OpenGL ES. The
README-UserGuilde.md
document includes a section on how to do this.…Bill
2015-09-29 at 10:30 pm #730@Bill I think what happened is that I was building for 10.11 but I was not running 10.11. I did a software update for XCode which includes 10.11 (MacOSX10.11.sdk), but the public (non-beta) 10.11 release of OSX is not released until tomorrow (9/30). That must be why I got an error message saying “built for Mac OS X 10.11” even though I haven’t installed 10.11 yet. I will install 10.11 tomorrow and see if it works
2015-09-30 at 6:18 pm #731After installing OS 10.11 (which was just publicly released today 9/30), I am now able to build and run the DrawLoadDemo sample application. Good stuff! I look forward to seeing more progress from MetalGL OSX support for GLES2 & GLES3. I’ll try my (CMake, SDL2, GLES2) project next (I have a separate thread on this). thank you & best regards
-
AuthorPosts
- The forum ‘MoltenGL Support’ is closed to new topics and replies.