warning can't open dynamic library: /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
I've done a Get Info on zzip.framework in the main window in Xcode, and changed the path to zzip.framework to be where I've put it on my system, but the build still fails at the same point, which seems to suggest that the file is being referenced from somewhere else. I've looked around but I can't see where it's specifying the path.
In addition, trying to "Clean All" fails because the EXRCodecPlugin has no Info.plist file.
Did you put the framework in one of your Framework directories? As long as it's in a valid framework directory, or you updated the full path it should be ok. I've updated in CVS for the EXRCodec, but I don't really know if there is a logical way to change the framework. Give it another go and let me know.
It was still in the framework search path on a few targets. Odd, my understanding was it just disregarded bogus search paths. Oh well, it's in cvs now. I'm not sure how long it takes to get to anon cvs though.
Give the apple what it wants:
In finder goto your "Users" dir, there make a new folderpath "temas/Library/Frameworks/" and throw a copy of the zzip.Framework in it
not state of art but it works.
I'm getting a similar problem, but with the IL frameworks...
ld: warning can't open dynamic library: /Library/Frameworks/IL.framework/Frameworks/lcms.framework/Versions/A/lcms (checking for undefined symbols may be affected) (Not a directory, errno = 20)
ld: warning can't open dynamic library: /Library/Frameworks/IL.framework/Frameworks/libtiff.framework/Versions/A/libtiff (checking for undefined symbols may be affected) (Not a directory, errno = 20)
ld: warning can't open dynamic library: /Library/Frameworks/IL.framework/Frameworks/libpng.framework/Versions/A/libpng (checking for undefined symbols may be affected) (Not a directory, errno = 20)
ld: warning can't open dynamic library: /Library/Frameworks/IL.framework/Frameworks/libjpeg.framework/Versions/A/libjpeg (checking for undefined symbols may be affected) (Not a directory, errno = 20)
ld: warning can't open dynamic library: /Library/Frameworks/IL.framework/Frameworks/libmng.framework/Versions/A/libmng (checking for undefined symbols may be affected) (Not a directory, errno = 20)
ld: Undefined symbols:
_TIFFClientOpen referenced from IL expected to be defined in /Library/Frameworks/IL.framework/Frameworks/libtiff.framework/Versions/A/libtiff
_TIFFClose referenced from IL expected to be defined in /Library/Frameworks/IL.framework/Frameworks/libtiff.framework/Versions/A/libtiff
and then a whole bunch of errors just like those last two (the undefined symbols.) I just installed a fresh DevIL 1.6.7.pkg, and have all of those sub-frameworks in the file paths given in the errors. Is this related? How can I fix this?
You need to create a new directory within IL.framework itself, called Frameworks, then copy the other frameworks (lcms.framework, libtiff.framework, libpng.framework, libjpeg.framework, libmng.framework) into that directory.
Thanks Dr Dave; I was trying to be slick and putting them deeper in the .framework structure with an alias at the root level. That's fixed now, but the original issue mentioned in this thread came up...
It's unclear whether it was ever fully taken care of. temas said he was commiting it to CVS, has that not made it into anon CVS for Azathoth?
I 'updated' this morning, and the issue persisted. Or did someone come up with an independant fix (aside from the /Users/temas/... workaround) ?
The best way to fix it seemed to be to drag the zzip.framework file from the main Ogre file listing in Xcode into the Targets->RenderSystem_GL->Frameworks area on the left under "Groups and Files".
There are a couple more of the plugins that you have to do this for, but I can't remember what they are off the top of my head. I've managed to build it all and the samples, so I don't think that there are any real serious issues, just a couple of minor things.
I tried dragging the zzip.framework from the ogre file list into the "Frameworks & Libraries" build phase of both the target "GL Render System" and "Ogre" but I still get the compilation errors:
ld: warning can't open dynamic library: /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
ld: Undefined symbols:
_zzip_dir_close referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_dir_open referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
etc. etc. etc.
I put the zzip.framework in /Library/Frameworks/
running otool -D on zzip says
Which might be part of the problem... but if other people seem to be getting it to work, I don't know what the heck is going on. I just updated to Xcode 1.5, and that didn't seem to help either.
Ajaxamander, how did you get it to work? I still have the exact same problem that it looks for zzip.framework in temas' homedir even though I put it everywhere...
temas wrote:It was still in the framework search path on a few targets. Odd, my understanding was it just disregarded bogus search paths. Oh well, it's in cvs now. I'm not sure how long it takes to get to anon cvs though.
I could only find the zzip-framework dependency in Gl Render System and globally in Ogre. I have set these paths to my zzip.framwork, but it still looks in the Users/temas... path. I really can't find anywhere in the project where this path is given, but of course I'm not really that familiar with xcode. Where should I look?
I must have stared myself blind there. Okej, I found the absolute path in all targets and have changed them, but I STILL get the
ld: warning can't open dynamic library: /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip (checking for undefined symbols may be affected) (No such file or directory, errno = 2)
ld: Undefined symbols:
_zzip_dir_close referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_dir_open referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_dir_read referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_dir_stat referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_error referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_file_close referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_file_open referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_file_read referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_seek referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
_zzip_tell referenced from Ogre expected to be defined in /Users/temas/Library/Frameworks/zzip.framework/Versions/A/zzip
when linking Ogreplatform.bundle under build of SDL Platform Manager. Now, I really think I have looked everywhere. Should I go crazy?
So, as someone pointed out (Dr Dave, I believe) if you do this (for each target that's failing) it will link...
First, disclose the "Targets" section in the Xcode Files & Groups list
Then, for example, we say "GL Render System" is the one that's failing, disclose that too, as well as the "Frameworks & Libraries" portion of the build chain. If you drag the zzip.framework from either: the main Ogre file list (on the right) or from the "External Frameworks" group into this "Frameworks" stage in the build chain, it will successfully link.
Post again if that explaination isn't clear, and I'll post some screenshots of the different steps. You'll have to do that process for several of the targets, including (off the top of my head) GL Render System, BSP Scene Manager, Octree Scene Manager and teh EXR Codec Plugin. (There may be more I'm forgetting) but the detailed build results tell you which target is being built, or you can do them one by one, and if they fail, drag the framework in.
I must be really stupid though, cause I really don't understand it. Since the problem was that the compiler looked for zzip in temas home directory, I thought it would be enough to change all paths in the targets that had zzip in their list of dependencies. This didn't work and it still looked for zzip in temas home directory even though this path was nowhere to be found in the project. And now I added zzip with a correct path to all the targets and it works...?
Maybe I should just forget about it and go on with my life... BUT IT'S HARD!
So, I've gotten so far as to have built the Ogre framework and been able to run most of the examples as well.
Now, I want to make my own project from scratch. I followed the instructions in README_MacOSX.txt and did some comparing to the samples project file.
I'm really a newbie with xcode and ide and big projects in general but here it goes:
I couldn't remove the Projectname_Prefix.pch file from the project since the preprocessor seems to look for this file before anythig else and xcode won't even start to compile without it. Is there a setting for this? Because it is not present in the sample project and that works fine...
Anyway, that file won't make any harm since it only contains:
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif
Anyway, I even come so far as to have compiled and built my own little app using the Humble Beginnings tutorial. But when I run the app I get this:
ZeroLink: unknown symbol '_SDL_main'
which I don't understand, but of course I don't even understand what the SDLMain.m file is doing in my project at all.
Hm. I just noticed that I have installed the runtime library, but not the development library. But the development library would be for compiling and the runtime for running so that can't be it...? I can compile but not run. Everything feels wierd today.
I must be really stupid though, cause I really don't understand it. Since the problem was that the compiler looked for zzip in temas home directory, I thought it would be enough to change all paths in the targets that had zzip in their list of dependencies. This didn't work and it still looked for zzip in temas home directory even though this path was nowhere to be found in the project. And now I added zzip with a correct path to all the targets and it works...?
Maybe I should just forget about it and go on with my life... BUT IT'S HARD!
On Mac OS X the path to the dylib is embeded in the dylib when it is compiled. It is sucked out when the app is linked against the dylib at build time. Since a framework contains a dylib this is important.