Luís Oliveira wrote: > On Sun, Aug 25, 2013 at 3:34 PM, Robert P. Goldman <rpgold...@sift.info> > wrote: >> $ file /usr/local/lib/libsmvgrammar.0.dylib >> /usr/local/lib/libsmvgrammar.0.dylib: Mach-O universal binary with 1 >> architecture: [x86_64: Mach-O 64-bit x86_64 dSYM companion file] > > This description doesn't look right. The dylibs on my system look like this: > > $ file libtest.dylib > libtest.dylib: Mach-O 64-bit dynamically linked shared library x86_64 > > Perhaps the project you're compiling should be passing -dynamiclib to > gcc but isn't? >
Actually, I think what's wrong is that dlopen is goIng pear-shaped when it tries to load the dSYM companion file. This is a file that seems to be ancillary to libsmvgrammar.dylib, which IS a dynamically linked shared library: $ file /usr/local/lib/libsmvgrammar.dylib /usr/local/lib/libsmvgrammar.dylib: Mach-O universal binary with 1 architecture: [x86_64: Mach-O 64-bit x86_64 dynamically linked shared library] $ file /usr/local/lib/libsmvgrammar.0.dylib /usr/local/lib/libsmvgrammar.0.dylib: Mach-O universal binary with 1 architecture: [x86_64: Mach-O 64-bit x86_64 dSYM companion file] The main library file I am trying to load somehow references libsmvgrammar.0.dylib, causing it to be loaded with dlopen and then I get the error. But I can't see why it would be trying to dlopen() what seems like a symbol table.