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

Han, Yushen yushen.han at gmail.com
Sun Aug 10 09:08:20 PDT 2008


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-deve
>> >>l
>> >
>> > _______________________________________________
>> > Clam-devel mailing list
>> > Clam-devel at llistes.projectes.lafarga.org
>> > https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel
>
>
>
> --
> 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