[x86-64-v3] qt5-tools package causes KwinFT compilation to fail #86

Closed
opened 2021-12-29 00:16:26 +01:00 by ms178 · 12 comments

Hi, I just wanted to point you towards a build failure with KwinFT (and KwinFT-git) caused by the qt5-tools package in your x86-64-v3 repo which I described in more detail at https://gitlab.com/kwinft/kwinft/-/issues/205

To summerize my findings from there: The build of KwinFT/KwinFT-git fails with a undefined symbol: QUiLoader::QUiLoader(QObject*) error with an opimized qt5-tools package.

I've tested with reverting your x86-64-v3 repo, KwinFT builds fine then. I also manually compiled only the qt5-tools-git package from AUR without your repo on a fresh installation of Manjaro 21.2 and even if using only some modest compiler flags (my CPU arch: haswell) the same build failure in KwinFT appears (the qt5-tools package itself builds fine though).

This issue should also probably be reported to the qt5 devs upstream, but I lack an account there.

Hi, I just wanted to point you towards a build failure with KwinFT (and KwinFT-git) caused by the qt5-tools package in your x86-64-v3 repo which I described in more detail at https://gitlab.com/kwinft/kwinft/-/issues/205 To summerize my findings from there: The build of KwinFT/KwinFT-git fails with a `undefined symbol: QUiLoader::QUiLoader(QObject*)` error with an opimized qt5-tools package. I've tested with reverting your x86-64-v3 repo, KwinFT builds fine then. I also manually compiled only the qt5-tools-git package from AUR without your repo on a fresh installation of Manjaro 21.2 and even if using only some modest compiler flags (my CPU arch: haswell) the same build failure in KwinFT appears (the qt5-tools package itself builds fine though). This issue should also probably be reported to the qt5 devs upstream, but I lack an account there.

I can't imagine that mixing the repositories from two different distros (Manjaro and Arch) will cause you anything but issues.

I can't imagine that mixing the repositories from two different distros (Manjaro and Arch) will cause you anything but issues.
Author

@burrhole I singled out this package in my testing which seems to have problems when using these newer instruction sets. Hence it comes down if you want to support projects like KwinFT (which is now part of the community repo) or not. Blocking the qt5-tools package would be one option to workaround this issue until it is resolved upstream.

If you don't want people to use this repository on Arch-derivatives, this is a different discussion alltogether, please state this explicitly. This would deminish the usefulness of this project to the wider Arch-community though. Hence I'd welcome some efforts of this project to also maintain compatibility with Arch-derivatives - and it did work for me on a clean Manjaro 21.2 install with some minor issues which could be worked around.

@burrhole I singled out this package in my testing which seems to have problems when using these newer instruction sets. Hence it comes down if you want to support projects like KwinFT (which is now part of the community repo) or not. Blocking the qt5-tools package would be one option to workaround this issue until it is resolved upstream. If you don't want people to use this repository on Arch-derivatives, this is a different discussion alltogether, please state this explicitly. This would deminish the usefulness of this project to the wider Arch-community though. Hence I'd welcome some efforts of this project to also maintain compatibility with Arch-derivatives - and it did work for me on a clean Manjaro 21.2 install with some minor issues which could be worked around.
Owner

Hi @ms178 and thanks for your report.

Using ALHP on Manjaro is a different topic, and I'm not sure how to handle that (yet). Generally I agree with @burrhole, but in a more pragmatic approach: As long as it works and problems are reproducible on Arch, I got no problems at this point.

As far as this issue goes: I can reproduce this on Arch, most likely caused by LTO, so I have disabled LTO for qt5-tools and requeued it.

Hence it comes down if you want to support projects like KwinFT (which is now part of the community repo) or not.

Supporting kwinft or not does not matter here, qt5-tools is simply not compatible with LTO at this point in time, so this is handled as bug on our side.

PS: I do not see any kwinft in [community].

Hi @ms178 and thanks for your report. Using ALHP on Manjaro is a different topic, and I'm not sure how to handle that (yet). Generally I agree with @burrhole, but in a more pragmatic approach: As long as it works and problems are reproducible on Arch, I got no problems at this point. As far as this issue goes: I can reproduce this on Arch, most likely caused by LTO, so I have disabled LTO for `qt5-tools` and requeued it. > Hence it comes down if you want to support projects like KwinFT (which is now part of the community repo) or not. Supporting `kwinft` or not does not matter here, `qt5-tools` is simply not compatible with LTO at this point in time, so this is handled as bug on our side. PS: I do not see any `kwinft` in **[community]**.
anonfunc added the
bug
label 2021-12-29 11:47:40 +01:00

My comment was definitely a bit off-topic, just an observation that mixing a subset of one repository with a different repository is bound to cause strange issues at some point; Manjaro doesn't use the Arch repositories (kwinft being in Manjaro's [extra] but in Arch [extra] is one example here), and properly supporting Manjaro alongside Arch would probably require another repository altogether. Just my 2 cents.

FWIW I run into the same issue trying to build kwinft.

My comment was definitely a bit off-topic, just an observation that mixing a subset of one repository with a different repository is bound to cause strange issues at some point; Manjaro doesn't use the Arch repositories (kwinft being in Manjaro's [extra] but in Arch [extra] is one example here), and properly supporting Manjaro alongside Arch would probably require another repository altogether. Just my 2 cents. FWIW I run into the same issue trying to build kwinft.
Owner

