Иногда обработка в Agisoft Metashape завершается сообщением об ошибке. В этой статье описаны наиболее распространенные ошибки, возникающие при работе в Linux, и способы решения этих проблем:
Проблема с libc
Сообщение об ошибке:
can't launch, errors like "version 'CLIBC_2.15' not found"
or "version 'GLIBCXX_3.4.20' not found"
Причина: для Metashape требуется как минимум glibc 2.19, поэтому:
- Ubuntu: не ниже 16.04 LTS xenial
- CentOS: требуется как минимум CentOS 8
Общий способ проверить версию libc через терминал:
ldd --version
Проблема с OpenGL
Сообщение об ошибке:
can't launch with GUI, erros like "QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled" and "QOpenGLWidget: Failed to create context"
Причина: Metashape требует как минимум OpenGL 2.0+ (т.е. требуются шейдеры)
Решение: Проверьте вывод следующей команды в терминале:
glxinfo | grep version
Обратите внимание на строку "версии OpenGL".
Удаленный доступ к GUI через SSH не поддерживается — вместо этого рекомендуется использовать TurboVNC для удаленного доступа. Ознакомьтесь с рекомендациями здесь: https://github.com/agisoft-llc/cloud-scripts.
Проблема при импорте видео
Сообщение об ошибке:
video doesn't playing
Question: please provide errors from terminal (from which Metashape was launched), and what is the output of "QT_DEBUG_PLUGINS=1 ./metashape.sh"?
Вы можете получить различные текстовые сообщения об ошибках для этой проблемы. Ниже мы описываем примеры с распространенными сообщениями об ошибках и решениями для каждого случая:
Пример 1:
Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so': /usr/lib/x86_64-linux-gnu/libhogweed.so.4: undefined symbol: __gmpn_cnd_sub_n |
В Ubuntu перезапустите Metashape с помощью следующей команды:
LD_PRELOAD='/usr/lib/x86_64-linux-gnu/libgmp.so.10' /path/to/metashape.sh
В CentOS перезапустите Metashape с помощью следующей команды:
LD_PRELOAD='/usr/lib64/libgmp.so.10' /path/to/metashape.sh
Для постоянного исправления добавьте строку LD_PRELOAD с ключевым словом export в файле metashape.sh (как это уже сделано с переменной LD_LIBRARY_PATH ).
Пример 2:
Warning: "No decoder available for type 'video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.1, profile=(string)high, codec_data=buffer)01640029ffe1003827640029ac34c802a40bfb016a020202800001f48000753074 300015752000055d4a5de5c6860002aea40000aba94bbcb87c22114e00000001000428ee3830, width=(int)2704, height=(int)1520, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1'. " Error: "Your GStreamer installation is missing a plug-in." |
В Ubuntu 20.04 и 21.04 выполните следующие команды в терминале, чтобы установить отсутствующие зависимости:
sudo add-apt-repository universe
sudo apt install gstreamer1.0-libav
Пример 3:
libxcb-icccm.so.4: cannot open shared object file: No such file or directory |
В CentOS 8 выполните в терминале следующую команду, чтобы установить отсутствующие зависимости:
sudo yum install xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil
Linux-зависимости
Сообщение об ошибке:
can't launch with error "libgomp.so.1: cannot open shared object file"
Решение: установить libgomp.
В CentOS:
yum install libgomp
В Ubuntu:
apt install libgomp1
------------------------------------
Сообщение об ошибке:
can't launch with error "libquadmath.so.0: cannot open shared object file"
Решение: установите libquadmath.
в CentOS:
yum install libquadmath
в Ubuntu 20.04:
"apt install libquadmath0"
------------------------------------
Сообщение об ошибке:
can't launch "./metashape.sh" with error "This application failed to start because it could not find or load the Qt platform plugin"
Проверьте вывод следующей команды в терминале:
QT_DEBUG_PLUGINS=1 ./metashape.sh
Возможная причина: в Ubuntu 16.04, 20.04 и 20.10 не найден libxcb-xinerama.so.0
Решение:
apt install libxcb-xinerama0
------------------------------------
Сообщение об ошибке:
not-rich python console (due to 'Failed to import qtconsole.inprocess: libffi.so.6: cannot open shared object file')
Решение: в Ubuntu 20.04 выполните следующие команды в терминале:
wget http://mirrors.kernel.org/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb
apt install ./libffi6_3.2.1-8_amd64.deb
(дополнительную информацию можно узнать в статье StackOverflow)
------------------------------------
Сообщение об ошибке:
can't launch "./metashape.sh" with error "error while loading shared libraries: libGLU.so.1"
Решение: установите mesa-libglu.
Например, в CentOS 8:
yum install mesa-libGLU
------------------------------------
Сообщение об ошибке:
can't launch "./metashape.sh" with error "symbol lookup error: /lib64/libhogweed.so.4: undefined symbol: __gmpn_cnd_sub_n"
Решение: удалите lib/libgmp.so.10 в комплекте с Metashape (дополнительную информацию см. в статье GitHub).