[Interest] configuring qt from cmake fails

Fabian Wein fabian.wein at fau.de
Thu Dec 15 16:41:06 CET 2016


Hello to the list,

I want to build Paraview (PV) which builds qt by itself by myself. The project is called paraview-superbuild.

On macOS 10.12 (Sierra) I have an issue with qt 5.7.1 but it seems this also applies to other qt versions.

PV builds qt as external cmake project but building qt fails during linking. When I apply the configure options PV uses
for qt manually to qt 5.7.1 everywhere everything works just fine.

Only when qt is built via PV/cmake the build fails.

I examined both builds via configure -verbose and export VERBOSE=1 and while vanilla qt links with
clang++ -headerpad_max_install_names -stdlib=libc++ -Wl,-syslibroot …

the first two options „-headerpad_max_install_names -stdlib=libc++“ are missing when configured via cmake.
I verified that skipping these options (at least the second) leads to the error:

clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt571/install/lib'
ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt571/install/lib'
Undefined symbols for architecture x86_64:
  "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
      void std::__1::vector<QMetaMethodBuilderPrivate, std::__1::allocator<QMetaMethodBuilderPrivate> 
…

As the configure call is identical I have no idea how this can lead to different results?! I also assume that this is
no issue of qt but for PV or cmake.

Anyway, I’m not a qt to cmake or PV developer but a user who wants to build PV on macOS 10.12.

So patching qt such that the options „-headerpad_max_install_names -stdlib=libc++“ are used for linking would be just
fine for me.

Any help is appreciated,

Thanks,

Fabian

P.S.: More details (logs, …) can be found at https://gitlab.kitware.com/paraview/paraview-superbuild/issues/29 




More information about the Interest mailing list