У меня есть проект CMake, где я написал C ++ библиотеку «Mathematica ++», которая абстрагирует Mathematica’s WSTP
вызывает и переносит объекты C ++ как объекты mathematica. Для этого я использую Mathematica CMake Module
доступно на github.
У меня есть другой подпроект командной строки, который использует библиотеку mathematica++
как общая библиотека и все работает отлично.
У меня есть другой проект GUI, использующий QT5, который также связан с mathematica++
это не начинается. Однако приложение Hello world на основе QT5 компилируется и работает нормально. Даже если я просто уберу зависимость mathematica ++, она начнет работать. Когда QT5 и Mathematica связаны между собой, я получаю следующую ошибку
Не удалось запустить это приложение, так как не удалось найти или загрузить
Плагин платформы Qt «xcb» в «».Доступные плагины платформы: custom-wayland, eglfs, linuxfb,
минимальный, минималегл, за кадром, wayland-egl, wayland,
wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.Переустановка приложения может решить проблему. Прервано (ядро
сбрасывали)
Если я использую QT4 вместо QT5, я получаю другую ошибку
QGtkStyle не может разрешить GTK. Убедитесь, что вы установили
правильные библиотеки.
Однако приложения на базе QT4 и QT5 работают нормально. Даже подпроект командной строки, который использует библиотеки mathematica, также работает нормально. Я не знаю, имеют ли библиотеки Mathametica какие-либо зависимости gtk / glib2, которые конфликтуют с зависимостями gtk / glib2 QT. Но так как это не библиотека с графическим интерфейсом, я не знаю, почему она имеет зависимости от gtk / glib2. Я подозреваю, что mathematica и QT ссылаются на две разные версии библиотек gtk / glib2.
Ниже приведены зависимости приложения с графическим интерфейсом при компиляции с зависимостями mathematica.
$ ldd schedulerqt
linux-vdso.so.1 (0x00007ffcff782000)
libQt5Widgets.so.5 => /lib64/libQt5Widgets.so.5 (0x00007f9898424000)
libmathematica++.so => /home/sensiaas/projects/senschedule/build/mathematica++/libmathematica++.so (0x00007f9898170000)
libQt5Gui.so.5 => /lib64/libQt5Gui.so.5 (0x00007f9897ccd000)
libQt5Core.so.5 => /lib64/libQt5Core.so.5 (0x00007f9897843000)
libboost_filesystem.so.1.60.0 => /lib64/libboost_filesystem.so.1.60.0 (0x00007f989762b000)
libboost_system.so.1.60.0 => /lib64/libboost_system.so.1.60.0 (0x00007f9897427000)
libWSTP64i4.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Links/WSTP/DeveloperKit/Linux-x86-64/CompilerAdditions/libWSTP64i4.so (0x00007f9896fd5000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f9896c4d000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9896a2f000)
librt.so.1 => /lib64/librt.so.1 (0x00007f9896827000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9896621000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f989641c000)
libML64i4.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-64/CompilerAdditions/libML64i4.so (0x00007f98961e8000)
libWolframRTL.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libWolframRTL.so (0x00007f9895ee2000)
libm.so.6 => /lib64/libm.so.6 (0x00007f9895bd9000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f98959c2000)
libc.so.6 => /lib64/libc.so.6 (0x00007f98955fa000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007f9895389000)
libharfbuzz.so.0 => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libharfbuzz.so.0 (0x00007f9895122000)
libz.so.1 => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libz.so.1 (0x00007f9894f0a000)
libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f9894cd7000)
libicui18n.so.57 => /lib64/libicui18n.so.57 (0x00007f989485d000)
libicuuc.so.57 => /lib64/libicuuc.so.57 (0x00007f98944b4000)
libicudata.so.57 => /lib64/libicudata.so.57 (0x00007f9892a37000)
libpcre16.so.0 => /lib64/libpcre16.so.0 (0x00007f98927ce000)
libgthread-2.0.so.0 => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libgthread-2.0.so.0 (0x00007f98925cd000)
libglib-2.0.so.0 => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libglib-2.0.so.0 (0x00007f9892270000)
libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f98921e5000)
/lib64/ld-linux-x86-64.so.2 (0x0000558688c3a000)
libmkl_def.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libmkl_def.so (0x00007f9890517000)
libmkl_intel_ilp64.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libmkl_intel_ilp64.so (0x00007f988fbb5000)
libmkl_core.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libmkl_core.so (0x00007f988e10e000)
libmkl_intel_thread.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libmkl_intel_thread.so (0x00007f988c700000)
libiomp5.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libiomp5.so (0x00007f988c35d000)
libippcc.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippcc.so (0x00007f988c142000)
libippcv.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippcv.so (0x00007f988bf1f000)
libippi.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippi.so (0x00007f988bc7c000)
libipps.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libipps.so (0x00007f988ba36000)
libippvm.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippvm.so (0x00007f988b820000)
libippcore.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippcore.so (0x00007f988b614000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f988b3e8000)
libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f988b1e5000)
libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007f988afe2000)
libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007f988addb000)
libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007f988abd8000)
libglapi.so.0 => /lib64/libglapi.so.0 (0x00007f988a9a9000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f988a780000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f988a56e000)
libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f988a36b000)
libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f988a165000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f9889f63000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f9889c24000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f98899fa000)
libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007f98897df000)
libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007f98895da000)
libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f98893d4000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f98891c3000)
libfreetype.so.6 => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libfreetype.so.6 (0x00007f9888f2f000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f9888d14000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f9888b0f000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f98888e9000)
liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f98886d5000)
libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f98883ef000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f98881d9000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f9887fd5000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f9887d62000)
Ниже приведены зависимости инструмента командной строки.
$ ldd scheduler
linux-vdso.so.1 (0x00007ffc6ff02000)
libboost_filesystem.so.1.60.0 => /lib64/libboost_filesystem.so.1.60.0 (0x00007f1824b96000)
libboost_system.so.1.60.0 => /lib64/libboost_system.so.1.60.0 (0x00007f1824992000)
libmathematica++.so => /home/sensiaas/projects/senschedule/build/mathematica++/libmathematica++.so (0x00007f18246de000)
libWSTP64i4.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Links/WSTP/DeveloperKit/Linux-x86-64/CompilerAdditions/libWSTP64i4.so (0x00007f182428a000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f1823f02000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1823ce4000)
librt.so.1 => /lib64/librt.so.1 (0x00007f1823adc000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f18238d8000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f18236d3000)
libML64i4.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-64/CompilerAdditions/libML64i4.so (0x00007f182349d000)
libWolframRTL.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libWolframRTL.so (0x00007f1823197000)
libm.so.6 => /lib64/libm.so.6 (0x00007f1822e8e000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f1822c77000)
libc.so.6 => /lib64/libc.so.6 (0x00007f18228b1000)
/lib64/ld-linux-x86-64.so.2 (0x0000561db3517000)
libmkl_def.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libmkl_def.so (0x00007f1820be3000)
libmkl_intel_ilp64.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libmkl_intel_ilp64.so (0x00007f1820281000)
libmkl_core.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libmkl_core.so (0x00007f181e7da000)
libmkl_intel_thread.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libmkl_intel_thread.so (0x00007f181cdcc000)
libiomp5.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libiomp5.so (0x00007f181ca29000)
libippcc.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippcc.so (0x00007f181c810000)
libippcv.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippcv.so (0x00007f181c5eb000)
libippi.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippi.so (0x00007f181c348000)
libipps.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libipps.so (0x00007f181c102000)
libippvm.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippvm.so (0x00007f181beec000)
libippcore.so => /usr/local/Wolfram/Mathematica/11.1/SystemFiles/Libraries/Linux-x86-64/libippcore.so (0x00007f181bce0000)
Задача ещё не решена.
Других решений пока нет …