FreeBSD: Rspamd: php throws: Undefined symbol "ubrk_next_64"


Enter Your Query:
Use '%' for wildcards and quotes for "exact phrases"


Top Level » Email » Spam

FreeBSD: Rspamd: php throws: Undefined symbol "ubrk_next_64"Last Modified: Dec 1, 2019, 9:21 pm
When rspamd is installed, CustomBuild installs it with the "pkg" command to give a simple pre-compiled binary.
There is a pre-requisite of "icu" which the pkg system automatically adds.

In this case, upon adding this icu library, php starts throwing missing symbol errors:

root@freebsd-12-test:~ #/usr/local/php72/bin/php -v
ld-elf.so.1: /usr/local/php72/bin/php: Undefined symbol "ubrk_next_64"

even though the icu libraries were all pointing to the CustomBuild installed version in /usr/local/icu/lib/*, using the php configure flag --with-icu-dir=/usr/local/icu.

The pre-compiled library installs to /usr/local/lib/*, but seems to not contain the "ubrk_next_64" symbol.

The cause was found to be an older library version installed by the pkg command due to the 'quarterly' period of versions.

The solution that worked was to edit:

/etc/pkg/FreeBSD.conf

and edit the "FreeBSD" section's url, changing:

FreeBSD: {
 url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
...

to be:

FreeBSD: {
 url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
...

followed by an pkg update:

pkg upgrade -f



This now uses more recent versions of the software.

From there the newer icu/rspamd can be installed normally (if they're not alreayd):

cd /usr/local/directadmin/custombuild
./build set spamd rspamd
./build rspamd



If you need to rewrite or build all user rspamd configs in /etc/rspamd/users.d/*, you can do so with

echo "action=rewrite&value=rspamd" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq d2000

© 2018 JBMC Software, Suite 173  3-11 Bellerose Drive, St Albert, AB  T8N 1P7  Canada.  Mon-Fri 9AM-5PM MST