SEGSEGV при загрузке libgtk-x11-2.0.so через boost dll

Проблема такая: загружаю с помощью boost dll библиотеку GTK+, с libgtk-3.so все работает нормально, но если ее нет то возможно есть версия GTK+2, но при попытке загрузить ее программа завершается с SEGSEGV.

#include <boost/dll.hpp>
#include <boost/dll/shared_library.hpp>
#include <boost/move/make_unique.hpp>
#include <boost/move/unique_ptr.hpp>

struct _GtkSettings;
using GtkSettings = _GtkSettings;

namespace dll = boost::dll;
class GtkLibraryLoader {
public:
    GtkLibraryLoader();
private:
    boost::shared_ptr<dll::shared_library> m_gtkLib;

    using GtkFreeFuncT = dll::detail::library_function<void(void*)>;
    boost::movelib::unique_ptr<GtkFreeFuncT> m_gtkFree;

    using GtkGObjectGetFuncT = dll::detail::library_function<void(void*, const char*, ...)>;
    boost::movelib::unique_ptr<GtkGObjectGetFuncT> m_gtkGObjectGet;

    using GtkSettingsGetFuncT = dll::detail::library_function<GtkSettings*(void)>;
    boost::movelib::unique_ptr<GtkSettingsGetFuncT> m_gtkSettingsGet;
};


GtkLibraryLoader::GtkLibraryLoader() : m_gtkLib(boost::make_shared<dll::shared_library>()) {
    try {
        m_gtkLib->load("/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so");
    } catch (...) { }
}

int main() {
    GtkLibraryLoader a;
}

Сама библиотека лежит в указанной директории, не понимаю почему программа сразу падает


Ответы (0 шт):