[debian-mysql] Bug#1024041: mariadb-10.6: FTBFS on riscv64: rocksdb/db/memtable.cc:129: undefined reference to `__atomic_compare_exchange_1'

Otto Kekäläinen otto at debian.org
Sun Nov 13 22:49:13 GMT 2022


Source: mariadb-10.6
Version: 1:10.6.9-1
Tags: upstream, confirmed, ftbfs
User: debian-riscv at lists.debian.org
Usertags: riscv64, riscv
X-Debbugs-CC: debian-riscv at lists.debian.org

After upload of mariadb-10.6 1:10.6.9-1 I noticed that riscv64 builds
at https://buildd.debian.org/status/package.php?p=mariadb-10.6 were
failing:

************************************************************************************
cd /<<PKGBUILDDIR>>/builddir/storage/innobase && /usr/bin/c++
-DBTR_CUR_ADAPT -DBTR_CUR_HASH_ADAPT -DCOMPILER_HINTS -DDBUG_TRACE
-DEMBEDDED_LIBRARY -DHAVE_CONFIG_H
-DHAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE=1 -DHAVE_LIBNUMA=1 -DHAVE_LZ4=1
-DHAVE_LZ4_COMPRESS_DEFAULT=1 -DHAVE_SCHED_GETCPU=1 -DHAVE_SNAPPY=1
-DHAVE_URING -D_FILE_OFFSET_BITS=64
-I/<<PKGBUILDDIR>>/wsrep-lib/include
-I/<<PKGBUILDDIR>>/wsrep-lib/wsrep-API/v26
-I/<<PKGBUILDDIR>>/builddir/include
-I/<<PKGBUILDDIR>>/storage/innobase/include
-I/<<PKGBUILDDIR>>/storage/innobase/handler
-I/<<PKGBUILDDIR>>/libbinlogevents/include -I/<<PKGBUILDDIR>>/tpool
-I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/sql -g -O2
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time
-D_FORTIFY_SOURCE=2 -pie -fPIC -fstack-protector
--param=ssp-buffer-size=4 -Wconversion -Wno-sign-conversion -O2 -g
-static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing
-Wno-uninitialized -fno-omit-frame-pointer -D_FORTIFY_SOURCE=2
-DDBUG_OFF -Wall -Wenum-compare -Wenum-conversion -Wextra
-Wformat-security -Wno-format-truncation -Wno-init-self
-Wno-nonnull-compare -Wno-unused-parameter -Woverloaded-virtual
-Wnon-virtual-dtor -Wvla -Wwrite-strings   -Wdate-time
-D_FORTIFY_SOURCE=2 -DUNIV_LINUX -D_GNU_SOURCE=1 -DHAVE_OPENSSL
-DOPENSSL_API_COMPAT=0x10100000L -fPIC -fvisibility=hidden
-std=gnu++11 -MD -MT
storage/innobase/CMakeFiles/innobase_embedded.dir/row/row0quiesce.cc.o
-MF CMakeFiles/innobase_embedded.dir/row/row0quiesce.cc.o.d -o
CMakeFiles/innobase_embedded.dir/row/row0quiesce.cc.o -c
/<<PKGBUILDDIR>>/storage/innobase/row/row0quiesce.cc
librocksdblib.a(memtable.cc.o): in function
`rocksdb::MemTable::ApproximateMemoryUsage()':
./builddir/storage/rocksdb/./storage/rocksdb/rocksdb/db/memtable.cc:129:
undefined reference to `__atomic_compare_exchange_1'
/usr/bin/ld: librocksdblib.a(memtable.cc.o): in function
`std::__atomic_base<bool>::compare_exchange_weak(bool&, bool,
std::memory_order, std::memory_order)':
/usr/include/c++/12/bits/atomic_base.h:523: undefined reference to
`__atomic_compare_exchange_1'
/usr/bin/ld: /usr/include/c++/12/bits/atomic_base.h:523: undefined
reference to `__atomic_compare_exchange_1'
/usr/bin/ld: /usr/include/c++/12/bits/atomic_base.h:523: undefined
reference to `__atomic_compare_exchange_1'
/usr/bin/ld: /usr/include/c++/12/bits/atomic_base.h:523: undefined
reference to `__atomic_compare_exchange_1'
/usr/bin/ld: librocksdblib.a(memtable.cc.o):/usr/include/c++/12/bits/atomic_base.h:523:
more undefined references to `__atomic_compare_exchange_1' follow
[ 53%] Building CXX object
storage/sphinx/CMakeFiles/sphinx.dir/snippets_udf.cc.o
cd /<<PKGBUILDDIR>>/builddir/storage/sphinx && /usr/bin/c++
-DDBUG_TRACE -DHAVE_CONFIG_H -DMYSQL_DYNAMIC_PLUGIN -DMYSQL_SERVER
-D_FILE_OFFSET_BITS=64 -Dsphinx_EXPORTS
-I/<<PKGBUILDDIR>>/wsrep-lib/include
-I/<<PKGBUILDDIR>>/wsrep-lib/wsrep-API/v26
-I/<<PKGBUILDDIR>>/builddir/include -I/<<PKGBUILDDIR>>/include
-I/<<PKGBUILDDIR>>/sql -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=.
-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
-D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -pie -fPIC
-fstack-protector --param=ssp-buffer-size=4 -Wno-write-strings -O2 -g
-static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing
-Wno-uninitialized -fno-omit-frame-pointer -D_FORTIFY_SOURCE=2
-DDBUG_OFF -Wall -Wenum-compare -Wenum-conversion -Wextra
-Wformat-security -Wno-format-truncation -Wno-init-self
-Wno-nonnull-compare -Wno-unused-parameter -Woverloaded-virtual
-Wnon-virtual-dtor -Wvla -Wwrite-strings -fPIC   -Wdate-time
-D_FORTIFY_SOURCE=2 -std=gnu++11 -MD -MT
storage/sphinx/CMakeFiles/sphinx.dir/snippets_udf.cc.o -MF
CMakeFiles/sphinx.dir/snippets_udf.cc.o.d -o
CMakeFiles/sphinx.dir/snippets_udf.cc.o -c
/<<PKGBUILDDIR>>/storage/sphinx/snippets_udf.cc
collect2: error: ld returned 1 exit status
make[4]: *** [storage/rocksdb/CMakeFiles/sst_dump.dir/build.make:105:
storage/rocksdb/sst_dump] Error 1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/builddir'
make[3]: *** [CMakeFiles/Makefile2:7827:
storage/rocksdb/CMakeFiles/sst_dump.dir/all] Error 2
************************************************************************************

This is a regression as riscv64 builds used to work on MariaD 10.6.8-1:
https://buildd.debian.org/status/fetch.php?pkg=mariadb-10.6&arch=riscv64&ver=1%3A10.6.8-1&stamp=1653304190&raw=0

Neither me nor upstream has any Alpha expertise. Please help by
providing info on this bug report or - preferably - submit a MR to fix
this: https://salsa.debian.org/mariadb-team/mariadb-server/-/wikis/Contributing-to-MariaDB-packaging-in-Debian



More information about the pkg-mysql-maint mailing list