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?
Quote:
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
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.
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.
Re: CentOS make error for RC1
Quote:
Originally Posted by
cn187
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'
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
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
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.
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!
Re: CentOS make error for RC1