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

David García Garzón dgarcia at iua.upf.edu
Sun Aug 10 09:30:59 PDT 2008


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/clam-
> >> >>>dev el
> >> >>
> >> >> _______________________________________________
> >> >> Clam-devel mailing list
> >> >> Clam-devel at llistes.projectes.lafarga.org
> >> >> https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20080810/44036be5/attachment.sig>


More information about the clam-devel mailing list