Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Package]: recoll #10837

Closed
1 task done
JCGoran opened this issue May 28, 2022 · 0 comments · Fixed by #12299
Closed
1 task done

[Package]: recoll #10837

JCGoran opened this issue May 28, 2022 · 0 comments · Fixed by #12299
Labels
package request A new package was requested

Comments

@JCGoran
Copy link
Contributor

JCGoran commented May 28, 2022

Package description

Recoll is a full-text search tool which (currently) runs on Linux, MacOS, and MS Windows. While there is a GUI provided, it is entirely optional, and there is a web based frontend which can be used to run on basically any platform.
The program has already been a long time in the Debian main repository, so I presume that counts as "well-known".

Home page URL

https://www.lesbonscomptes.com/recoll/index.html

Source code URL

https://framagit.org/medoc92/recoll

Packaging policy acknowledgement

Additional information

There is a related Recoll web UI issue.
I tried compiling on my device (Android 10 device on aarch64), but was ultimately unsuccessful due to linker errors.

Requirements

The packages I installed using pkg are:

termux-tools
git
libtool
make
automake
clang
binutils
gettext
file
libxapian
libxslt
pkg-config

Compilation

I initially cloned the repo:

git clone https://framagit.org/medoc92/recoll

then cded to the src/ subdirectory, and ran:

sh autogen.sh
# disables support for CHM files, for which there doesn't appear to be a suitable library on Termux repos
# also disables any GUI support since we don't need it for the web frontend
./configure --prefix="${PREFIX}" --disable-python-chm --disable-x11mon --disable-qtgui

After a while, I run into a cryptic error:

./configure: 19872: Syntax error: word unexpected (expecting ")")

with the offending line being:

PKG_CHECK_MODULES(XSLT, libxslt, , as_fn_error $? "libxslt" "$LINENO" 5)

After removing this line and hoping for the best, the configuration ran successfully.
Finally, I just ran make, but encountered an error at the following command:

libtool: link: g++  -fPIC -DPIC -shared -nostdlib /data/data/com.termux/files/usr/lib/crtbegin_so.o  aspell/.libs/rclaspell.o bincimapmime/.libs/convert.o bincimapmime/.libs/mime-parsefull.o bincimapmime/.libs/mime-parseonlyheader.o bincimapmime/.libs/mime-printbody.o bincimapmime/.libs/mime.o common/.libs/webstore.o common/.libs/cstr.o common/.libs/rclconfig.o common/.libs/rclinit.o common/.libs/syngroups.o common/.libs/textsplit.o common/.libs/textsplitko.o common/.libs/unacpp.o common/.libs/utf8fn.o index/.libs/webqueuefetcher.o index/.libs/checkretryfailed.o index/.libs/exefetcher.o index/.libs/fetcher.o index/.libs/fsfetcher.o index/.libs/idxdiags.o index/.libs/idxstatus.o index/.libs/mimetype.o index/.libs/subtreelist.o internfile/.libs/extrameta.o internfile/.libs/htmlparse.o internfile/.libs/internfile.o internfile/.libs/mh_exec.o internfile/.libs/mh_execm.o internfile/.libs/mh_html.o internfile/.libs/mh_mail.o internfile/.libs/mh_mbox.o internfile/.libs/mh_text.o internfile/.libs/mh_xslt.o internfile/.libs/mimehandler.o internfile/.libs/myhtmlparse.o internfile/.libs/txtdcode.o internfile/.libs/uncomp.o query/.libs/docseq.o query/.libs/docseqdb.o query/.libs/docseqhist.o query/.libs/dynconf.o query/.libs/filtseq.o query/.libs/plaintorich.o query/.libs/qresultstore.o query/.libs/recollq.o query/.libs/reslistpager.o query/.libs/sortseq.o query/.libs/wasaparse.o query/.libs/wasaparseaux.o rcldb/.libs/daterange.o rcldb/.libs/expansiondbs.o rcldb/.libs/rclabstract.o rcldb/.libs/rclabsfromtext.o rcldb/.libs/rcldb.o rcldb/.libs/rcldoc.o rcldb/.libs/rcldups.o rcldb/.libs/rclquery.o rcldb/.libs/rclterms.o rcldb/.libs/rclvalues.o rcldb/.libs/searchdata.o rcldb/.libs/searchdatatox.o rcldb/.libs/searchdataxml.o rcldb/.libs/stemdb.o rcldb/.libs/stoplist.o rcldb/.libs/synfamily.o unac/.libs/unac.o utils/.libs/appformime.o utils/.libs/base64.o utils/.libs/cancelcheck.o utils/.libs/chrono.o utils/.libs/circache.o utils/.libs/closefrom.o utils/.libs/cmdtalk.o utils/.libs/conftree.o utils/.libs/copyfile.o utils/.libs/cpuconf.o utils/.libs/dlib.o utils/.libs/ecrontab.o utils/.libs/execmd.o utils/.libs/fileudi.o utils/.libs/fstreewalk.o utils/.libs/hldata.o utils/.libs/idfile.o utils/.libs/listmem.o utils/.libs/log.o utils/.libs/md5.o utils/.libs/md5ut.o utils/.libs/mimeparse.o utils/.libs/miniz.o utils/.libs/netcon.o utils/.libs/pathut.o utils/.libs/pxattr.o utils/.libs/rclionice.o utils/.libs/rclutil.o utils/.libs/readfile.o utils/.libs/smallut.o utils/.libs/strmatcher.o utils/.libs/transcode.o utils/.libs/utf8iter.o utils/.libs/wipedir.o utils/.libs/x11mon.o utils/.libs/zlibut.o   -Wl,-rpath -Wl,/data/data/com.termux/files/usr/lib -L/data/data/com.termux/files/usr/lib -lxslt -lxml2 -lxapian -liconv -lz -lpthread -L/system/lib64 -lc++_shared -lm -lc -l:libunwind.a -ldl /data/data/com.termux/files/usr/lib/crtend_so.o  -g -O2 -Wl,--no-undefined   -Wl,-soname -Wl,librecoll-1.32.1.so -o .libs/librecoll-1.32.1.so

