Results 1 to 9 of 9

Thread: CentOS make error for RC1

  1. #1
    Registered User
    Join Date
    Nov 2020
    Posts
    10

    CentOS make error for RC1

    I tried to install seq6 rc1 and get the following error on CentOS Linux release 7.8.2003 (Core) and gnome. Been running seq5 for months but can't get seq6 make command to complete. Below is the output from the make command after makefile and ./configure

    Any ideas on what to try?

    make all-recursive
    make[1]: Entering directory `/root/showeq6'
    Making all in src
    make[2]: Entering directory `/root/showeq6/src'
    g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include -I/usr/include/Qt -I/usr/include/Qt3Support -I/usr/include/QtCore -I/usr/include/QtDBus -I/usr/include/QtDeclarative -I/usr/include/QtDesigner -I/usr/include/QtGui -I/usr/include/QtHelp -I/usr/include/QtMultimedia -I/usr/include/QtNetwork -I/usr/include/QtOpenGL -I/usr/include/QtScript -I/usr/include/QtScriptTools -I/usr/include/QtSql -I/usr/include/QtSvg -I/usr/include/QtTest -I/usr/include/QtUiTools -I/usr/include/QtXml -I/usr/include/QtXmlPatterns -I. -DPKGDATADIR=\"/usr/local/share/showeq/\" -I/usr/include/pcap -D_REENTRANT -O2 -Wall -g -ggdb -DDEBUG -finline-functions -DQT_THREAD_SUPPORT=1 -DDISPLAY_ICONS=false -DICON_DIR=\"/eq-icons/\" -std=c++11 -MT map.o -MD -MP -MF .deps/map.Tpo -c -o map.o map.cpp
    In file included from map.cpp:33:0:
    mapicondialog.h:29:49: error: ‘Ui’ has not been declared
    class MapIconDialog : public QDialog, protected Ui::MapIconDialog
    ^
    mapicondialog.h:29:53: error: expected ‘{’ before ‘MapIconDialog’
    class MapIconDialog : public QDialog, protected Ui::MapIconDialog
    ^
    mapicondialog.h:30:1: error: invalid type in declaration before ‘{’ token
    {
    ^
    In file included from /usr/include/QtGui/qwindowdefs.h:45:0,
    from /usr/include/QtGui/qwidget.h:46,
    from /usr/include/QtGui/QWidget:1,
    from map.h:32,
    from map.cpp:32:
    mapicondialog.h:31:5: error: expected primary-expression before ‘public’
    Q_OBJECT
    ^
    mapicondialog.h:31:5: error: expected ‘}’ before ‘public’
    mapicondialog.h:31:5: error: expected ‘,’ or ‘;’ before ‘public’
    mapicondialog.h:31:5: error: uninitialized const ‘staticMetaObject’ [-fpermissive]
    Q_OBJECT
    ^
    /usr/include/QtCore/qobjectdefs.h:304:22: note: ‘const struct QMetaObject’ has no user-provided default constructor
    struct Q_CORE_EXPORT QMetaObject
    ^
    In file included from /usr/include/QtGui/qwindowdefs.h:45:0,
    from /usr/include/QtGui/qwidget.h:46,
    from /usr/include/QtGui/QWidget:1,
    from map.h:32,
    from map.cpp:32:
    /usr/include/QtCore/qobjectdefs.h:469:28: note: and the implicitly-defined constructor does not initialize ‘const QMetaObject* QMetaObject::<anonymous struct>::superdata’
    const QMetaObject *superdata;
    ^
    In file included from /usr/include/QtGui/qwindowdefs.h:45:0,
    from /usr/include/QtGui/qwidget.h:46,
    from /usr/include/QtGui/QWidget:1,
    from map.h:32,
    from map.cpp:32:
    mapicondialog.h:31:5: error: ‘virtual’ outside class declaration
    Q_OBJECT
    ^
    mapicondialog.h:31:5: error: non-member function ‘const QMetaObject* metaObject()’ cannot have cv-qualifier
    mapicondialog.h:31:5: error: ‘virtual’ outside class declaration
    Q_OBJECT
    ^
    mapicondialog.h:31:5: error: ‘virtual’ outside class declaration
    Q_OBJECT
    ^
    mapicondialog.h:31:5: error: expected unqualified-id before ‘private’
    Q_OBJECT
    ^
    In file included from map.cpp:33:0:
    mapicondialog.h:33:5: error: expected unqualified-id before ‘public’
    public:
    ^
    mapicondialog.h:35:25: error: expected constructor, destructor, or type conversion before ‘;’ token
    ~MapIconDialog();
    ^
    mapicondialog.h:37:5: error: expected unqualified-id before ‘public’
    public slots:
    ^
    mapicondialog.h:39:29: error: ‘virtual’ outside class declaration
    virtual void revert();
    ^
    mapicondialog.h:40:27: error: ‘virtual’ outside class declaration
    virtual void init();
    ^
    mapicondialog.h:41:30: error: ‘virtual’ outside class declaration
    virtual void destroy();
    ^
    mapicondialog.h:42:55: error: ‘virtual’ outside class declaration
    virtual void setMapIcons( MapIcons * mapIcons );
    ^
    mapicondialog.h:43:53: error: ‘virtual’ outside class declaration
    virtual void mapIconCombo_activated( int id );
    ^
    mapicondialog.h:44:44: error: ‘virtual’ outside class declaration
    virtual void imagePenColor_clicked();
    ^
    mapicondialog.h:45:46: error: ‘virtual’ outside class declaration
    virtual void imageBrushColor_clicked();
    ^
    mapicondialog.h:46:48: error: ‘virtual’ outside class declaration
    virtual void highlightPenColor_clicked();
    ^
    mapicondialog.h:47:50: error: ‘virtual’ outside class declaration
    virtual void highlightBrushColor_clicked();
    ^
    mapicondialog.h:48:44: error: ‘virtual’ outside class declaration
    virtual void line0PenColor_clicked();
    ^
    mapicondialog.h:49:44: error: ‘virtual’ outside class declaration
    virtual void line1PenColor_clicked();
    ^
    mapicondialog.h:50:44: error: ‘virtual’ outside class declaration
    virtual void line2PenColor_clicked();
    ^
    mapicondialog.h:51:47: error: ‘virtual’ outside class declaration
    virtual void walkPathPenColor_clicked();
    ^
    mapicondialog.h:52:42: error: ‘virtual’ outside class declaration
    virtual void setupMapIconDisplay();
    ^
    mapicondialog.h:54:5: error: expected unqualified-id before ‘protected’
    protected:
    ^
    mapicondialog.h:60:1: error: expected declaration before ‘}’ token
    };
    ^
    In file included from /usr/include/QtGui/qwindowdefs.h:45:0,
    from /usr/include/QtGui/qwidget.h:46,
    from /usr/include/QtGui/QWidget:1,
    from map.h:32,
    from map.cpp:32:
    mapicondialog.h:31:5: warning: ‘void qt_static_metacall(QObject*, QMetaObject::Call, int, void**)’ declared ‘static’ but never defined [-Wunused-function]
    Q_OBJECT
    ^
    make[2]: *** [map.o] Error 1
    make[2]: Leaving directory `/root/showeq6/src'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/root/showeq6'
    make: *** [all] Error 2

  2. #2
    Registered User
    Join Date
    Nov 2020
    Posts
    10

    Re: CentOS make error for RC1

    Test on a different machine with a fresh install of Cent 7.9.2009 with QT4 Qt4-devel etc and same error as above.

  3. #3
    Administrator
    Join Date
    Oct 2019
    Posts
    497

    Re: CentOS make error for RC1

    Code:
    In file included from map.cpp:33:0:
    mapicondialog.h:29:49: error: ‘Ui’ has not been declared
     class MapIconDialog : public QDialog, protected Ui::MapIconDialog
    Ui gets declared in ui_mapicondialog.h, which is generated during the build by the Qt UIC.

    My guess is it's trying to use your Qt3 UIC instead of your Qt4 UIC. If you search in config.log for UIC, you should be able to see what UIC version it's finding and where.

    It may make sense to adjust the search ordering in the configure scripts and/or do a version check on the UIC itself. If you let me know what your Qt3 and Qt4 UIC paths, I'll see what I can do.

  4. #4
    Registered User
    Join Date
    Nov 2020
    Posts
    10

    Re: CentOS make error for RC1

    Quote Originally Posted by cn187 View Post
    Code:
    In file included from map.cpp:33:0:
    mapicondialog.h:29:49: error: ‘Ui’ has not been declared
     class MapIconDialog : public QDialog, protected Ui::MapIconDialog
    Ui gets declared in ui_mapicondialog.h, which is generated during the build by the Qt UIC.

    My guess is it's trying to use your Qt3 UIC instead of your Qt4 UIC. If you search in config.log for UIC, you should be able to see what UIC version it's finding and where.

    It may make sense to adjust the search ordering in the configure scripts and/or do a version check on the UIC itself. If you let me know what your Qt3 and Qt4 UIC paths, I'll see what I can do.
    I'm not sure if this is the right info you are looking for in the logs, I'm definitely not a linux user so might need more help if this is not it. Looks like it might be trying to use q3. How do I change the search order to try qt4 first?


    configure:17866: checking for Qt4 UIC
    configure:17985: tried to call /usr/lib64/qt-3.3/bin/uic -v 2>&1 | sed -e '1q' | grep Qt
    configure:17986: uic output: Qt user interface compiler.

    ac_cv_path_uic=/usr/lib64/qt-3.3/bin/uic

    UIC='/usr/lib64/qt-3.3/bin/uic'

  5. #5
    Administrator
    Join Date
    Oct 2019
    Posts
    497

    Re: CentOS make error for RC1

    Yes, that's the right info, thanks.

    It's definitely trying to use the Qt3 UIC, so that's likely the problem.

    If your Qt4 packages are installed in a standard location (like /usr/lib64/qt4 on 64-bit CentOS), then the current search order should find the Qt4 version before it finds the Qt3 version.

    As a workaround, you can try

    Code:
    UIC=/path/to/your/uic ./configure
    You might try looking under /usr/lib64/qt4/bin for the Qt4 UIC, but if it was there, then configure should have already found it.

    Also, would you please paste the output of the following commands:

    Code:
    rpm -q qt
    
    rpm -q qt-devel
    
    locate bin/uic
    Last edited by cn187; 11-18-2020 at 05:26 PM.

  6. #6
    Registered User
    Join Date
    Nov 2020
    Posts
    10

    Re: CentOS make error for RC1

    my qt4 UIC is /usr/lib64/qt4/bin/uic, I don't understand the workaround, UIC= that path will set the environment variable for configure?

    Code:
    rpm -q qt-devel
    qt-devel-4.8.7-9.el7_9.x86_64
    
    rpm -q qt
    qt-4.8.7-9.el7_9.x86_64
    
    locate bin/uic
    locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
    
    echo $QTDIR
    /usr/lib64/qt-3.3
    I don't want to uninstall qt3 yet since I use seq5 and still need it... I tried UIC=/usr/lib64/qt4/uic ./configure

    but that is still giving me errors on make, config.log is still referencing qt3.3
    Last edited by kimmel; 11-18-2020 at 07:32 PM.

  7. #7
    Administrator
    Join Date
    Oct 2019
    Posts
    497

    Re: CentOS make error for RC1

    Yes, the UIC= should override the UIC path (the configure script checks for the UIC env var and will use it if it exists). When you set that, are the errors you get the same, or different?

    Regardless, if QTDIR is set to qt-3.3, that's going to be an issue as well, since that will override things in a similar way to trying to override UIC.

    do
    Code:
    QTDIR=/usr/lib64/qt4 ./configure
    or alternatively

    Code:
    export QTDIR=/usr/lib64/qt4
    ./configure
    and see if that solves it.

  8. #8
    Registered User
    Join Date
    Nov 2020
    Posts
    10

    Re: CentOS make error for RC1

    Export worked but I had to make -f Makefile.dist build and then do ./configure, if I just did ./configure and then make it would error like before. Either way, guess I had to force the QTDIR variable but it compiled. Thanks for all the hints!

  9. #9
    Administrator
    Join Date
    Oct 2019
    Posts
    497

    Re: CentOS make error for RC1

    Glad you got it working!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is Off
vB code is On
Smilies are On
[IMG] code is On