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

Han, Yushen yushen.han at gmail.com
Sun Aug 10 22:28:50 PDT 2008


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.

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.").

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

For your information,
/opt/local/var/macports/software/qt4-mac/4.4.0_3+dbus+docs/opt/local/lib/pkgconfig/QtGui.pc
and
/opt/local/lib/pkgconfig/QtGui.pc
have the same content( see p.s.), 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.

Best regards,
Han, Yushen

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_sources_rsync.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_sources_rsync.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}




On Sun, Aug 10, 2008 at 7:00 PM, David García Garzón
<dgarcia at iua.upf.edu> wrote:
> So i deduce that you still have a qt4.4 macport installation, and those
> (unmodified) pc files is all we need. If you modify those files you are
> messing up your instalaltion even more.
>
> I just commited a modification on the qt4.py file that should work with the
> original macport .pc files.
>
> So, please, use the macports, or go alone on your way. I don't want to loose
> my time. Nobody is gonna install both the macports and the compiled source
> and modify the macports pkgconfig files. They shouldn't do it and if they
> have to do is not straight forward and dirty.
>
> David.
>
>
> On Diumenge 10 Agost 2008, Han, Yushen wrote:
>> Hi, David
>>
>> 1. Here is the result. It seems that they are using the frameworks.
>>
>> pkg-config --libs QtCore
>> -F/opt/local/Library/Frameworks -framework QtCore -framework
>> ApplicationServices -L/opt/local/Library/Frameworks -L/opt/local/lib
>> -lz -lm
>>
>> I have all qt4.4  .framework and .la files in
>> /opt/local/Library/Frameworks.
>>
>> 2. In my opt/local/lib
>> I found out a pkgconfig dir and a qt4-mac-plugins dir where some qt files
>> exist. Are they the files that I should remove? How can I clean my
>> opt/local to remove all the previous install of qt?
>> (I already tried port clean and port uninstall before. )
>>
>> Thanks for making the mac patch for me!
>>
>> Best regards,
>> Han, Yushen
>>
>> On Sun, Aug 10, 2008 at 12:30 PM, David García Garzón
>>
>> <dgarcia at iua.upf.edu> wrote:
>> > I guess you still have some files from a previous install in /opt/local.
>> > Check that and tell us before proceeding.
>> >
>> > If pkg-config detects that version in /opt and that version is installed.
>> > The one detected by pkg-config is the one we want. We should remove the
>> > hand compiled one.
>> >
>> > Try also:
>> > pkg-config --libs QtCore
>> >
>> > they will tell us whether you that version at /opt/local use frameworks
>> > or libs.
>> >
>> > I will provide the patch to use pkg-config in mac shortly.
>> >
>> > On Diumenge 10 Agost 2008, Han, Yushen wrote:
>> >> David,
>> >>
>> >> 1. Yes, I found pkg-config files from the qt4.4.1 source code
>> >> (compilation by hand).
>> >> I think they exist in port but I am not 100% sure.
>> >> I also found qt4.py i. Is it possible to tell scons to use pkg-config?
>> >> Can I have the patch that you mentioned?
>> >>
>> >> 2. My hand compilation was finished.
>> >> Everything was nicely installed at /usr/local/Trolltech/Qt-4.4.1/
>> >> (instead of /opt/local by the port)
>> >> However, I have problem in telling NE where the QTDIR is.
>> >> I did specify QTDIR=/usr/local/Trolltech/Qt-4.4.1/ in bash.
>> >> But the scons in NE just IGNORE what I set in QTDIR.
>> >>
>> >> scons: Reading SConscript files ...
>> >> Loading nsis tool...
>> >> Loading Bundle tool
>> >> Lodading dmg tool...
>> >> Version:  1.3.0
>> >> Package version:  1.3.0~svn11858
>> >> scons: done reading SConscript files.
>> >> scons: Building targets ...
>> >> == Compiling src/main.cxx
>> >> 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
>> >> ......
>> >>
>> >> As a result, scons of NE did not find any Qt file and gave hundreds of
>> >> error messages.
>> >> How should I tell scons of NE where QT is installed?
>> >>
>> >> 3. Interestingly. I found out some nonexistent path are given by some
>> >> pkg-config (see below)
>> >> 156-56-219-141:NetworkEditor yushen$ pkg-config --cflags QtCore
>> >> -DQT_SHARED -I/opt/local/include/qt4-mac
>> >> -I/opt/local/include/qt4-mac/QtCore 156-56-219-141:NetworkEditor yushen$
>> >> pkg-config --cflags QtGui
>> >> -DQT_SHARED -I/opt/local/include/qt4-mac
>> >> -I/opt/local/include/qt4-mac/QtGui
>> >>
>> >> I am not familiar with pkg-config.
>> >> Can you please give me more information about how to configure it?
>> >> Thanks in advance.
>> >>
>> >> Best regards,
>> >> Han, Yushen
>> >>
>> >> On Sun, Aug 10, 2008 at 7:59 AM, David García Garzón
>> >>
>> >> <dgarcia at iua.upf.edu> wrote:
>> >> > Please, check whether the macports or the by hand compilation provide
>> >> > pkg-config files. If they provide it i could send you a patch that
>> >> > hopefully would solve the problem. I mean, currently mac qt4.py scons
>> >> > tool (that we developed) does not use pkg-config (as windows and linux
>> >> > does) because old qt mac version didn't provide it. But the situation
>> >> > could have changed, as it changed in windows, and that would help a
>> >> > lot. If the pkg-config file provides proper compile options then we
>> >> > can rely on them for whatever setup is installed, based on frameworks
>> >> > or not. That would be the ideal solution, relying on pkg-config files
>> >> > once and forever.
>> >> >
>> >> > So, please, check for Qt*.pc files.
>> >> >
>> >> > David.
>> >> >
>> >> > On Diumenge 10 Agost 2008, Han, Yushen wrote:
>> >> >> Hi, Natanael and David
>> >> >>
>> >> >> Thanks for your reply, Natanael
>> >> >> My last installation did not solve the problem but I am on the right
>> >> >> track, I think, now.
>> >> >>
>> >> >> I just figured out that "port install qt4-mac" would not make all the
>> >> >> .dylib (e.g. libQtCore.4xx.dylib) files but a
>> >> >> framework ( the framework is a Mac OS X thing) for us.
>> >> >> As a result, the option "-lQtCore" in linking would fail.
>> >> >>
>> >> >> http://blogs.seapine.com/yan/debugging-qt-with-xcode-30.html
>> >> >> gave some good discussion about it.
>> >> >> "The quickest way is to use the install_name_tool utility and update
>> >> >> the bundle executable's dependency on libQtCore to your location of
>> >> >> libQtCore (if your Qt is built as a set of libs) or to the location
>> >> >> of the QtCore framework executable (if your Qt is built as a set of
>> >> >> frameworks)."
>> >> >>
>> >> >> The discussion suggested that we can choose to compile Qt 4.4 as a
>> >> >> set of dynamic libraries.
>> >> >> The only way that I found out to do so is to download the open-source
>> >> >> code (Qt4.4.1) from Trolltech and do  ./configure -no-framework
>> >> >> before compiling. At the moment my laptop is happily building it for
>> >> >> the 3rd time in the past 2 days,
>> >> >>
>> >> >> By default, at least in my laptop( Intel-core Mac OS X 10.5.4 ),
>> >> >> NEITHER port (Qt4.4) NOR the package(Qt4.4.1) from Trolltch
>> >> >> would build Qt4 as a set of dynamic libraries as we desire in NE.
>> >> >>
>> >> >> I was recalling David's suggestion
>> >> >> "we never recommend compiling Qt by hand. This might give problems
>> >> >> when updating to another version. I think that the recommended setup
>> >> >> is using macports".  It used to work for me 3 months ago.
>> >> >> However, last week I tried so for Qt4.4 twice but it failed.
>> >> >> I doubt if they change something from Qt4.3 to Qt4.4 (no dynamic
>> >> >> libraries are built anymore)
>> >> >> which caused my problem in Mac OS X.
>> >> >>
>> >> >> I will let you know tomorrow morning if my new solution works.
>> >> >> (Does any Mac users experience this problem of missing dynamic
>> >> >> libraries in Qt4.4 (Qt4.4.1)?)
>> >> >>
>> >> >>
>> >> >> Best regards,
>> >> >> Han, Yushen
>> >> >>
>> >> >> On Sat, Aug 9, 2008 at 8:09 PM, Natanael Olaiz <nolaiz at gmail.com>
> wrote:
>> >> >> > El 08/09/2008 05:53 PM, Han, Yushen escribió:
>> >> >> >> Hi, Natanael
>> >> >> >>
>> >> >> >> Thanks for your reply. By "Is using another Qt version.", are you
>> >> >> >> saying that my problem of missing "QFormLayout" class is because
>> >> >> >> NE is using a different Qt version?
>> >> >> >
>> >> >> > Your log shows like is using the new headers, but not the
>> >> >> > libraries. Doesn't say anything about others qt4 missing symbols,
>> >> >> > so I though is still using other qt4 (not 4.4) libraries.
>> >> >> >
>> >> >> >> I had qt3 (installed by macport) qt4.4 (installed by macport) and
>> >> >> >> qt4.4.1 (installed by the package file) in my laptop.
>> >> >> >> I was using "port clean" and "port uninstall" to remove qt3 and
>> >> >> >> qt4.4. Still there were some libQt*.dylib files in my
>> >> >> >> /usr/local/lib and I manually removed them.
>> >> >> >
>> >> >> > I don't think qt3 is a problem. Just a non properly installed qt4.4
>> >> >> > with (I think) other previous qt4 (non 4.4).
>> >> >> >
>> >> >> >> I was trying to remove qt4.4.1 by looking into the receipt file
>> >> >> >> inside of the .pkg files (e.g. Qt_docs.pkg) under my
>> >> >> >> /Library/Receipt/. But I was not sure about if I really removed
>> >> >> >> it. Do you know anything about removing a package from Mac OS X? I
>> >> >> >> was using Google for a solution but did not have much success.
>> >> >> >>
>> >> >> >> When I am writing this message, my laptop is largely occupied by
>> >> >> >> compiling qt4.4-mac (using macport).
>> >> >> >> (The instruction given by Darwin port did not work for qt4.4
>> >> >> >> They say Darwinport has no affiliation with macport and should be
>> >> >> >> trusted.)
>> >> >> >>
>> >> >> >> I really hope this time it would work...
>> >> >> >> But if you know any solution to "remove" all versions of qt,
>> >> >> >> please let me know. Thanks!
>> >> >> >
>> >> >> > Sorry, but I can't help with that because I don't use a MAC :(
>> >> >> >
>> >> >> >
>> >> >> > Good luck!,
>> >> >> > Natanael.
>> >> >> >
>> >> >> >> Best regards,
>> >> >> >> Han, Yushen
>> >> >> >>
>> >> >> >> On Sat, Aug 9, 2008 at 2:39 AM, Natanael Olaiz <nolaiz at gmail.com>
>> >
>> > wrote:
>> >> >> >>> Is using another Qt version. Try cleaning and recompiling your
>> >> >> >>> CLAM library
>> >> >> >>> -NE and uninstalling other qt4 versions (if qt3 would be the
>> >> >> >>> problem, it would be so much errors than only qformlayout). Do a
>> >> >> >>> 'make uninstall' from
>> >> >> >>> your compiled qt4 dir!!
>> >> >> >>>
>> >> >> >>> Regards,
>> >> >> >>> Natanael.
>> >> >> >>>
>> >> >> >>> El 08/09/2008 02:34 AM, Han, Yushen escribió:
>> >> >> >>>> Hi,
>> >> >> >>>>
>> >> >> >>>> Thanks for the link!
>> >> >> >>>>
>> >> >> >>>> Yes, actually my macports failed and I downloaded a qt4.4.1 .dmg
>> >> >> >>>> from trolltech.
>> >> >> >>>>
>> >> >> >>>> It compiled this time but gave a different error in linking
>> >> >> >>>> below. Do you have any idea?
>> >> >> >>>>
>> >> >> >>>> I notice that I have both qt3 and qt4 in my laptop. But I don't
>> >> >> >>>> think this should be a problem...
>> >> >> >>>>
>> >> >> >>>> Best regards,
>> >> >> >>>> Han, Yushen
>> >> >> >>>>
>> >> >> >>>> 156-56-219-141:NetworkEditor yushen$ sudo scons install
>> >> >> >>>> clam_prefix=/usr/local
>> >> >> >>>> scons: Reading SConscript files ...
>> >> >> >>>>
>> >> >> >>>> scons: warning: QTDIR variable is not defined, using moc
>> >> >> >>>> executable as a hint (QTDIR=/opt/local)
>> >> >> >>>> File "/usr/local/share/clam/sconstools/qt4.py", line 208, in
>> >> >> >>>> _detect Loading nsis tool...
>> >> >> >>>> Loading Bundle tool
>> >> >> >>>> Lodading dmg tool...
>> >> >> >>>> Version:  1.3.0
>> >> >> >>>> Package version:  1.3.0~svn11858
>> >> >> >>>> scons: done reading SConscript files.
>> >> >> >>>> scons: Building targets ...
>> >> >> >>>> == Linking NetworkEditor
>> >> >> >>>> Undefined symbols:
>> >> >> >>>>  "QFormLayout::QFormLayout(QWidget*)", referenced from:
>> >> >> >>>>     Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o "QFormLayout::setWidget(int, QFormLayout::ItemRole,
>> >> >> >>>> QWidget*)", referenced from:
>> >> >> >>>>     Ui_LadspaMetadataEditor::setupUi(QDialog*)      in .o
>> >> >> >>>>     Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o
>> >> >> >>>> "QFormLayout::setRowWrapPolicy(QFormLayout::RowWrapPolicy)",
>> >> >> >>>> referenced from:
>> >> >> >>>>     Ui_LadspaMetadataEditor::setupUi(QDialog*)      in
>> >> >> >>>> MainWindow.o ld: symbol(s) not found
>> >> >> >>>> collect2: ld returned 1 exit status
>> >> >> >>>> scons: *** [NetworkEditor] Error 1
>> >> >> >>>> scons: building terminated because of errors.
>> >> >> >>>
>> >> >> >>> _______________________________________________
>> >> >> >>> Clam-devel mailing list
>> >> >> >>> Clam-devel at llistes.projectes.lafarga.org
>> >> >> >>> https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/cl
>> >> >> >>>am- dev el
>> >> >> >>
>> >> >> >> _______________________________________________
>> >> >> >> Clam-devel mailing list
>> >> >> >> Clam-devel at llistes.projectes.lafarga.org
>> >> >> >> https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/cla
>> >> >> >>m-d eve l
>> >> >> >
>> >> >> > _______________________________________________
>> >> >> > Clam-devel mailing list
>> >> >> > Clam-devel at llistes.projectes.lafarga.org
>> >> >> > https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam
>> >> >> >-de vel
>> >> >
>> >> > --
>> >> > David García Garzón
>> >> > (Work) dgarcia at iua dot upf anotherdot es
>> >> > http://www.iua.upf.edu/~dgarcia
>> >
>> > --
>> > David García Garzón
>> > (Work) dgarcia at iua dot upf anotherdot es
>> > http://www.iua.upf.edu/~dgarcia
>
>
>
> --
> 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