Intereting Posts
Невозможно перезаписать файл, перемещая его поверх него убить xterm процесс в bash Что такое -u diff действительно делает? Обнаружение ладони libinput не работает Почему sftp скрывает журнал из stdout? Как запустить демона cron Как установить разрешения в / sys / Permanent? Как я могу заставить все мои процессы начать с приятности 5 Как синхронизировать два диска (или папки) с использованием символических (или жестких) ссылок (например, rsync)? Как подключиться к SSH через промежуточный сервер? Преобразование syslog-ng 3.0? формат формата 3.2 ftp: на удаленном компьютере изменения владельца файла с изменением имени пользователя, используемого для входа в удаленную машину Подстановка команд в качестве цели для перенаправления ввода-вывода Манипулировать имя файла с помощью команды find Яркость экрана в Debian после сна / спящего режима на Macbook с графической картой Intel

Unison «Неустранимая ошибка при разборке»

Я установил unison 2.48.4 на три машины, два запуска Linux Mint 17 и один Linux Mint 18. Я синхронизируюсь через SSH.

Две синхронизации 17 без проблем. Однако 18 не могут синхронизироваться ни с одним из двух других. Список потенциальных переводов генерируется, но когда я нажимаю «GO», я получаю следующее:

Fatal error: Server: Fatal error during unmarshaling (input value: bad bigarray kind), possibly because client and server have been compiled with different versions of the Ocaml compiler. 

Я получаю то же сообщение, когда я использую графическую или версию командной строки для унисона. Также, когда я пытаюсь унисон 2.48.3 на стороне клиента, что заставляет меня думать, что это разница в версии монетного двора (17 против 18), которая создает проблему.

Я сам ничего не скомпилировал, просто установил из репозиториев или загрузил пакеты deb.

    Протокол Unison зависит от версии. Версия N не может разговаривать с версией M с M ≠ N.

    Debian (и производные: Ubuntu, Mint, …) предоставляет единый пакет, который, несмотря на название, содержит некоторые недавние, но не самые последние версии Unison, а не все предыдущие версии. Я не проверял, но я бы ожидал, что unison-all на Mint 18 будет содержать версию, которая находится на Mint 17.

    Кроме того, вы можете установить все версии Unison, которые вы используете в любом месте, скопировав их в /usr/local/bin или ~/bin на компьютере, который вы используете в качестве концентратора Unison. unison-NN.NN бинарный файл зависит только от стандартной библиотеки, поэтому он работает в любой встроенной Linux 21-го века без необходимости устанавливать что-либо дополнительно. Это то, чем я занимаюсь. Вам нужно помнить об обновлении этого двоичного файла, когда исправляется ошибка.

    Если вы не планируете запускать ту же версию Unison повсюду, вам нужно сказать ей, чтобы она addversionno = true соответствующую версию на удаленной стороне, помещая addversionno = true в ваши профили.

    Да, я видел эту ошибку раньше. В дополнение к тем же версиям Unison, эти двоичные файлы Unison также (иногда) должны быть скомпилированы с той же версией OCaml. Также есть некоторая другая ошибка, которую я видел, когда Unison скомпилирован с версией OCaml> 4, но я не помню особенностей этого.

    Таким образом, ваши варианты:

    1. Сделайте, как говорит Жиль, и скопируйте двоичные файлы с одной машины на другие.

    2. Загрузите, скомпилируйте и установите правильную версию OCaml (мне пришлось использовать 3.12.1), и используйте это для компиляции и установки Unison из исходного кода .