Share

Valknut

The forum address has changed, you have been automatically redirected. Please update any bookmarks to use the new URL.

Subscribe

0.4.0 compilation question

  1. 2008-06-07 13:51:31 UTC
    I have some questions about the compile method of 0.4.0. The compilation of dclib was successful, i built it to a separated directory from the 0.3.15's dclib. Then i did:
    pityke@pityke-desktop:~/valknut314/valknut-0.4.0$ ./configure --prefix=/home/pityke/valknut314/buildqt4/valknut PKG_CONFIG_PATH=/home/pityke/valknut314/buildqt4/dclib/lib/pkgconfig
    the configure has stopped with this message:
    checking that dclib SSL use matches valknut SSL use... configure: error: dclib must be built with the same SSL option as valknut. If you used --without-ssl for dclib, you must also use it for valknut.
    I tried what happens if i add the --without-ssl switch.
    The configure was succesfull but in that case but i got a make error:
    Making all in ui
    make[3]: Entering directory `/home/pityke/valknut314/valknut-0.4.0/valknut/ui'
    /usr/bin/uic -o DCDialogFileBrowser.h ./DCDialogFileBrowser.ui
    uic: File generated with too recent version of Qt Designer (4.0 vs. 3.3.8b)
    make[3]: *** [DCDialogFileBrowser.h] Error 1
    make[3]: Leaving directory `/home/pityke/valknut314/valknut-0.4.0/valknut/ui'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/pityke/valknut314/valknut-0.4.0/valknut'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/pityke/valknut314/valknut-0.4.0'
    make: *** [all] Error 2
    I have Qt 4.3.4 installed, and i'm using ubuntu 8.04; the make is GNU Make 3.81
    What i'm doing wrong?
    Regards,
    osod88
  2. 2008-06-08 13:03:56 UTC
    Ubuntu appear to have packaged QT4 incorrectly. According to http://packages.ubuntu.com/hardy/i386/libqt4-dev/filelist , they have put the QT4 version of uic into /usr/share/qt4/bin , but /usr/share/ is for architecture independent files only, not compiled binary programs.

    Valknut's configure script looks for uic in `pkg-config --variable prefix QtCore`/bin, and fails to find it, so the QT3 version is used, which fails.

    I will adjust the configure script to prefer uic-qt4.
  3. 2008-06-08 13:22:58 UTC
    Meanwhile, adjust your PATH so that the QT4 tools are first e.g. add PATH=/usr/share/qt4/bin:$PATH to the configure arguments.

    Also, if dclib/valknut SSL does not match, valknut will compile, but crash immediately when run. Probably the configure test is broken and dclib-ssl-use.h is not being found.

  4. 2008-06-08 14:57:43 UTC
    Ok, I will keep on trying with this. Thanks for your help.
    Regards,
    osod88
  5. 2008-06-11 21:16:32 UTC
    i have the same problem (obviously with the same operative system =) )
    i have tryed to rename the file '/usr/bin/uic-qt3' in 'uic-qt3.old' (random choice) and '/usr/bin/uic-qt4' in 'uic-qt3', so qt uic was linked to qt4core and not qt3. however after i having launched 'make', the compilation was arrested with an error message:

    cdialogmessage.moc.cpp:15:34: error: private/qucomextra_p.h: No such file or directory
    cdialogmessage.moc.cpp:17:2: error: #error "This file was generated using the moc from 3.3.8b. It"
    cdialogmessage.moc.cpp:18:2: error: #error "cannot be used with the include files from this version of Qt."
    cdialogmessage.moc.cpp:19:2: error: #error "(The moc has changed too much.)"
    cdialogmessage.moc.cpp:22: error: no 'const char* CDialogMessage::className() const' member function declared in class 'CDialogMessage'
    cdialogmessage.moc.cpp:27: error: 'QMetaObject* CDialogMessage::metaObj' is not a static member of 'class CDialogMessage'
    cdialogmessage.moc.cpp:28: error: 'QMetaObjectCleanUp' does not name a type
    cdialogmessage.moc.cpp:31: error: redefinition of 'static QString CDialogMessage::tr(const char*, const char*)'
    cdialogmessage.h:31: error: 'static QString CDialogMessage::tr(const char*, const char*)' previously defined here
    cdialogmessage.moc.cpp: In static member function 'static QString CDialogMessage::tr(const char*, const char*)':
    cdialogmessage.moc.cpp:34: error: cannot convert 'QString(((const QString&)(((QApplication*)QCoreApplication::instance()), ((const QString*)(& QCoreApplication::translate(const char*, const char*, const char*, QCoreApplication::Encoding)(s, c, CodecForTr))))))' from type 'QString' to type 'QString&'
    cdialogmessage.moc.cpp:36: error: cannot convert 'QString::fromLatin1(const char*, int)(-0x00000000000000001)' from type 'QString' to type 'QString&'
    cdialogmessage.moc.cpp: At global scope:
    cdialogmessage.moc.cpp:39: error: redefinition of 'static QString CDialogMessage::trUtf8(const char*, const char*)'
    cdialogmessage.h:31: error: 'static QString CDialogMessage::trUtf8(const char*, const char*)' previously defined here
    cdialogmessage.moc.cpp: In static member function 'static QString CDialogMessage::trUtf8(const char*, const char*)':
    cdialogmessage.moc.cpp:42: error: cannot convert 'QString(((const QString&)(((QApplication*)QCoreApplication::instance()), ((const QString*)(& QCoreApplication::translate(const char*, const char*, const char*, QCoreApplication::Encoding)(s, c, UnicodeUTF8))))))' from type 'QString' to type 'QString&'
    cdialogmessage.moc.cpp:44: error: cannot convert 'QString::fromUtf8(const char*, int)(-0x00000000000000001)' from type 'QString' to type 'QString&'
    cdialogmessage.moc.cpp: At global scope:
    cdialogmessage.moc.cpp:50: error: no 'QMetaObject* CDialogMessage::staticMetaObject()' member function declared in class 'CDialogMessage'
    cdialogmessage.moc.cpp: In member function 'QMetaObject* CDialogMessage::staticMetaObject()':
    cdialogmessage.moc.cpp:52: error: 'metaObj' was not declared in this scope
    cdialogmessage.moc.cpp:54: error: no match for call to '(const QMetaObject) ()'
    cdialogmessage.moc.cpp:55: error: 'QUMethod' does not name a type
    cdialogmessage.moc.cpp:56: error: 'QUMethod' does not name a type
    cdialogmessage.moc.cpp:57: error: 'QUMethod' does not name a type
    cdialogmessage.moc.cpp:58: error: 'QMetaData' does not name a type
    cdialogmessage.moc.cpp:63: error: 'metaObj' was not declared in this scope
    cdialogmessage.moc.cpp:63: error: 'new_metaobject' is not a member of 'QMetaObject'
    cdialogmessage.moc.cpp:65: error: 'slot_tbl' was not declared in this scope
    cdialogmessage.moc.cpp:72: error: 'cleanUp_CDialogMessage' was not declared in this scope
    cdialogmessage.moc.cpp: At global scope:
    cdialogmessage.moc.cpp:76: error: no 'void* CDialogMessage::qt_cast(const char*)' member function declared in class 'CDialogMessage'
    cdialogmessage.moc.cpp: In member function 'void* CDialogMessage::qt_cast(const char*)':
    cdialogmessage.moc.cpp:82: error: 'qt_cast' is not a member of 'QDialog'
    cdialogmessage.moc.cpp: At global scope:
    cdialogmessage.moc.cpp:85: error: 'QUObject' has not been declared
    cdialogmessage.moc.cpp:85: error: no 'bool CDialogMessage::qt_invoke(int, int*)' member function declared in class 'CDialogMessage'
    cdialogmessage.moc.cpp: In member function 'bool CDialogMessage::qt_invoke(int, int*)':
    cdialogmessage.moc.cpp:87: error: 'struct QMetaObject' has no member named 'slotOffset'
    cdialogmessage.moc.cpp:92: error: 'qt_invoke' is not a member of 'QDialog'
    cdialogmessage.moc.cpp: At global scope:
    cdialogmessage.moc.cpp:97: error: 'QUObject' has not been declared
    cdialogmessage.moc.cpp:97: error: no 'bool CDialogMessage::qt_emit(int, int*)' member function declared in class 'CDialogMessage'
    cdialogmessage.moc.cpp: In member function 'bool CDialogMessage::qt_emit(int, int*)':
    cdialogmessage.moc.cpp:99: error: 'qt_emit' is not a member of 'QDialog'
    cdialogmessage.moc.cpp: At global scope:
    cdialogmessage.moc.cpp:103: error: no 'bool CDialogMessage::qt_property(int, int, QVariant*)' member function declared in class 'CDialogMessage'
    cdialogmessage.moc.cpp: In member function 'bool CDialogMessage::qt_property(int, int, QVariant*)':
    cdialogmessage.moc.cpp:105: error: 'qt_property' is not a member of 'QDialog'
    cdialogmessage.moc.cpp: At global scope:
    cdialogmessage.moc.cpp:108: error: no 'bool CDialogMessage::qt_static_property(QObject*, int, int, QVariant*)' member function declared in class 'CDialogMessage'
    make[3]: *** [cdialogmessage.moc.lo] Error 1
    make[3]: Leaving directory `/home/cesare/valknut-0.4.0a/valknut/ui'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/cesare/valknut-0.4.0a/valknut'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/cesare/valknut-0.4.0a'
    make: *** [all] Error 2
  6. 2008-06-12 14:09:40 UTC
    The wrong moc was run.

    Just adjust your PATH so that the QT4 bin directory is first.
  7. 2008-06-12 20:20:47 UTC
    Great! I have renamed also the file '/usr/share/bin/moc-qt3' in 'moc-qt3.old' and '/usr/share/bin/moc-qt4' in 'moc-qt3' and i have succeed to compile :)

    thanks a lot
  8. 2009-08-20 14:31:38 UTC
    Instead of doing the hard way you may try
    sudo update-alternatives --config qmake
< Previous | 1 | Next >

Add a Reply

This forum does not allow anonymous participation.

Log in to add a reply. Not registered? Create an account to participate and receive email updates when replies are posted to this topic.