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

John Ralls <[email protected]>
Newsgroups gmane.comp.gnome.apps.gnucash.devel
Message-ID <[email protected]>

> On Jul 18, 2022, at 1:02 PM, Manfred Usselmann <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.