[Development] Source build woes on windows

Thiago Macieira thiago.macieira at intel.com
Tue Sep 17 17:58:35 CEST 2013


On terça-feira, 17 de setembro de 2013 11:19:06, Kuba Ober wrote:
> > You're supposed to build only from a) a git clone or b) the official
> > tarballs or .zip. Downloading a .zip file from Gitorious is not
> > supported.
> 
> This is from the official source download from qt-project.org
> (qt-everywhere-opensource-src-5.1.1.tar.gz). It plainly doesn't build for
> me. There's no configure.exe, and the batch file won't attempt to make a
> configure.exe if there's no .gitignore.

Ah, the configure.exe is missing from the .tar.gz. It's only present on the 
.zip file.

That's a bug. Can you report it? We'll make it blocking for the 5.2 beta.

> Perhaps my problem is with using the smaller .tar.gz instead of a .zip? I
> don't want to re-download at the moment, I'm on a very slow link.

> > My suggestion is, of course, that qtsvg gets its own copy of zlib in
> > src/3rdparty. Anyone who can't or won't have a system-installed & shared
> > zlib will pay the penalty of having zlib duplicated in memory up to 6
> > times.
> This is seriously broken, then. What's so special about zlib that we need to
> have a system-wide installation? Can't Qt include just one copy that is
> only linked-in once? Yes, it'd mean that Qt needs to, in essence, build its
> own shared zlib if you select -qt-zlib, but that's how it should have been
> all along, right? I don't quite get why is zlib linked statically when you
> have a shared build of qt. No other 3rd party code used in more than one
> module seems to behave this way…

Nothing is special about zlib. It's just a regular third party library.

The difference is that zlib is used in multiple modules, unlike most other 
third-party libraries. Most other libraries -- in fact, every one, except for 
zlib -- are used in exactly one Qt library at a time.

My point is that every third-party library we ship should be statically linked 
into the module that it is used in. If 6 modules use zlib, then you get 6 
static links and it gets loaded 6 times in memory if all 6 modules are in use.

I don't like exporting zlib API from QtCore. That sounds broken to me. Yet 
that's exactly what we do with QtZlib. Since I disagree with this solution and 
I have no clue about it (I had never seen QtZlib anywhere until your email!),  
I really cannot help you. Every time I tried to fix the zlib situation during 
the 5.0 development, I broke it further.

Hopefully someone else can help you. I don't want to touch zlib anymore.

See also https://bugreports.qt-project.org/browse/QTBUG-33357 (system-zlib -on 
Windows appears to be broken too).
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130917/c65491d0/attachment.sig>


More information about the Development mailing list