iv3d-users

Text archives Help


[IV3D-USERS] Re: Re: Re: Trouble building with QT 4.7, Windows 7


Chronological Thread 
  • From: tom fogal <tfogal@sci.utah.edu>
  • To: iv3d-users@sci.utah.edu
  • Subject: [IV3D-USERS] Re: Re: Re: Trouble building with QT 4.7, Windows 7
  • Date: Sun, 31 Oct 2010 09:52:07 -0600

Ofri Sadowsky <sadowsky.o.phd@gmail.com> writes:
> Thanks for the quick response.
> 
> I installed the VS 2008, which seems to include the service pack already.

There are a couple service packs for 2008, but the important thing is
to get the *feature* pack -- otherwise 2008 doesn't implement tr1,
which we use in many places these days.

However, you mention below that things compile but do not link; this
probably means you have the feature pack installed, even if you didn't
realize it :)

> The qmake+nmake combination still fails.  The error message from nmake (in
> the VS 2008 comand shell) is:
> 
>    NMAKE : fatal error U1052: file 'Makefile.Debug' not found

I have very little experience with qmake generating nmake files.  Maybe
someone else on the list has more knowledge, and can jump in?

I always tell qmake to generate solution files.

> I did set the env variable QTDIR32 to the installation folder of
> Qt.  This enables me to compile the source files in the VS 2008 IDE.
> But the build fails at the link stage.  The linker looks for the
> libraries QtOpenGLd.lib and qtmaind.lib (I am compiling for debug).
> These libraries do not exist in Windows naming convention in my
> installation of Qt.  Instead, I have a bunch of lib***.a files and
> another bunch of ***.prl files.  I suppose one way to try and resolve
> this is to go back and build Qt from source rather than install the
> binary.  I may take this step later on.  For now, I am still looking
> around.

Yes, I suspect this is an issue of the naming conventions changing
based on the provided Qt binaries versus compiling it using our
scripts.

You could always hack the generated makefile to utilize the library
names you're looking for.

> Have you considered porting the build process to CMake?  I'm no
> CMake expert, but in my experience it handles this type of naming
> convention variations reasonalby well.  It also allows you to
> configure the project independently for a large set of compilers.  I
> suppose you can find reasons for not using it as well.

Yes, I'm familiar with cmake, the GNU build system, scons, raw
makefiles, jam and a variety of other build systems.  There are no
plans on switching anytime soon.

That said, for integration into other software we do have a CMake file
for Tuvok (i.e. the rendering and IO components -- no UI).  I haven't
been keeping it in sync lately, but if you just want to embed Tuvok
into your software, I'll jump in quickly and update it.

BTW, you are aware that we have devbuilds, right?  You should only need
to compile ImageVis3D yourself if you want to modify the source.

-tom

