[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