В вашем вопросе несколько вопросов, и я считаю, что некоторые из них заслуживают изучения в качестве возможных ошибок или проблем. Я бы порекомендовал попробовать один из официальных каналов поддержки Frama- C:
- Создание проблемы в Frama- C Gitlab publi c репозиторий ;
- Или создание проблемы в Frama- C Хранилище моментальных снимков Github (в настоящее время не рекомендуется в пользу репозитория Gitlab, который обновляется ежедневно);
- Или попытка некоторая интерактивная поддержка, связанная с операцией, в канале IR C
#frama-c
на freenode. net (интерактивная поддержка часто более эффективна для решения проблем установки, связанных с операцией, особенно из-за того, что заранее сложно узнать, какая информация может быть полезна) .
Обработка ошибок «Недопустимый пользовательский ввод» в GUI
Как правило, при попытке открыть файл в GUI происходит сбой, я бы рекомендуем запустить версию Frama- C для командной строки с именем файла. Его вывод гораздо более подробный и может указывать на наличие проблем с синтаксическим анализом файла (которые могут быть вызваны отсутствующими зависимостями, синтаксисом, отличным от C99, или проблемами конфигурации).
В противном случае вкладка Консоль в GUI должен содержать подробные сообщения об ошибках, которые вы затем можете добавить к этому вопросу SO, если они имеют отношение к пониманию вашей проблемы.
Проблемы с графическими библиотеками в неосновных Linux дистрибутивах
Вторая проблема, которую я вижу в вашем вопросе, это ошибка, связанная с -lgtksourceview-2.0
. Это означает, что одна из библиотечных зависимостей для графического интерфейса отсутствует. Возможно, есть способ исправить это, но, по крайней мере, должна быть возможность определить ошибку до компиляции и сообщить о несовместимости ранее. Тот факт, что depext
не работал, необычен; возможно, в настоящее время он не очень хорошо поддерживается Манджаро, но его стоит изучить. К сожалению, иногда опам может быть сложным в обращении для начинающих пользователей, поэтому я понимаю, что это немного расстраивает и может занять больше времени, чем вы бы хотели. Но если вы намереваетесь использовать Frama- C или другие пакеты OCaml в течение некоторого разумного промежутка времени, стоит разобраться с некоторыми распространенными ошибками в opam, поскольку это очень полезно для обработки зависимостей.
Обработка проблемы с зависимостями OCaml при компиляции вручную
Наконец, проблема с Yo json, вероятно, связана с версией установленного пакета. В частности, версии до 1.6.0 не имеют типа Yojson.Basic.t
. Frama- C используется для поддержки 1.4.1, но для последней версии требуется как минимум 1.6.0. Опять же, не очевидно заранее определить все возможные проблемы с различными версиями пакета, но сообщение о них позволяет нам включать проверки, чтобы предотвратить это в будущем или, по крайней мере, дать более точное сообщение об ошибке.
Обычно opam обрабатывает эту часть, поэтому и рекомендуется даже для ручной компиляции Frama- C, поскольку он помогает управлять своими зависимостями.
В целом, кажется, что некоторая основная проблема с зависимостями в opam depenxt предотвращает Вся цепь от работы должным образом. Ваш отчет содержит много полезной информации, но не все детали, поэтому я считаю, что интерактивный маршрут должен позволять быстро сходиться к работающей установке.