Planned maintenance has been done but it did not solve the problem. So work will continue on this and a new time for trying updates will be announced asap.

[solved][Mac OS X] Additional plugins for Qt (qca plugins)



  • Hi.
    In my application I'm using qca-ossl plugin. It works flawlessly in Linux, but I'm having some issues on Mac OS X 10.5. I'm using Qt 4.7.1 and QtCreator 2.0.1 (both from .dmg files). Then I've installed "QCA framework":http://delta.affinix.com/qca/ (2.0.3 from source) and tested it. Because configure does not find Qt (even though qmake is in path and I'm setting --qtdir) I've downloaded already built "qca-plugins":http://delta.affinix.com/download/qca/2.0/qca-2.0-plugins-latest.dmg In Linux qca plugins are located in crypto subfolder of plugins (e.g. /usr/lib64/qt/plugins/crypto/), so I've created crypto folder in /Developer/Application/Qt/plugins/ and copied all .dylib files there. Still my application does not link to them. I'd be grateful for any suggestions.



  • You could add

    @
    qDebug() << qApp->libraryPaths();
    @

    to your main.cpp. There you can see, where your app searches for plugin folders. Put your crypto folder in one of that.



  • Thanks for your reply. It searches in /Developer/Application/Qt/plugins/. So it seems that it is problem with those .dylib files :/



  • I'll have a look into this later. Just need to finish my regular work ;-)



  • Can you tell us what exactly you did to install these libs, please. I don't know how to set up a test case for this, sorry.

    The disk image only contains the dylibs. Where are the header files to include and the base QCA libs that are needed?



  • So, I've installed Qt 4.7.1 and QtCreator 2.0.1 from dmg files. Then I've installed QCA framework "from source":http://delta.affinix.com/download/qca/2.0/qca-2.0.3.tar.bz2"
    @./configure
    make
    sudo make install@
    I've checked if it works. After downloading qca-plugins I've created directory crypto in /Developer/Application/Qt/plugins/ and copied all dylibs there.

    All header files are provided by qca, plugins provide only dylibs. For example these are contents of qca-ossl package installed on my Linux:
    @
    FILE LIST:
    ./
    usr/
    usr/doc/
    usr/doc/qca-ossl-2.0.0_beta3/
    usr/doc/qca-ossl-2.0.0_beta3/COPYING
    usr/doc/qca-ossl-2.0.0_beta3/TODO
    usr/doc/qca-ossl-2.0.0_beta3/README
    usr/lib64/
    usr/lib64/qt/
    usr/lib64/qt/plugins/
    usr/lib64/qt/plugins/crypto/
    usr/lib64/qt/plugins/crypto/libqca-ossl.so.debug
    usr/lib64/qt/plugins/crypto/libqca-ossl.so
    install/
    install/slack-desc
    @

    Example code:
    in .pro file you should add:
    @
    CONFIG += crypto
    @
    main.cpp
    @
    #include <QtCore/QCoreApplication>
    #include <QDebug>
    #include <QtCrypto>

    int main(int argc, char *argv[])
    {
    QCoreApplication a(argc, argv);
    QCA::Initializer init;
    qDebug() << QCA::supportedFeatures();
    return a.exec();
    }
    @



  • I'll give it a try tonight or tomorrow, stay tuned.



  • I've tried it now. The pre built plugins cannot be loaded. I've tried to load them manually with "QPluginLoader":http://doc.qt.nokia.com/latest/qpluginloader.html, that fails too and states that the file libqca-logger.dylib is not a valid Qt plugin.

    From how I interpret QPluginLoader's docs, the plugins need to be recompiled with your current Qt version.



  • I've found out that plugins configure problems can be solved by recreating configure file. It was created by tool called "QConf.":http://delta.affinix.com/qconf/ Problem is that QConf also has corrupted configure (same problem). I've informed developers about this situation and I hope it'll be fixed soon. "Thread about faulty configure.":http://lists.affinix.com/htdig.cgi/delta-affinix.com/2010-September/001736.html



  • I was adviced to try to run QConf's configure in that way:
    @
    QMAKESPEC=macx-g++ ./configure
    @ If it does not work, version from svn should. Also new release of qca-ossl is planned soon, which should fix those issues.
    I'll test it on Monday and update you with results.



  • adding
    @
    QMAKESPEC=macx-g++ ./configure
    @ for qca-ossl solved the issue. You don't have to use QConf (as I stated in my previous post).


Log in to reply