[Development] Failed to run configure.bat in qt/qt5 on MINGW64/MSYS2 shell?

Thiago Macieira thiago.macieira at intel.com
Sun Oct 8 00:42:41 CEST 2023


On Saturday, 7 October 2023 10:10:05 PDT Haowei Hsu wrote:
> Hello, Qt Development Team.
> 
> It's been a while since the last time we discuss this issue.
> And recently, I re-tried to configure qt-6.2.4 with msys2/mingw64 shell.
> However, it still failed with the same error again:

As we've advised before:

1) Build 6.6, not any older version
2) Build in shared mode, not static
3) Build each module separately, not the top-level

Once all of the above are working for the modules you're interested in, you 
can try 6.5. And once 6.5 builds in shared mode, you can try static.

I don't think it's a valid request to try 6.2 in static right now. The only 
reason to build 6.2 in static is if you've already got an existing project 
building with 6.2 in static right now and want to continue releasing it. 
That's obviously not the case. Since you're clearly starting a new project, 
you must start with the latest stable or latest LTS.

And if the modules build independently, then you're done. The top-level build 
is a convenience. That means if it works, great; if it doesn't, then you 
already had a solution.

> > -- CMAKE_BUILD_TYPE was set to: 'Release'
> > -- Performing Test HAVE_FFI_CALL
> > -- Performing Test HAVE_FFI_CALL - Success
> > -- Found FFI: C:/msys64/mingw64/lib/libffi.dll.a
> > -- Found ZLIB: C:/msys64/mingw64/lib/libz.dll.a (found version
> > "1.3.#define ZLIB_VERSION "1.3"")
> > CMake Error at C:/msys64/mingw64/lib/cmake/zstd/zstdTargets.cmake:42
> > 
> > (message):
> >   Some (but not all) targets in this export set were already defined.
> >   
> >   Targets Defined: zstd::libzstd_static
> >   Targets not yet defined: zstd::libzstd_shared

Looks lik the CMake-provided zstdTargets doesn't support static mode on 
Windows. Maybe it doesn't support static modes at all or just on Windows. I 
don't know whether those files come from CMake itself or from Zstandard -- I am 
guessing the latter. Therefore, you can submit your bug reports here:

https://github.com/facebook/zstd

If you don't care about the library sizes and decompression performance, you 
can turn zstd support off in Qt, by passing -DFEATURE_zstd=OFF.

> After reading the log, I think it is because the configure process called
> find_package(zstd) twice:
> 
>    1. The 1st time happens when configuring 'qtbase'
>    2. The 2nd time happens when configuring 'qttools'
> 
> Let's why the 2nd time thinks the 'zstd::libzstd_static' target is already
> defined.
> If so, I wondered whether you have any solution to the cause of this
> zstd-relared error?

Yes: don't build from the top-level. I told you that months ago.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Cloud Software Architect - Intel DCAI Cloud Engineering
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5165 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20231007/3c8e8b59/attachment.bin>


More information about the Development mailing list