2013-10-03 2 views
2

Я пытаюсь получить библиотеку lp_solve, работающую на Heroku, но, похоже, не может ее распознать. Я пробовал каждый ресурс, который мне удалось найти, включая работу с vulcan, добавив его в каталог моего проекта /bin, добавив его в /vendor и изменив PATH, и я даже зашел так далеко, чтобы создать buildpack, который я использую с buildpack-multi, но в каждом случае результаты одинаковы: No such file or directory. Даже когда я вхожу в мой экземпляр и пытаюсь выполнить файл напрямую, он дает мне ту же ошибку. Я сделал его исполняемым. Что мне не хватает?Пользовательские двоичные файлы на Heroku

ответ

1

Несмотря на неописуемое сообщение об ошибке, выясняется, что это была проблема архитектуры. Это был 32-битный двоичный файл, который, как я думал, может работать нормально, несмотря на это, поскольку у меня не было проблем с запуском на нем моей локальной машины. Мне пришлось перекомпилировать его из источника на Heroku, используя Anvil: https://github.com/ddollar/anvil

Ребята из списка рассылки Heroku были очень полезны в отладке проблемы.

0

Вы должны иметь возможность просто включать двоичный код, предполагая, что он был скомпилирован против правильной архитектуры. Когда вы запускаете консоль heroku, как вы пытаетесь выполнить файл (какая полная команда вы используете)? Есть ли у вас поиск файла, которого нет?

+0

Файл был здесь. Я запустил 'heroku run bash' и вкладка завершила' bin/lp_solve'. Такая же ошибка, несмотря ни на что. Основываясь на некоторых советах ребят из списка рассылки Heroku, я запускал 'ldd' и' файл' и обнаружил, что он просто не нашел нужные заголовки. – lobati

Смежные вопросы