Иногда обработка в 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).