conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
970 stars 1.78k forks source link

[package] qt/5.15.8: can't be build on debian buster with qtwebengine #17273

Open schmidjo82 opened 1 year ago

schmidjo82 commented 1 year ago

Description

complete clean build of conan create ./recipes/qt/5.x.x/ 5.15.8@ -o qt:qtwebengine=True -o qt:gui=True -o qt:qttools=True -o qt:shared=True --build missing Does not work.

Package and Environment Details

Conan profile

[settings] os=Linux os_build=Linux arch=x86_64 arch_build=x86_64 compiler=gcc compiler.version=8 compiler.libcxx=libstdc++11 build_type=Release compiler.cppstd=17 [options] [build_requires] [env]

Steps to reproduce

conan create ./recipes/qt/5.x.x/ 5.15.8@ -o qt:qtwebengine=True -o qt:gui=True -o qt:qttools=True -o qt:shared=True --build missing

Logs

/usr/bin/ld: /.conan/data/qt/5.15.8///build/c0f5a14e0aa323d54bb50e38af293824766c6586/build_folder/qtwebengine/src/core/release/obj/services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation/os_metrics_linux.o: relocation R_X86_64_PC32 against undefined symbol `__ehdr_start' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: nonrepresentable section on output collect2: error: ld returned 1 exit status make[4]: [Makefile.coremodule:81: ../../lib/libQt5WebEngineCore.so.5.15.8] Error 1 make[4]: Leaving directory '/.conan/data/qt/5.15.8//_/build/c0f5a14e0aa323d54bb50e38af293824766c6586/build_folder/qtwebengine/src/core' make[3]: [Makefile:124: sub-core_module-pro-makefirst] Error 2 make[3]: Leaving directory /.conan/data/qt/5.15.8//_/build/c0f5a14e0aa323d54bb50e38af293824766c6586/build_folder/qtwebengine/src/core' make[2]: [Makefile:80: sub-core-makefirst] Error 2 make[2]: Leaving directory '/.conan/data/qt/5.15.8//_/build/c0f5a14e0aa323d54bb50e38af293824766c6586/build_folder/qtwebengine/src' make[1]: [Makefile:49: sub-src-makefirst] Error 2 make[1]: Leaving directory '/.conan/data/qt/5.15.8//_/build/c0f5a14e0aa323d54bb50e38af293824766c6586/build_folder/qtwebengine' make: *** [Makefile:263: module-qtwebengine-make_first] Error 2

schmidjo82 commented 1 year ago

OK, I identified the problem. We need to use the gold linker on that constellation. gcc and old binutils. An other problem is, that freetype must be shared when building webengine and that's not recognized non config. I try to integrate that, if its ok.

amorawski commented 1 year ago

Hey, not sure how long the fix might take, so could you share some more details please? I'm currently stuck with the same issue. I tried binutils from source, tag 2.31 as well as 2.40. In both cases I hit the freetype issue which I thought is unresolveable.

// I got the idea for binutils change from https://bugs.gentoo.org/683794

schmidjo82 commented 1 year ago

binutils bug was fixed at 2.31, 2.32, and 2.33 so i think the issue is only available on old debian systems. But now, to your issue; you only need to add -o freetype:shared=True to your build. That fixed the issue on my system.