[CLAM] Clam-NetworkEditor compilation problems (ArchLinux)

David García Garzón dgarcia at iua.upf.edu
Mon Mar 30 09:38:35 PDT 2009

On Monday 30 March 2009 15:06:59 Maciej Ciemborowicz wrote:
> David García Garzón pisze:
> > If QtCore.pc, QtGui.pc, QtOpenGL.pc... point to /opt, it is a bug and i
> > suggest you to report it to your distribution packager. So, could you
> > send us the content of /usr/lib/pkgconfig/QtCore.pc
> > and the output of:
> > $ pkg-config --cflags --libs QtOpenGL
> >
> > Maybe we could fix it by hand.
> >
> > On the other hand, having QTDIR defined just makes CLAM's SCons scripts
> > ignore pkg-config and suposing a very weird setup that is not ArchLinux's
> > one. To undefine QTDIR:
> > $ export -n QTDIR
> > Try compiling CLAM after that.
> bash-3.2# pkg-config --cflags --libs QtOpenGL
> -DQT_SHARED -I/usr/include/QtOpenGL -I/usr/include/QtCore
> -I/usr/include/QtGui -lQtOpenGL -lQtGui -lQtCore
> bash-3.2#
> Here is error before export -n QTDIR:
> /opt/qt/bin/uic -o src/generated/uic_About.hxx src/About.ui
> Session management error: Authentication Rejected, reason : None of the
> authentication protocols specified are supported and host-based
> authentication failed
> uic: File generated with too recent version of Qt Designer (4.0 vs. 3.3.8)
> scons: *** [src/generated/uic_About.hxx] Error 1
> scons: building terminated because of errors.

So the error is not about an include path but on the location of qt related 
binaries. It is finding the qt3 uic instead qt4 uic. 

The binaries location is done by the following reasoning:
- If QTDIR if defined in the invironment it will take it
- If not, use the PATH to find in 'moc(4,-qt4)(.exe)' and then uses the path 
where it founds it.

So my guess is that:
- either QTDIR is defined but pointing to /opt/ instead of /usr
- or QTDIR is not defined and /opt/bin is in PATH earlier than /usr/bin.

You might try to define properly the fore vars or, to avoid conflicts, the 
fast way i would uninstall development tools for qt3.

> Here after export -n QTDIR:
> == Compiling src/main.cxx
> In file included from src/main.cxx:26:
> src/MainWindow.hxx: In constructor ‘MainWindow::MainWindow()’:
> src/MainWindow.hxx:82: error: ‘About’ is not a member of ‘Ui’
> src/MainWindow.hxx:82: error: expected `;' before ‘aboutUi’
> src/MainWindow.hxx:83: error: ‘aboutUi’ was not declared in this scope
> src/MainWindow.hxx: In member function ‘void
> MainWindow::openFileWithExternalApplicationFromProcessing()’:
> src/MainWindow.hxx:281: error: incomplete type ‘QUrl’ used in nested
> name specifier
> src/MainWindow.hxx: In member function ‘void
> MainWindow::on_action_Online_tutorial_triggered()’:
> src/MainWindow.hxx:306: error: no matching function for call to
> ‘QDesktopServices::openUrl(QString&)’
> /usr/include/QtGui/qdesktopservices.h:62: note: candidates are: static
> bool QDesktopServices::openUrl(const QUrl&)
> scons: *** [src/main.o] Error 1
> scons: building terminated because of errors.

Here you are trying to compile generated/uic_About.hxx that has been generated 
by uic v3 or maybe, because the error, it generated an empty one. 
Execute 'scons -c' in NetworkEditor before switching from one to another.


More information about the clam-users mailing list