[GNC-dev] Building gnucash on aarch64 - issue with boost::icu_regex_traits

John Ralls jralls at ceridwen.us
Mon Jul 18 19:47:30 EDT 2022



> On Jul 18, 2022, at 1:02 PM, Manfred Usselmann <manfred at usselmann.de> wrote:
> 
> Hi,
> 
> I'm trying to build gnucash for Void Linux on platform aarch64, but without success.
> On x86_64 it's working fine.
> 
> Just in case somebody has any idea what the issue could be:
> 
> [693/937] Linking CXX executable bin/gnucash
> FAILED: bin/gnucash
> : && /usr/bin/g++ -Wno-error=deprecated-declarations  -Werror -Wall -Wmissing-declarations -Wno-unused -Wno-error=parentheses -DNDEBUG -fstack-clash-protection -D_FORTIFY_SOURCE=2 -march=armv8-a -O2  -Wno-error  -fdebug-prefix-map=/builddir/gnucash-4.11=. -Wl,-z,relro -Wl,-z,now -Wl,--as-needed gnucash/CMakeFiles/gnucash.dir/gnucash.cpp.o gnucash/CMakeFiles/gnucash.dir/gnucash-commands.cpp.o gnucash/CMakeFiles/gnucash.dir/gnucash-core-app.cpp.o gnucash/CMakeFiles/gnucash.dir/gnucash-gresources.c.o -o bin/gnucash  -Wl,-rpath,/builddir/gnucash-4.11/build/lib64:/builddir/gnucash-4.11/build/lib64/gnucash:  lib64/libgnc-module.so  lib64/gnucash/libgnc-qif-import.so  lib64/gnucash/libgnc-csv-import.so  lib64/gnucash/libgnc-csv-export.so  lib64/gnucash/libgnc-log-replay.so  lib64/gnucash/libgnc-bi-import.so  lib64/gnucash/libgnc-customer-import.so  -L/usr/lib64  -lguile-2.2  -latomic_ops  -lgc  -L/usr/lib64  -lglib-2.0  /usr/lib/libboost_date_time.so  /usr/lib/libboost_regex.so  /usr/lib/libboost_locale.so  /usr/lib/libboost_filesystem.so  /usr/lib/libboost_system.so  /usr/lib/libboost_program_options.so  lib64/gnucash/libgnc-generic-import.so  lib64/libgnc-gnome.so  lib64/gnucash/libgnc-ledger-core.so  lib64/gnucash/libgnc-report.so  /usr/lib/libboost_locale.so  /usr/lib/libboost_filesystem.so  /usr/lib/libboost_system.so  /usr/lib/libboost_program_options.so  lib64/gnucash/libgnc-register-gnome.so  lib64/gnucash/libgnc-register-core.so  lib64/gnucash/libgnc-gnome-search.so  lib64/libgnc-html.so  lib64/gnucash/libgnc-gnome-utils.so  /usr/lib64/libgtk-3.so  /usr/lib64/libgdk-3.so  /usr/lib64/libz.so  /usr/lib64/libpangocairo-1.0.so  /usr/lib64/libpango-1.0.so  /usr/lib64/libharfbuzz.so  /usr/lib64/libatk-1.0.so  /usr/lib64/libcairo-gobject.so  /usr/lib64/libcairo.so  /usr/lib64/libgdk_pixbuf-2.0.so  /usr/lib64/libgio-2.0.so  /usr/lib64/libgobject-2.0.so  /usr/lib64/libglib-2.0.so  lib64/libgnc-backend-xml-utils.so  -L/usr/lib  -lz  -ldl  -lsecret-1  lib64/libgnc-app-utils.so  lib64/libgnucash-guile.so  lib64/libgnc-locale-tax.so  -lguile-2.2  -latomic_ops  -lgc  -lgio-2.0  -lxslt  -lxml2  lib64/libgnc-engine.so  /usr/lib/libboost_date_time.so  /usr/lib/libboost_regex.so  -lgobject-2.0  -licui18n  -licuuc  -licudata  -Wl,--export-dynamic  -lgmodule-2.0  -pthread  lib64/libgnc-core-utils.so  -L/usr/lib64  -lglib-2.0 && :
> /usr/bin/ld: lib64/gnucash/libgnc-csv-import.so: undefined reference to `boost::re_detail_107200::icu_regex_traits_implementation::do_transform(int const*, int const*, icu_71::Collator const*) const'
> /usr/bin/ld: lib64/gnucash/libgnc-csv-import.so: undefined reference to `boost::icu_regex_traits::isctype(int, unsigned long) const'
> /usr/bin/ld: lib64/gnucash/libgnc-csv-import.so: undefined reference to `boost::basic_regex<int, boost::icu_regex_traits>::do_assign(int const*, int const*, unsigned int)'
> collect2: error: ld returned 1 exit status
> 

There are a couple of possibilities. One is that you've set some CXX_FLAGS that are different from what the boost::regex packager used in a way that affects the mangling, the other is that boost::regex was somehow built without ICU support.

Unless you're conversant in using nm to examine binaries your best bet is to ask the distro's boost::regex packager.

Regards,
John Ralls


More information about the gnucash-devel mailing list