Source: libkiwix Version: 9.4.1+dfsg-1 Tags: patch User: [email protected] Usertags: ftcbfs
libkiwix fails to cross build from source for mipsel and mipsel only. You can view recent attempts at http://crossqa.debian.net/src/libkiwix. The mipsel builds end as follows: | /usr/bin/mipsel-linux-gnu-g++ -o src/libkiwix.so.9.4.1 src/libkiwix.so.9.4.1.p/meson-generated_.._.._static_kiwixlib-resources.cpp.o src/libkiwix.so.9.4.1.p/book.cpp.o src/libkiwix.so.9.4.1.p/bookmark.cpp.o src/libkiwix.so.9.4.1.p/library.cpp.o src/libkiwix.so.9.4.1.p/manager.cpp.o src/libkiwix.so.9.4.1.p/libxml_dumper.cpp.o src/libkiwix.so.9.4.1.p/opds_dumper.cpp.o src/libkiwix.so.9.4.1.p/downloader.cpp.o src/libkiwix.so.9.4.1.p/reader.cpp.o src/libkiwix.so.9.4.1.p/entry.cpp.o src/libkiwix.so.9.4.1.p/server.cpp.o src/libkiwix.so.9.4.1.p/searcher.cpp.o src/libkiwix.so.9.4.1.p/search_renderer.cpp.o src/libkiwix.so.9.4.1.p/subprocess.cpp.o src/libkiwix.so.9.4.1.p/aria2.cpp.o src/libkiwix.so.9.4.1.p/tools_base64.cpp.o src/libkiwix.so.9.4.1.p/tools_pathTools.cpp.o src/libkiwix.so.9.4.1.p/tools_regexTools.cpp.o src/libkiwix.so.9.4.1.p/tools_stringTools.cpp.o src/libkiwix.so.9.4.1.p/tools_networkTools.cpp.o src/libkiwix.so.9.4.1.p/tools_otherTools.cpp.o src/libkiwix.so.9.4.1.p/kiwixserve.cpp.o src/libkiwix.so.9.4.1.p/name_mapper.cpp.o src/libkiwix.so.9.4.1.p/server_byte_range.cpp.o src/libkiwix.so.9.4.1.p/server_etag.cpp.o src/libkiwix.so.9.4.1.p/server_request_context.cpp.o src/libkiwix.so.9.4.1.p/server_response.cpp.o src/libkiwix.so.9.4.1.p/server_internalServer.cpp.o src/libkiwix.so.9.4.1.p/subprocess_unix.cpp.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libkiwix.so.9 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -pthread /usr/lib/mipsel-linux-gnu/libicui18n.so /usr/lib/mipsel-linux-gnu/libicuuc.so /usr/lib/mipsel-linux-gnu/libicudata.so /usr/lib/mipsel-linux-gnu/libzim.so /usr/lib/mipsel-linux-gnu/liblzma.so /usr/lib/mipsel-linux-gnu/libzstd.so /usr/lib/mipsel-linux-gnu/libxapian.so /usr/lib/mipsel-linux-gnu/libpugixml.so /usr/lib/mipsel-linux-gnu/libcurl.so /usr/lib/mipsel-linux-gnu/libmicrohttpd.so /usr/lib/mipsel-linux-gnu/libz.so -Wl,--end-group | /usr/lib/gcc-cross/mipsel-linux-gnu/10/../../../../mipsel-linux-gnu/bin/ld: src/libkiwix.so.9.4.1.p/server_request_context.cpp.o: in function `std::__atomic_base<unsigned long long>::fetch_add(unsigned long long, std::memory_order)': | /usr/mipsel-linux-gnu/include/c++/10/bits/atomic_base.h:548: undefined reference to `__atomic_fetch_add_8' | /usr/lib/gcc-cross/mipsel-linux-gnu/10/../../../../mipsel-linux-gnu/bin/ld: /usr/mipsel-linux-gnu/include/c++/10/bits/atomic_base.h:548: undefined reference to `__atomic_fetch_add_8' | collect2: error: ld returned 1 exit status | ninja: build stopped: subcommand failed. | dh_auto_build: error: cd obj-mipsel-linux-gnu && LC_ALL=C.UTF-8 ninja -j1 -v returned exit code 1 | make: *** [debian/rules:5: binary-arch] Error 25 | dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2 For using 8bit atomics, it should be linking -latomic. Please consider applying the attached patch. Helmut
--- libkiwix-9.4.1+dfsg/debian/changelog +++ libkiwix-9.4.1+dfsg/debian/changelog @@ -1,3 +1,10 @@ +libkiwix (9.4.1+dfsg-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS for mipsel: link -latomic. (Closes: #-1) + + -- Helmut Grohne <[email protected]> Fri, 11 Dec 2021 07:09:45 +0100 + libkiwix (9.4.1+dfsg-1) unstable; urgency=medium * New upstream version 9.4.1+dfsg --- libkiwix-9.4.1+dfsg/debian/rules +++ libkiwix-9.4.1+dfsg/debian/rules @@ -1,6 +1,10 @@ #!/usr/bin/make -f export DEB_BUILD_MAINT_OPTIONS = hardening=+all +ifeq ((DEB_HOST_ARCH),mipsel) + export DEB_LDFLAGS_MAINT_APPEND=-latomic +endif + %: dh $@ --buildsystem=meson

