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

Han, Yushen yushen.han at gmail.com
Mon Aug 11 08:44:28 PDT 2008


Hi, David

Yes, I just reinstalled clam lib from 11935,
undefined QTDIR ( It was later assigned to be the same "\opt\local" anyway).

"pkg-config QtCore QtGui QtOpenGL --cflags --libs" gave correct result
(as done in macport version) as we expect.

-DQT_SHARED -I/opt/local/include/qt4-mac
-I/opt/local/include/qt4-mac/QtCore -I/opt/local/include/qt4-mac/QtGui
-I/opt/local/include/qt4-mac/QtOpenGL  -F/opt/local/Library/Frameworks
-framework QtCore -framework ApplicationServices -framework QtGui
-framework Carbon -framework AppKit -framework QtOpenGL -framework
OpenGL -framework AGL -L/opt/local/Library/Frameworks -L/opt/local/lib
-lpng -lz -lm

... and the compilation and installation of NE seem to be done!

I think the difference is that qt4.py has been updated:
"-rw-r--r--  1 root  wheel  17977 Aug 11 10:52
/usr/local/share/clam/sconstools/qt4.py"
Now scons knows to use -F/opt/local/Library/Frameworks and -framework
QtCore etc. in linking.

I think this thread could be closed and I will start to install my plugins.

Thank you, Daivd and Natanael.

Best regards,
Han, Yushen

On Mon, Aug 11, 2008 at 10:46 AM, David García Garzón
<dgarcia at iua.upf.edu> wrote:
> 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