Здесь достаточно абстрактный вопрос, так как я не знаю, с чего начать собственное расследование.
У меня есть пакет C, созданный с помощью CMake, который создает librpdb.so; У меня есть Ruby Gem, настроенный для той же библиотеки, которая создает rpdb.bundle.
При использовании в Ruby я получаю следующее:
dyld: lazy symbol binding failed: Symbol not found: _RPDB_RuntimeStorageController_sharedInstance
Referenced from: /usr/local/lib/ruby/gems/1.9.1/gems/rpdb-0.1.0/lib/rpdb/rpdb.bundle
Expected in: flat namespace
Когда я смотрю в библиотеку, НМ сообщает:
000000000000ea40 T _RPDB_RuntimeStorageController_sharedInstance
Так что, похоже, символ действительно находится в библиотеке. Почему же тогда сбой привязки?