@ms178 can you check if the issue still occurs with qt5-tools 5.15.2+kde+r17-4.2?

@ms178 can you check if the issue still occurs with `qt5-tools 5.15.2+kde+r17-4.2`?
Author

@anonfunc Not right away as I've switched distributions since, but as soon as I am on Manjaro again I will try it out with your repo and can report back if no one beats me to it.

@anonfunc Not right away as I've switched distributions since, but as soon as I am on Manjaro again I will try it out with your repo and can report back if no one beats me to it.
Author

@anonfunc

I've installed Manjaro 21.2 again for testing, unfortunately I am now blocked on this new python related issue while trying to compile wlroots-git:

Traceback (most recent call last):
  File "/usr/bin/meson", line 33, in <module>
    sys.exit(load_entry_point('meson==0.60.2', 'console_scripts', 'meson')())
  File "/usr/bin/meson", line 22, in importlib_load_entry_point
    for entry_point in distribution(dist_name).entry_points
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 919, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 518, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for meson

As there was a recent change to python-3.10, is this a known issue?! Compiling projects using Meson is not possible right now.

If I try to install Meson-git from AUR, I get:

Traceback (most recent call last):
  File "/home/marcus/Downloads/meson-git/src/meson/setup.py", line 23, in <module>
    from setuptools import setup
ModuleNotFoundError: No module named 'setuptools'
@anonfunc I've installed Manjaro 21.2 again for testing, unfortunately I am now blocked on this new python related issue while trying to compile wlroots-git: ``` Traceback (most recent call last): File "/usr/bin/meson", line 33, in <module> sys.exit(load_entry_point('meson==0.60.2', 'console_scripts', 'meson')()) File "/usr/bin/meson", line 22, in importlib_load_entry_point for entry_point in distribution(dist_name).entry_points File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 919, in distribution return Distribution.from_name(distribution_name) File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 518, in from_name raise PackageNotFoundError(name) importlib.metadata.PackageNotFoundError: No package metadata was found for meson ``` As there was a recent change to python-3.10, is this a known issue?! Compiling projects using Meson is not possible right now. If I try to install Meson-git from AUR, I get: ``` Traceback (most recent call last): File "/home/marcus/Downloads/meson-git/src/meson/setup.py", line 23, in <module> from setuptools import setup ModuleNotFoundError: No module named 'setuptools' ```
Author

The good news: I've reverted to the default Manjaro state and build the qt5-tools-git myself without LTO. That indeed was doing the trick, KwinFT builds fine now.

The good news: I've reverted to the default Manjaro state and build the qt5-tools-git myself without LTO. That indeed was doing the trick, KwinFT builds fine now.
Owner

Your python problems probably come from your arch-manjaro soup.

Since it seems to build now I'll close this. Please reopen if this issues still happens with qt5-tools>=5.15.2+kde+r17-4.2.

Your python problems probably come from your arch-manjaro soup. Since it seems to build now I'll close this. Please reopen if this issues still happens with `qt5-tools>=5.15.2+kde+r17-4.2`.
Author

@anonfunc Unfortunately this problem isn't solved yet with your repo. My earlier success report was specific to not using your repo and my custom build of qt5-tools without LTO.

Some experiments with your repo later where the issue couldn't even been solved by a custom build of the qt5-tools-git package anymore, it turns out that the compiler FLAGS for the sub-qt5-packages are inherited by the qt5-base package. Hence if you set LTO there, all the sub-qt5-packages will get build with LTO, too.

Unfortunately my custom GCC 11.2 leads to an unrelated compiler error later in the qt5-declarative package which is a depedency for the qt5-tools package. Hence I couldn't succeed yet with building the whole dependency chain to get KwinFT-git to build yet, but this comment is a start and a heads-up that you need to block LTO from at least the qt5-base and qt5-declarative package in addition to the qt5-tools package. There could be more though... I get back to you if I can say more.

@anonfunc Unfortunately this problem isn't solved yet with your repo. My earlier success report was specific to not using your repo and my custom build of qt5-tools without LTO. Some experiments with your repo later where the issue couldn't even been solved by a custom build of the qt5-tools-git package anymore, it turns out that the compiler FLAGS for the sub-qt5-packages are inherited by the qt5-base package. Hence if you set LTO there, all the sub-qt5-packages will get build with LTO, too. Unfortunately my custom GCC 11.2 leads to an unrelated compiler error later in the qt5-declarative package which is a depedency for the qt5-tools package. Hence I couldn't succeed yet with building the whole dependency chain to get KwinFT-git to build yet, but this comment is a start and a heads-up that you need to block LTO from at least the qt5-base and qt5-declarative package in addition to the qt5-tools package. There could be more though... I get back to you if I can say more.
ms178 reopened this issue 2022-01-13 19:17:42 +01:00
Author

Just a quick update, the current state of the repo works fine on EndeavourOS which is closer to Arch upstream than Manjaro. Hence the issue seems to be Manjaro-specific and hope that it will fix itself over time. Closing.

Just a quick update, the current state of the repo works fine on EndeavourOS which is closer to Arch upstream than Manjaro. Hence the issue seems to be Manjaro-specific and hope that it will fix itself over time. Closing.
ms178 closed this issue 2022-02-04 01:12:16 +01:00
Owner

Good to know, thanks.

Good to know, thanks.
Sign in to join this conversation.
No description provided.