[Slackbuilds-users] RFC: SlackBuild to Install Newer ICU to /opt
Lumin Etherlight
lumin+slackbuilds at etherlight.link
Mon Jun 8 03:09:23 UTC 2026
Hello, friends,
I just submitted icu4c-opt, which installs a
newer version of ICU to /opt. The goal is to have
it available for packages that require ICU newer
than what is in base Slackware. Packages such as
WebKitGTK, whose upgrade is blocked by lack of ICU
modern enough to build it. This version of ICU
installed to /opt allows us to build WebKitGTK,
and possibly other packages, by adding the library
path /opt/icu/usr/lib64 to their -rpath at linking
phase. I've been running the latest WebKitGTK as
the backend for my suckless surf for the past week
by doing this, and it seems to be working well.
Note that packages like WebKitGTK also link
against other packages that depend on ICU, such as
SQLite3, and thus, the final binary will link both
the new ICU and the old ICU, but that is not any
problem, because ICU symbols are versioned in its
shared objects. For example, running:
objdump -T /usr/lib64/libicuio.so | less
would show symbols like:
[...]
_ZN6icu_6913UnicodeStringD1Ev
ucnv_toUnicode_69
u_charsToUChars_69
[...]
where 69 is the version of ICU in base Slackware;
the build installed to /opt shows 78 instead. We
can't install the new ICU package to /usr/lib64,
despite this though, because the package contains
binaries, C headers, and pkg-config files, that do
conflict with Slackware's base ICU, installing to
/opt seems to be the saner option.
Feedback and suggestions are welcome. Once
this script is hopefully published, I will work on
cleaning up my latest WebKitGTK SlackBuild, and we
can have an up-to-date version available. The ICU
SlackBuild was tested on clean Slackware installs,
fully-patched, for both 64bit and 32bit. Still
doing more testing on WebKitGTK, its builds take 6
hours each, at least, so it's been tedious :)
Thank you all~
Best Regards,
Lumin Etherlight
More information about the SlackBuilds-users
mailing list