> On Wed, Oct 27, 2010 at 6:03 PM, tom fogal <tfogal@sci.utah.edu> wrote:
> 
> > <sadowsky.o.phd@gmail.com> writes:
> > > I obtained the SVN version of the ImageVis3D source according to the
> > > instructions on your web site, and I am trying to build it.
> > >
> > > My work environment is Windows 7/x64 with a Visual Studio 8 (that's
> > > what I got).  Th Solution/Project files included in the SVN are
> > > incompatible with VS 8, so I can't open them.
> >
> > You cannot use VS8.  You must use VS 2008 *with* the feature pack
> > installed.  2010 support is on our todo list.
> >
> > 2008 express should be fine, as long as the feature pack is installed.
> > 2010 will work 'out of the box' once we get around to it.
> >
> > > I therefore installed the Qt SDK 4.7 on the system.  This is NOT the
> > > Qt source, but I figured I shouldn't have to go that far in order to
> > > build ImageVis3D.
> >
> > You do have to go that far.  We have some guesses how to get it going
> > otherwise, but we say we don't support the SDK because it's a very
> > different Qt configuration and, well, we can't support everything.
> >
> > > I open the Qt Command Prompt and run qmake.  I get a bunch of
> > > messages, some of them similar to the following.
> > >
> > > ***
> > > WARNING: Unable to generate output for:
> > > E:/ImageVis3D/ExtractDebugInfo/Makefile.Debug [TEMPLATE vcapp]
> > > ***
> > >
> > > It doesn't appear as though the build was completed.  I afterwards
> > > run nmake / gmake, and get error message such as:
> >
> > qmake does not build the software, only the makefiles.  So, yes, the
> > build is not completed, but it hasn't been attempted either ;)
> >
> > ExtractDebugInfo is worthless for a user anyway; you might consider
> > just removing it from the toplevel .pro.
> >
> > > ***
> > > cd Tuvok\ && gmake -f Makefile
> > > gmake[1]: Entering directory `E:/ImageVis3D/Tuvok'
> > > gmake -f Makefile.Debug
> > > gmake[2]: Entering directory `E:/ImageVis3D/Tuvok'
> > > gmake[2]: Makefile.Debug: No such file or directory
> > > gmake[2]: *** No rule to make target `Makefile.Debug'.        Stop.
> > > gmake[2]: Leaving directory `E:/ImageVis3D/Tuvok'
> > > gmake[1]: *** [debug] Error 2
> > > gmake[1]: Leaving directory `E:/ImageVis3D/Tuvok'
> > > gmake: *** [sub-Tuvok-make_default-ordered] Error 2
> > > ***
> > >
> > > Essentially, the build fails in this environment.  Could you explain
> > > why?  If the Qt source version is needed, then also please explain
> > > why.
> >
> > The SDK installs the libraries with different names.  This is basically
> > impossible to support in a solution file, because if you use 'name1',
> > it'll fail with static linking, and if you use 'name2' it'll fail when
> > someone has a dynamic Qt.  We standardized on static linking, at least
> > on windows.
> >
> > Secondly, qmake is broken on windows.  See bug 452 in their BTS.  We
> > had a plethora of issues getting the qmake-generated makefiles to even
> > build 10-line Qt programs on that platform at first.  I fixed those
> > maybe 6 months back by fiddling with our .pro's considerably, but 452
> > is still a blocker for us.  Hence building through any other method
> > than via the solution files is unsupported.
> >
> > That said, I would appreciate you reporting to this list how you got it
> > working if you do so via a different path.
> >
> > Also, if you fix Qt's 452 I'll gladly jump in and make sure qmake-based
> > building works on Windows; it's something I want for the regression
> > testing system anyway.
> >
> > -tom
> >
> 
> 
> 
> -- 
> Ofri Sadowsky, PhD
> Scientific Consulting
> 0 Givat Brenner,  Givat Brenner, Israel  60948
> Tel: +972-8-9443944
> Mob: +972-54-3113572
> 
> --20cf303a2eade332de0493e57a7b
> Content-Type: text/html; charset=ISO-8859-1
> Content-Transfer-Encoding: quoted-printable
> 
> <div dir=3D"ltr"><div>Thanks for the quick response.</div>
> <div>=A0</div>
> <div>I installed the VS 2008, which seems to include the service pack alrea=
> dy.</div>
> <div>=A0</div>
> <div>The qmake+nmake combination still fails.=A0 The error message from nma=
> ke (in the VS 2008 comand shell) is:</div>
> <div>=A0</div>
> <div>=A0=A0 NMAKE : fatal error U1052: file &#39;Makefile.Debug&#39; not fo=
> und</div>
> <div>=A0</div>
> <div>I did set the env variable QTDIR32 to the installation folder of Qt.=
> =A0 This enables me to compile the source files in the VS 2008 IDE.=A0 But =
> the build fails at the link stage.=A0 The linker looks for the libraries Qt=
> OpenGLd.lib and qtmaind.lib (I am compiling for debug).=A0 These libraries =
> do not exist in Windows naming convention in my installation of Qt.=A0 Inst=
> ead, I have a bunch of lib***.a files and another bunch of ***.prl files.<b=
> r>
> </div>
> <div>I suppose one way to try and resolve this is to go back and build Qt f=
> rom source rather than install the binary.=A0 I may take this step later on=
> .=A0 For now, I am still looking around.</div>
> <div>=A0</div>
> <div>Have you considered porting the build process to CMake?=A0 I&#39;m no =
> CMake expert, but in my experience it handles this type of naming conventio=
> n variations reasonalby well.=A0 It also allows you to configure the projec=
> t independently for a large set of compilers.=A0 I suppose you can find rea=
> sons for not using it as well.</div>
> 
> <div><br>Ofri</div>
> <div>=A0</div>
> <div class=3D"gmail_quote">On Wed, Oct 27, 2010 at 6:03 PM, tom fogal <span=
>  dir=3D"ltr">&lt;<a href=3D"mailto:tfogal@sci.utah.edu";>tfogal@sci.utah.edu=
> </a>&gt;</span> wrote:<br>
> <blockquote style=3D"BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex=
> ; PADDING-LEFT: 1ex" class=3D"gmail_quote">
> <div class=3D"im">&lt;<a href=3D"mailto:sadowsky.o.phd@gmail.com";>sadowsky.=
> o.phd@gmail.com</a>&gt; writes:<br>&gt; I obtained the SVN version of the I=
> mageVis3D source according to the<br>&gt; instructions on your web site, an=
> d I am trying to build it.<br>
> &gt;<br>&gt; My work environment is Windows 7/x64 with a Visual Studio 8 (t=
> hat&#39;s<br>&gt; what I got). =A0Th Solution/Project files included in the=
>  SVN are<br></div>&gt; incompatible with VS 8, so I can&#39;t open them.<br=
> >
> <br>You cannot use VS8. =A0You must use VS 2008 *with* the feature pack<br>=
> installed. =A02010 support is on our todo list.<br><br>2008 express should =
> be fine, as long as the feature pack is installed.<br>2010 will work &#39;o=
> ut of the box&#39; once we get around to it.<br>
> 
> <div class=3D"im"><br>&gt; I therefore installed the Qt SDK 4.7 on the syst=
> em. =A0This is NOT the<br>&gt; Qt source, but I figured I shouldn&#39;t hav=
> e to go that far in order to<br>&gt; build ImageVis3D.<br><br></div>You do =
> have to go that far. =A0We have some guesses how to get it going<br>
> otherwise, but we say we don&#39;t support the SDK because it&#39;s a very<=
> br>different Qt configuration and, well, we can&#39;t support everything.<b=
> r>
> <div class=3D"im"><br>&gt; I open the Qt Command Prompt and run qmake. =A0I=
>  get a bunch of<br>&gt; messages, some of them similar to the following.<br=
> >&gt;<br>&gt; ***<br>&gt; WARNING: Unable to generate output for:<br>&gt; E=
> :/ImageVis3D/ExtractDebugInfo/Makefile.Debug [TEMPLATE vcapp]<br>
> &gt; ***<br>&gt;<br>&gt; It doesn&#39;t appear as though the build was comp=
> leted. =A0I afterwards<br>&gt; run nmake / gmake, and get error message suc=
> h as:<br><br></div>qmake does not build the software, only the makefiles. =
> =A0So, yes, the<br>
> build is not completed, but it hasn&#39;t been attempted either ;)<br><br>E=
> xtractDebugInfo is worthless for a user anyway; you might consider<br>just =
> removing it from the toplevel .pro.<br>
> <div class=3D"im"><br>&gt; ***<br>&gt; cd Tuvok\ &amp;&amp; gmake -f Makefi=
> le<br>&gt; gmake[1]: Entering directory `E:/ImageVis3D/Tuvok&#39;<br>&gt; g=
> make -f Makefile.Debug<br>&gt; gmake[2]: Entering directory `E:/ImageVis3D/=
> Tuvok&#39;<br>
> &gt; gmake[2]: Makefile.Debug: No such file or directory<br>&gt; gmake[2]: =
> *** No rule to make target `Makefile.Debug&#39;. =A0 =A0 =A0 =A0Stop.<br>&g=
> t; gmake[2]: Leaving directory `E:/ImageVis3D/Tuvok&#39;<br>&gt; gmake[1]: =
> *** [debug] Error 2<br>
> &gt; gmake[1]: Leaving directory `E:/ImageVis3D/Tuvok&#39;<br>&gt; gmake: *=
> ** [sub-Tuvok-make_default-ordered] Error 2<br>&gt; ***<br>&gt;<br>&gt; Ess=
> entially, the build fails in this environment. =A0Could you explain<br>&gt;=
>  why? =A0If the Qt source version is needed, then also please explain<br>
> &gt; why.<br><br></div>The SDK installs the libraries with different names.=
>  =A0This is basically<br>impossible to support in a solution file, because =
> if you use &#39;name1&#39;,<br>it&#39;ll fail with static linking, and if y=
> ou use &#39;name2&#39; it&#39;ll fail when<br>
> someone has a dynamic Qt. =A0We standardized on static linking, at least<br=
> >on windows.<br><br>Secondly, qmake is broken on windows. =A0See bug 452 in=
>  their BTS. =A0We<br>had a plethora of issues getting the qmake-generated m=
> akefiles to even<br>
> build 10-line Qt programs on that platform at first. =A0I fixed those<br>ma=
> ybe 6 months back by fiddling with our .pro&#39;s considerably, but 452<br>=
> is still a blocker for us. =A0Hence building through any other method<br>th=
> an via the solution files is unsupported.<br>
> <br>That said, I would appreciate you reporting to this list how you got it=
> <br>working if you do so via a different path.<br><br>Also, if you fix Qt&#=
> 39;s 452 I&#39;ll gladly jump in and make sure qmake-based<br>building work=
> s on Windows; it&#39;s something I want for the regression<br>
> testing system anyway.<br><font color=3D"#888888"><br>-tom<br></font></bloc=
> kquote></div><br><br clear=3D"all"><br>-- <br>Ofri Sadowsky, PhD<br>Scienti=
> fic Consulting<br>0 Givat Brenner,=A0 Givat Brenner, Israel=A0 60948<br>Tel=
> : +972-8-9443944<br>
> Mob: +972-54-3113572<br></div>
> 
> --20cf303a2eade332de0493e57a7b--



Archive powered by MHonArc 2.6.16.

Top of page