Почему компоновщик влияет на выполнение нативной библиотеки C++
Я написал Ruby gem
который использует самую последнюю версию FFI
чтобы получить доступ к (а также самостоятельно написанному) общедоступной библиотеке объектов. я использую ruby 2.0.0p247
в сочетании с rvm 1.21.12
,
Мой гем включает в себя "исполняемый файл" в / bin, который работает как положено, считывает некоторые данные, предоставленные пользователем, и вызывает одну функцию в моей библиотеке общих объектов, которая, в свою очередь, вызывает одну функцию во внешней библиотеке API. Все отлично работает
Если я выполню точно такой же код моего "исполняемого" внутри RSpec test
или внутри Rails console
базовые компоненты API не работают. Кажется, что во время SSL operation
где RSA private key
читать из PKCS#12
Контейнер используется для цифровой подписи фрагмента XML.
Я был в состоянии сломать все до bundle
р. Если я выполняю свой (рабочий) "исполняемый файл", используя bundler
, он терпит неудачу с той же ошибкой, которую я вижу внутри RSpec
а также Rails
,
Я перепроверил ENV
переменные уже и установить их непосредственно во время выполнения. Без изменений.
Вопрос в том, что bundler
сделать для среды выполнения, что позволяет сбой моего базового компонента API.
Где я могу начать искать ошибки?
Любые намеки на это приветствуются. С уважением, Феликс