Я пытаюсь заставить библиотеку lp_solve работать на Heroku, но не могу заставить ее работать быть признанным. Я испробовал все ресурсы, которые мне удалось найти, включая работу с vulcan, добавив его в /bin
моего проекта, добавив его в /vendor
и изменив PATH, и я даже зашел так далеко, что создал buildpack, который я использую с buildpack-multi, но в каждом случае результаты одинаковы: No such file or directory
. Даже когда я врезаюсь в свой экземпляр и пытаюсь выполнить файл напрямую, это дает мне ту же ошибку. Я сделал его исполняемым. Что мне не хватает?
Пользовательские бинарники на Heroku
Ответы (2)
Несмотря на неописуемое сообщение об ошибке, оказалось, что это проблема архитектуры. Это был 32-битный двоичный файл, который, как я думал, может работать нормально, несмотря на это, поскольку у меня не было проблем с его запуском на моей локальной машине. Мне пришлось перекомпилировать его из исходников на Heroku с помощью Anvil: https://github.com/ddollar/anvil
Ребята из списка рассылки Heroku очень помогли решить проблему.
person
lobati
schedule
12.10.2013
Вы должны иметь возможность просто включить двоичный файл, предполагая, что он был скомпилирован для правильной архитектуры. Когда вы запускаете консоль heroku, как вы пытаетесь выполнить файл (какую полную команду вы выполняете)? Вы заставляете его искать файл, которого нет?
person
Jeremy Green
schedule
12.10.2013
Файл был там. Я запустил
heroku run bash
и вкладку завершил bin/lp_solve
. Одна и та же ошибка несмотря ни на что. Основываясь на некоторых советах парней из списка рассылки Heroku, я запустил ldd
и file
и обнаружил, что он просто не находит нужных заголовков.
- person lobati; 12.10.2013