[Clam-devel] Missing qformlayout.h when compiling NE

David García Garzón dgarcia at iua.upf.edu
Mon Aug 11 07:46:58 PDT 2008


No need to force because this is actually what the SConstruct does, reading 
it. First, the check again: have you reinstalled clam libs? this is needed 
for the qt4.py file to be available to NetworkEditor SConstruct. So, just in 
case, go to the CLAM directory and type 'scons install'.

If still problems, send me the output of the following command:
$ pkg-config QtCore QtGui QtOpenGL --cflags --libs

If this issue also the wrong options then you have a conflict of versions.
So send me the output of:
$ locate QtCore.pc

To locate any other pkgconfig installation.

Check also if you have the QTDIR env var defined. The safest is not defining 
it.

David.


El Monday 11 August 2008 15:57:31 Han, Yushen va escriure:
> Hi, David
> Thanks for your diagnosis!
>
> Here is the compiling command in verbose mode:
>
> g++ -o src/main.o -c -g -O3 -Wall -DQT_PLUGIN -DQT_NO_DEBUG
> -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_XML_LIB
> -DQDESIGNER_EXPORT_WIDGETS -D_REENTRANT -DCLAM_FLOAT -D_DEBUG
> -DUSE_PTHREADS=1 -DUSE_XERCES=1 -DCLAM_USE_XML -DUSE_SNDFILE=1
> -DUSE_OGGVORBIS=1 -DWITH_VORBIS=1 -DUSE_MAD=1 -DWITH_MAD=1 -DUSE_ID3=1
> -DUSE_PORTAUDIO=1 -D__MACOSX_CORE__ -DUSE_RTAUDIO=1 -DUSE_FFTW3=1
> -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_XML_LIB -DQT_SVG_LIB
> -I/usr/local/include -I/opt/local/include -I/opt/local/include/qt4
> -I/opt/local/include/qt4/QtCore -I/opt/local/include/qt4/QtGui
> -I/opt/local/include/qt4/QtOpenGL -I/opt/local/include/qt4/QtXml
> -I/opt/local/include/qt4/QtSvg -I/opt/local/include/qt4/QtUiTools
> -I/opt/local/include/qt4/QtDesigner -Isrc -Isrc/jack -Isrc/generated
> -Isrc/processing -Isrc/prototyper -Isrc/monitors
> -Isrc/monitors/generated -Isrc/widgets -Isrc/widgets/generated
> -Isrc/clamWidgetsPlugins -Isrc/clamWidgetsPlugins/generated
> -I/usr/local/include -I/usr/local/include/CLAM -Isrc/clamWidgetsPlugin
> -Isrc/clamWidgetsPlugin/generated src/main.cxx
>
> As we can see, /opt/local/include/qt4 should be /opt/local/include/qt4-mac
> Here I doubt if scons really looked into the .py files of pkgconfig
> because QtGui.py did say
> Cflags: -DQT_SHARED -I/opt/local/include/qt4-mac -I${includedir}
> ( -DQT_SHARED is missing from the compilation too!)
>
> Do you know how I force scons to use the information from pkgconfig in
> .py files?
>
> Best regards,
> Han, Yushen
>
> On Mon, Aug 11, 2008 at 3:40 AM, David García Garzón
>
> <dgarcia at iua.upf.edu> wrote:
> > On Dilluns 11 Agost 2008, Han, Yushen wrote:
> >> David,
> >>
> >> Thanks for your new commit.
> >> I decided to follow the way you recommended and just used macport to
> >> install qt4.4.
> >> I have all (unmodified) pc files in my opt/local/lib/pkgconfig after
> >> the "port install".
> >> Also I just checked out rev. 11930 for NE.
> >
> > perfect.
> >
> >> But I am not sure how I should apply your new commit
> >> ("I just commited a modification on the qt4.py file that should work
> >> with the original macport .pc files.").
> >
> > My commit is not guaranted to work as i was unable to test it. We'll need
> > some refining. Sure. But it is the way to go.
> >
> >> Even though I set the QTDIR variable and had the .py files in the right
> >> place, I still ran into the problem of not using the macports pkgconfig
> >> files: The error messages in compilation were like: ( I had hundreds of
> >> missing-qt errors)
> >> src/main.cxx:22:30: error: QtGui/QApplication: No such file or directory
> >> src/main.cxx:23:30: error: QtCore/QTranslator: No such file or directory
> >> src/main.cxx:24:26: error: QtCore/QLocale: No such file or directory
> >
> > Yes, it seems like there is an include path missing. Normally Qt adds two
> > include paths for each module: the QtGui one and the upper so that this
> > should work. Let's see what macports pkgconfig does.
> >
> >> For your information,
> >> /opt/local/var/macports/software/qt4-mac/4.4.0_3+dbus+docs/opt/local/lib
> >>/pk gconfig/QtGui.pc and
> >> /opt/local/lib/pkgconfig/QtGui.pc
> >> have the same content( see p.s.),
> >
> > I guess analog content. Changing at least the module name and maybe some
> > few options :-)
> >
> >> which seems to be correct to me.
> >> Apparently scons did not pass the right flag
> >> "-I/opt/local/include/qt4-mac" to g++.
> >> I think this is the only thing that prevents me from compiling.
> >> I will appreciate if you can explain a little bit more on your new
> >> commit.
> >
> > Of course. I just changed the scons to use the same code for mac than we
> > used for linux. What it does is to populate the compilation options with
> > the ones provided by the pkg-config files for each qt modules we enable.
> > Previous code added such options by hand and had two codes we switched on
> > and off depending on whether they used frameworks or not. By relying on
> > pkg-config, we don't care.
> >
> >> p.s. the content of /opt/local/lib/pkgconfig/QtGui.pc
> >>
> >> prefix=/opt/local
> >> exec_prefix=${prefix}
> >> libdir=${prefix}/Library/Frameworks
> >> includedir=${prefix}/include/qt4-mac/QtGui
> >> qt_config=lex yacc warn_on uic resources sdk rez release ReleaseBuild
> >> Release build_pass qt warn_on release app_bundle i
> >> ncremental global_init_link_order lib_version_first plugin_no_soname
> >> link_prl exceptions no_mocdepend stl qt_framework b
> >> uild_all shared dll largefile stl mmx 3dnow sse sse2
> >> absolute_library_soname dylib create_prl link_prl depend_includepat
> >> h QTDIR_build release ReleaseBuild Release build_pass qt warn_on
> >> depend_includepath qmake_cache target_qt debug_and_rele
> >> ase hide_symbols lib_bundle qt_no_framework_direct_includes
> >> qt_framework explicitlib create_libtool create_pc explicitli
> >> b release ReleaseBuild Release build_pass objective_c no_autoqmake moc
> >> thread shared dll
> >> moc_location=${prefix}/var/macports/build/_opt_local_var_macports_source
> >>s_r sync.macports.org_release_ports_aqua_qt4-mac/
> >> work/qt-mac-opensource-src-4.4.0/bin/moc
> >> uic_location=${prefix}/var/macports/build/_opt_local_var_macports_source
> >>s_r sync.macports.org_release_ports_aqua_qt4-mac/
> >> work/qt-mac-opensource-src-4.4.0/bin/uic
> >>
> >> Name: Qtgui
> >> Description: Qtgui Library
> >> Version: 4.4.0
> >> Libs: -F${libdir} -framework QtGui  -L/opt/local/Library/Frameworks
> >> -L/opt/local/lib -F/opt/local/Library/Frameworks -fr
> >> amework Carbon -framework AppKit -lpng -framework QtCore
> >> -L/opt/local/Library/Frameworks -L/opt/local/lib -lz -lm -frame
> >> work ApplicationServices
> >> Cflags: -DQT_SHARED -I/opt/local/include/qt4-mac -I${includedir}
> >
> > Note this very last line it includes /opt/local/include/qt4-mac and
> > ${includedir} which is defined above as ${prefix}/include/qt4-mac/QtGui
> > being prefix /opt/local.
> >
> > So both -I/opt/local/include/qt4-mac and
> > -I/opt/local/include/qt4-mac/QtGui options should be included and that
> > should work.
> >
> > To assure this point, please compile the NetworkEditor (or the qt app you
> > are trying to compile) with a 'verbose=1' flag. This will display the
> > command line options used to compile each file. Paste one of those lines
> > to the list.
> >
> > Just in case check: In order to use the new qt4.py tool you need to do an
> > scons install of the CLAM libraries.
> >
> > For a later phase check also that QtOpenGL.pc includes options to link
> > with OpenGl framework. If not we should add them in qt4.py
> >
> >
> > --
> > David García Garzón
> > (Work) dgarcia at iua dot upf anotherdot es
> > http://www.iua.upf.edu/~dgarcia






More information about the clam-devel mailing list