Bug 1665

Summary: bake build fails for netanim despite qt check passing
Product: bake Reporter: Tom Henderson <tomh>
Component: bakeconf.xmlAssignee: Daniel Camara <daniel.camara>
Status: RESOLVED FIXED    
Severity: normal CC: ns-bugs
Priority: P5    
Version: unspecified   
Hardware: All   
OS: All   

Description Tom Henderson 2013-05-02 22:46:11 UTC
Ubuntu-13.04, 'bake.py configure -e ns-3.17', 'bake.py show' yields:

-- System Dependencies --
 > qt4 - OK

but netanim fails:

 >> Building netanim-3.103 - ^M
    > cd /home/buildslave/scratch/bake/source/netanim-3.103;qmake NetAnim.pro^M
    > cd /home/buildslave/scratch/bake/source/netanim-3.103;qmake-qt4 NetAnim.pro^M
    > cd /home/buildslave/scratch/bake/source/netanim-3.103;qmake -spec macx-g++ NetAnim.pro^M
 mkdir /home/buildslave/scratch/bake/source/netanim-3.103 dir=/home/buildslave/scratch/bake/source/netanim-3.103^M
mkdir: cannot create directory ‘/home/buildslave/scratch/bake/source/netanim-3.103’: File exists^M
 make dir=/home/buildslave/scratch/bake/source/netanim-3.103^M
make: *** No targets specified and no makefile found.  Stop.^M

The problem here is that qt4-dev-tools is not installed, but it is passing the conf check, which checks for qmake or qmake-qt4

Instead, these packages are installed:
appmenu-qt					install
appmenu-qt5					install
checkbox-qt					install
libaccounts-qt1					install
libdbusmenu-qt2:amd64				install
libdbusmenu-qt5:amd64				install
libqt4-dbus:amd64				install
libqt4-declarative:amd64			install
libqt4-designer:amd64				install
libqt4-help:amd64				install
libqt4-network:amd64				install
libqt4-opengl:amd64				install
libqt4-script:amd64				install
libqt4-scripttools:amd64			install
libqt4-sql:amd64				install
libqt4-sql-sqlite:amd64				install
libqt4-svg:amd64				install
libqt4-test:amd64				install
libqt4-xml:amd64				install
libqt4-xmlpatterns:amd64			install
libqtassistantclient4:amd64			install
libqtcore4:amd64				install
libqtgui4:amd64					install
libqtwebkit4:amd64				install
libsignon-qt1					install
python-qt4					install
python-qt4-dbus					install
qt-at-spi:amd64					install
qtchooser					install
sni-qt:amd64					install
ubuntu-sso-client-qt				install
ubuntuone-control-panel-qt			install

and qmake is installed, but not qt-dev-tools.

So, bakeconf.xml needs a better conf check for qt-dev-tools.
Comment 1 Tom Henderson 2013-05-03 01:39:33 UTC
OS X appears to fail the same way.
Comment 2 Daniel Camara 2013-05-03 07:39:56 UTC
Fixed on changeset 249, I added dependencies over some the .h files that netanim uses. 

 The odd thing is that when you remove the  qt4-dev-tools with apt-get in ubuntu, it does not remove all the files, the headers stay there.... so if you have installed qt4 once, as the headers and libraries are not correctly removed, you can build netanim. For fedora, for example, yum remove really removes EVERYTHING.
Comment 3 Tom Henderson 2013-05-03 09:57:08 UTC
(In reply to comment #2)
> Fixed on changeset 249, I added dependencies over some the .h files that
> netanim uses. 
> 
>  The odd thing is that when you remove the  qt4-dev-tools with apt-get in
> ubuntu, it does not remove all the files, the headers stay there.... so if you
> have installed qt4 once, as the headers and libraries are not correctly
> removed, you can build netanim. For fedora, for example, yum remove really
> removes EVERYTHING.

Thanks, I noticed something similar on one of the buildslaves when removing python-dev and still being able to build ns-3 python bindings.  It just makes it harder to test these things repeatedly.