[MDEV-30554] RockDB libatomic linking on riscv64 Created: 2023-02-03  Updated: 2023-02-16  Resolved: 2023-02-07

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - RocksDB
Affects Version/s: None
Fix Version/s: 10.11.3, 11.0.1, 10.4.29, 10.5.20, 10.6.13, 10.8.8, 10.9.6, 10.10.4

Type: Bug Priority: Major
Reporter: Daniel Black Assignee: Daniel Black
Resolution: Fixed Votes: 0
Labels: None
Environment:

riscv64 (and other libatomic requiring platforms)


Issue Links:
Relates
relates to MDEV-23051 RocksDB build fails on riscv64 Closed

 Description   

What was fixed, is broken again.

from deb build log:

[ 69%] Linking CXX executable sst_dump
cd /<<PKGBUILDDIR>>/builddir/storage/rocksdb && /usr/bin/cmake -E cmake_link_script CMakeFiles/sst_dump.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/mariadb-10.6-1:10.6.11-2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -pie -fPIC -fstack-protector --param=ssp-buffer-size=4 -Wno-range-loop-construct -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 -Wmissing-braces -Wno-format-truncation -Wno-init-self -Wno-nonnull-compare -Wno-unused-parameter -Woverloaded-virtual -Wnon-virtual-dtor -Wvla -Wwrite-strings -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-z,relro,-z,now CMakeFiles/sst_dump.dir/rocksdb/tools/sst_dump.cc.o -o sst_dump  librocksdblib.a -llz4 -lsnappy -lzstd -lz -ldl 
collect2: error: ld returned 1 exit status
make[4]: *** [storage/rocksdb/CMakeFiles/sst_dump.dir/build.make:105: storage/rocksdb/sst_dump] Error 1
/usr/bin/ld: librocksdblib.a(memtable.cc.o): in function `rocksdb::MemTable::ApproximateMemoryUsage()':
/usr/src/mariadb-10.6-1:10.6.11-2/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


Generated at Thu Feb 08 10:17:07 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.