with the error being:

ld.lld: error: undefined symbol: __aarch64_ldadd8_relax
>>> referenced by memory:3439 (/data/data/com.termux/files/usr/include/c++/v1/memory:3439)
>>>               index/.libs/subtreelist.o:(subtreelist(RclConfig*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::vector<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::allocator<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > >&))
>>> referenced by memory:3439 (/data/data/com.termux/files/usr/include/c++/v1/memory:3439)
>>>               internfile/.libs/internfile.o:(FileInterner::tempFileForMT(TempFile&, RclConfig*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&))
>>> referenced by memory:3439 (/data/data/com.termux/files/usr/include/c++/v1/memory:3439)
>>>               internfile/.libs/internfile.o:(FileInterner::topdocToFile(TempFile&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, RclConfig*, Rcl::Doc const&, bool))
>>> referenced 42 more times                                                                                                                                                  ld.lld: error: undefined symbol: __aarch64_ldadd8_acq_rel
>>> referenced by memory:3450 (/data/data/com.termux/files/usr/include/c++/v1/memory:3450)
>>>               index/.libs/subtreelist.o:(subtreelist(RclConfig*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::vector<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::allocator<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > >&))
>>> referenced by memory:3450 (/data/data/com.termux/files/usr/include/c++/v1/memory:3450)
>>>               index/.libs/subtreelist.o:(subtreelist(RclConfig*, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::vector<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, std::__ndk1::allocator<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > >&))
>>> referenced by memory:3450 (/data/data/com.termux/files/usr/include/c++/v1/memory:3450)
>>>               index/.libs/subtreelist.o:(std::__ndk1::shared_ptr<Rcl::SearchData>::~shared_ptr())
>>> referenced 148 more times
clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Makefile:1648: librecoll.la] Error 1

According to this and this issue, I tried running both with CFLAGS="${CFLAGS} -mno-outline-atomics" and CFLAGS="${CFLAGS} -moutline-atomics", but neither worked (__aarch64_ldadd8_relax and/or __aarch64_ldadd8_acq_rel missing), so I'm not entirely sure what to do. If anyone can provide guidance on resolving this issues, I can try compiling again and report back.

@JCGoran JCGoran added the package request A new package was requested label May 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package request A new package was requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant