[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1021548: qtwebkit-opensource-src: ftbfs on riscv64 due to atomic issue



Source: qtwebkit-opensource-src
Version: 5.212.0~alpha4-25
Severity: normal
Tags: ftbfs, patch
User: debian-riscv@lists.debian.org
Usertags: riscv64
X-Debbugs-Cc: debian-riscv@lists.debian.org


Dear Maintainer,

The package has a ftbfs issue on riscv64 arch due to atomic issue:

```
...
./obj-riscv64-linux-gnu/./Source/WTF/wtf/dtoa.cpp:446: undefined reference to `__atomic_compare_exchange_1'
/usr/bin/ld: lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/dtoa.cpp.o: in function `WTF::Vector<unsigned int, 16ul, WTF::CrashOnOverflow, 16ul>::reserveCapacity(unsigned long)':
./obj-riscv64-linux-gnu/./Source/WTF/wtf/Vector.h:1089: undefined reference to `__atomic_compare_exchange_1'
/usr/bin/ld: lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/dtoa.cpp.o: in function `.L0 ':
./obj-riscv64-linux-gnu/./Source/WTF/wtf/dtoa.cpp:443: undefined reference to `__atomic_compare_exchange_1'
/usr/bin/ld: lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/dtoa.cpp.o: in function `WTF::VectorBufferBase<unsigned int>::capacity() const':
./obj-riscv64-linux-gnu/./Source/WTF/wtf/Vector.h:319: undefined reference to `__atomic_compare_exchange_1'
/usr/bin/ld: lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/dtoa.cpp.o: in function `std::__atomic_base<unsigned char>::compare_exchange_weak(unsigned char&, unsigned char, std::memory_order, std::memory_order)':
/usr/include/c++/12/bits/atomic_base.h:523: undefined reference to `__atomic_compare_exchange_1'
...
```


The full buildd log is here:
https://buildd.debian.org/status/fetch.php?pkg=qtwebkit-opensource-src&arch=riscv64&ver=5.212.0%7Ealpha4-25&stamp=1664500301&raw=0

Since glibc 2.34 many packages here fail to build for this reason and we
have sent such patch to fix the issue. Ideally, we'd better solve this 
problem from gcc upstream[0] but do not know how long to cost until 
it works. Also important is that the qtwebkit-opensource-src package 
is very key package for many packages from my view. Like:

```
The following packages have unmet dependencies:
 qttools5-dev-tools : Depends: qt5-assistant (= 5.15.4-2+b1) but it is not going to be installed
                      Depends: libqt5designer5 (>= 5.14.1) but it is not going to be installed
                      Depends: libqt5designercomponents5 (>= 5.6.0~beta) but it is not going to be installed
                      Depends: libqt5webkit5 (>= 5.212.0~alpha4-8~) but it is not going to be installed
                      Depends: qtbase-abi-5-15-4 but it is not installable
                      Depends: qtdeclarative-abi-5-15-4 but it is not installable
E: Unable to correct problems, you have held broken packages.
```

As a workround, the MR I have tested:
https://salsa.debian.org/qt-kde-team/qt/qt5webkit/-/merge_requests/1

If you apply the change in next upload, I will also stare at the gcc 
upstream patch. I'll update it once it's in Debian.

[0]: https://gcc.gnu.org/pipermail/gcc-patches/2022-August/600151.html

-- 
Regards,
--
  Bo YU

Attachment: signature.asc
Description: PGP signature


Reply to: