Я установил mono-complete
и mono-devel
установил на свой Ubuntu Server 18.10 пару месяцев, чтобы запустить некоторые приложения, которые зависят от него. Я использую Mono 5.18.0.225. До того, как что-то сломалось, я сделал стандарт sudo apt update
, увидел много моно пакетов в списке для обновления, а затем сделал sudo apt upgrade
. В большинстве случаев все прошло нормально, а затем терминал продолжал выплевывать ошибки, ошибки и ошибки. Почти бесконечные ошибки будут печататься снова и снова в течение нескольких секунд, независимо от того, что я пытался сделать:
- Обновление sudo
- sudo apt --fix-broken install
- sudo apt удалить моно-полный моно-разработчик
- sudo apt autoremove
Не могу обновить или удалить. Если обновление невозможно, я попытался удалить и попробовать переустановить, но удалить тоже не удалось.
В ошибке упоминается невозможность найти gdb или lldb. Затем я попытался вручную создать и установить gdb, потому что я не могу использовать apt ... попытка сделать это попросит вас запустить программу, sudo apt --fix-broken install
которая выдает те же ошибки. Установка GDB-8.2 прошла успешно. Распечатанные ошибки немного изменяются и содержат ссылки на gdb (потому что теперь он установлен), но до сих пор нигде не получили.
- Как моно сломалось в первую очередь?
- Почему пытается удалить пакеты, производящие ошибки?
- Как лучше всего исправить ситуацию? Я бы предпочел не переустанавливать Ubuntu Server и настраивать все обратно.
Что печатается в сообщении об ошибке (перед установкой GDB):
Aborted (core dumped)
E: installing Assembly /usr/share/cli-common/policies.d/libgtk2.0-cil/policy.2.8.gtk-sharp.dll failed
E: Installation of policy.2.8.gtk-sharp with /usr/share/cli-common/runtimes.d/mono failed
* Installing 1 assembly from policy.2.8.pango-sharp into Mono
Stacktrace:
/proc/self/maps:
41308000-41338000 rwxp 00000000 00:00 0
55b153398000-55b1537e1000 r-xp 00000000 08:02 3159129 /usr/bin/mono-sgen
... cutting some of this out ...
7fb557c3b000-7fb557c88000 r--p 00000000 08:02 3160431 /usr/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll
Memory around native instruction pointer (0x7fb5556e2c8f):
0x7fb5556e2c7f 20 48 09 d6 41 0f b6 53 05 48 c1 e2 28 48 09 f2 H..A..S.H..(H..
0x7fb5556e2c8f 66 41 0f 38 32 4b 06 66 0f 6f 05 b2 82 49 00 66 fA.82K.f.o...I.f
0x7fb5556e2c9f 0f 38 00 c8 66 48 0f 7e c8 66 48 0f 3a 16 ce 01 .8..fH.~.fH.:...
0x7fb5556e2caf 48 09 c6 48 09 d6 41 0f b6 c2 41 0f b6 53 09 48 H..H..A...A..S.H
Native stacktrace:
/usr/bin/mono(+0x129f8d) [0x55b1534c1f8d]
/usr/bin/mono(+0x12a295) [0x55b1534c2295]
/usr/bin/mono(+0xbfd2f) [0x55b153457d2f]
/usr/bin/mono(+0x414e8) [0x55b1533d94e8]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12dd0) [0x7fb558343dd0]
/usr/lib/mono/aot-cache/amd64/mscorlib.dll.so(+0x123c8f) [0x7fb5556e2c8f]
Waiting for dumping threads to resume
Debug info from gdb:
mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb
=================================================================
Got a SIGILL while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Aborted (core dumped)
E: installing Assembly /usr/share/cli-common/policies.d/libgtk2.0-cil/policy.2.8.pango-sharp.dll failed
E: Installation of policy.2.8.pango-sharp with /usr/share/cli-common/runtimes.d/mono failed
^[[1mdpkg:^[[0m error processing package mono-gac (--configure):
installed mono-gac package post-installation script subprocess returned error exit status 29
источник
apt remove
потому что он говорит, что dpkg был прерван, и я должен запустить вручнуюsudo dpkg --configure -a
, но эта команда только вызывает вышеуказанные ошибки.sudo dpkg --force-all -P ca-certificates-mono
и посколькуsudo apt --fix-broken install
ни один другой рецепт исправления не работал, я удалил все моно вышеописанным способом. В частности, такие вещи, какsudo dpkg --force-all -P mono-common mono-devel
иsudo dpkg --force-all -P mono-4.0-gac mono-gac
после этого обновления, обновления и любых исправлений в стиле '--fix-broken install' и 'autoremove', очищали все остальное. Итоговый счет: $ mono --version Mono JIT-компилятор версии 6.0.0.319 (архив с пт 9 августа 16:23:57 UTC 2019) ....Ладно, если вы достаточно отчаянны, чтобы попробовать что-нибудь, просто стесняющееся того, что кажется, к сожалению, слишком распространенным решением - очистка жесткого диска и переустановка ОС с нуля ...
Мне как-то удалось починить мой корабль. Я не уверен, как и я не уверен, почему, но это последние несколько вещей, которые я пытался, что по некоторым причинам дал положительный результат:
Для дерьма и хихиканья я тогда попытался использовать Менеджер пакетов Synaptic, чтобы удалить моно-уровень. Он был помечен как не установленный (см. Выше), но предложил ПОЛНОЕ удаление. Выбрал это и применил. Это произвело большое количество уже знакомых ошибок dpkg и не удалось.
Я попытался использовать его для удаления mono-runtime-common, и он также выдал кучу знакомых теперь ошибок dpkg и потерпел неудачу.
Я тогда побежал,
Затем я следовал инструкциям по установке Mono для Ubuntu 18.04 по адресу https://www.mono-project.com/download/stable/#download-lin.
Однако на шаге 2 вместо установки mono-devel я установил mono-complete
Он установлен без ошибок и предварительно скомпилировал некоторые вещи. После перезагрузки 2 из 3 моих приложений на базе Mono были восстановлены и запущены. В-третьих, мне просто нужно было сделать переустановку на месте, и она тоже вернулась после перезагрузки.
Я искренне надеюсь, что вам удастся найти какую-то помощь из вышеупомянутой чепухи, а также счастливых праздников, отличного нового года и других подобных вещей. :)
источник
apt policy mono-complete mono-devel
показывают, что я установил 18.04, а mono работает 18.04, поэтому я подозреваю, что в этом вопросе есть проблема с управлением пакетами. Пакеты mono-complete и mono-devel по-прежнему доступны в репозиториях по умолчанию для 18.10 и 19.04.sudo apt remove mono-complete mono-devel
иsudo apt autoremove
некоторые пакеты были удалены до того, как начали появляться ошибки. Прошлой ночью я запустилsudo apt remove mono-gac mono-runtime-common
и мы удалили больше пакетов, прежде чем появятся ошибки. Затем, что удивительно, когда я запустилsudo apt autoremove
после этого никаких ошибок не было, остальные пакеты были удалены, и я думаю, что моно был успешно и полностью удален.apt remove
должно решить проблему. Было бы полезно узнать, какие пакеты были конкретной причиной, чтобы исправить это снова в будущем. Однако я не знаю, насколько легко эта проблема воспроизводима.У меня была та же проблема на моей коробке linux mint 18.3 Sylvia. Пришлось использовать timeshift для переустановки системы. Все, что я до сих пор делал, это удалил моно ppa из репозитория, и в настоящее время я могу обновлять / обновлять пакеты. Я жду нового моно исправления, чтобы заново активировать репозиторий. Я знаю, что это не решение проблемы, но, по крайней мере, это способ преодолеть проблему, ожидая, пока настоящие гики разбираются с ней.
источник
У меня была аналогичная проблема. В моём случае mono-devel зависит от mono-roslyn, и почему-то mono-roslyn зависит от mono-devel. Так что удаление пакетов самостоятельно не сработало. Но это сделать:
sudo dpkg --remove --force-remove-reinstreq mono-roslyn mono-devel
источник