Для простых манипуляций со строками обычно следует использовать собственные конструкции оболочки, привязанные к раскрытию параметров . Внешние утилиты лучше обрабатывают большие объемы текста, но для одной строки запуск внешнего инструмента выполняется медленно, а правильное цитирование может быть затруднено.
mystring='{41c33a-4893b-3627a-617a} '
content="${mystring#*>}"; content="${content%<*}"
braced="${mystring#*\{}"; braced="${braced%%\}*}"; braced="{$braced}"
содержимое
устанавливается равным исходной строке за вычетом начальной и конечной частей
. в скобках
устанавливается первая часть, которая выглядит как {…}
.
У меня была такая же проблема с Virtualbox 5.1 в Ubuntu 14.04. Я исправил это, может быть, не лучшим образом, но он работает:
ldd /usr/lib/virtualbox/plugins/platforms/libqxcb.so | grep not
В нем перечислены неработающие ссылки на некоторые библиотеки. Теперь вы можете видеть, что все эти ссылки находятся в одной папке / usr / lib / virtualbox /
. Если вы мне не верите, попробуйте следующее:
sudo updatedb
locate libQt5XcbQpaVBox.so.5
Затем вручную создайте несколько программных ссылок на известную папку :
sudo ln -s /usr/lib/virtualbox/libQt5XcbQpaVBox.so.5 /lib/i386-linux-gnu/
создайте ссылку для каждого перечисленного списка библиотек, запустив первую команду, и все!
xcb
- это несвязанный пакет (есть только так много TLA). Вам нужен плагин Qt под названием XCB. В Debian jessie он находится в libqt5gui5
, но необходимого файла libqxcb.so
нет в самой wheezy. Вам нужно получить его из wheezy backports.
Обратите внимание, что wheezy устарела и не поддерживается. Вам следует обновиться.
Та же проблема при установке VirtualBox 5.1.6 на текущую версию Slackware. VirtualBox 5.1 требует qt5, которому, как оказалось, нужен пакет libxkbcommon (который я не устанавливал). После получения этого пакета из slackbuilds.org VirtualBox запустился нормально.
.deb el paquete de VirtualBox depende de libqxcb externamente (no viene incluido ), al instalarlo y ejecutar VirtualBox me mostró este error:
$ VirtualBox
Qt FATAL: This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Available platform plugins are: minimal, offscreen, xcb.
Reinstalling the application may fix this problem.
Aborted
Incluso encontrar paquetes rotos por ldd y crear sus enlaces blandos no me ayudó.
Pero en el paquete .run , no mostró ningún error de este tipo porque el paquete .run viene con todas las dependencias incluidas.
Todavía no pude encontrar la solución a este error, pero aquí hay una solución alternativa puede intentar ejecutar VirtualBox desinstalando la versión actual y luego instalando .run paquete:
wget https://download.virtualbox.org/virtualbox/5.2.12/VirtualBox-5.2.12-122591-Linux_amd64.run
chmod +x VirtualBox-5.2.12-122591-Linux_amd64.run
sudo./VirtualBox-5.2.12-122591-Linux_amd64.run
Otra solución es limpiar la compilación Qt del sistema y volver a crearla, pero lleva mucho tiempo, así que elegí este método.
Для тех, кто все еще застрял после того, как перепробовал все остальные варианты в Интернете, вы можете посмотреть точный путь, по которому ищется этот пресловутый libqxcb.so
, для открытия/загрузки с помощью Qt
Приложение(VirtualBox-5.2.8
— это приложение Qt
в моем случае ), использующее инструмент strace . В моем случае, поскольку я собирал VirtualBox-5.2.8
из исходного кода, он искал libqxcb.so
в расположенном ниже месте:"...VirtualBox-5.2.8/out/linux.amd64/release/bin/platforms/"
а не в default
пути к библиотеке, Qt
путь установки и т. д. Таким образом, ни одна из ldd
проверок и других решений не сработала. А также настройка QT_DEBUG_PLUGINS=1
тоже не выдавала лишних логов.
Запуск strace в бинарном файле VirtualBox, который я создал с помощью Clang/LLVM в Ubuntu 17.10 x86 _64:
...VirtualBox-5.2.8$ strace./out/linux.amd64/release/bin/VirtualBox
.
.
.
access(".../VirtualBox-5.2.8/out/linux.amd64/release/bin/platforms/.", F_OK) = -1 ENOENT (No such file or directory)
write(2, "Qt FATAL: ", 10Qt FATAL: ) = 10
write(2, "This application failed to start"..., 154This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Reinstalling the application may fix this problem.) = 154
.
.
.
Это был мой hitting-the-nail-on-its-head
момент, и я создал symlink
из установленного Qt5.10.1
каталога platforms
, упомянутого ниже :"...Qt5.10.1/Tools/QtCreator/lib/Qt/plugins/platforms/"
на искомый путь "...VirtualBox-5.2.8/out/linux.amd64/release/bin/"
. Таким образом, VirtualBox-5.2.8
собран из исходников на Linux(Ubuntu 17.10 x86_64
)с использованием Clang/LLVM
, наконец,успешно запущен!
На самом деле, еще одна интересная вещь заключается в том, что я построил VirtualBox-5.2.8
полностью с использованием Clang/Clang++/LLVM
на Ubuntu 17.10 x86_64
после значительных усилий -для FreeBSD
, уже есть порт для сборки VirtualBox
с использованием clang
, но для Linuxон сильно зависит от GCC
, как я видел, и, следовательно, потребовалось много усилий, чтобы добраться до этой точки, чтобы иметь возможность успешно собрать VirtualBox-5.2.8
из исходного кода, используя Clang/Clang++/LLVM
на Ubuntu 17.10 x86_64
для целиLinux/AMD64
(Ubuntu 17.10 x86_64
)и успешно запустить это после решения других вопросов, кроме этого пресловутого libqxcb.so
.
Удачи.