Am 18.04.23 um 00:04 schrieb Ben Westover:
Hello,
On 4/17/23 2:13 PM, Bastian Germann wrote:
Please see https://salsa.debian.org/cryptocoin-team/xmrig/-/commit/fa8aaf366f7168be3d30ba9c1d7e5fdaf9bb11bb to get an
idea of what is to exclude. Please use the Debian replacements for those libraries. adl and libethash are not yet
available (see also #1034528), so please build with WITH_KAWPOW=OFF and WITH_ADL=OFF.
I looked into this when I first started packaging xmrig. Unfortunately, for many of these third party libraries,
Debian's packaging of them won't work because the version included in xmrig is specially modified and contains lots of
xmrig-specific functions that aren't easy to work around. For example, many of argon2's functions directly have xmrig in
the name, and work a bit differently to those of the original project.
The missing thing is hugepages support:
https://github.com/xmrig/xmrig/commit/b1db0803cfdcb25fd51cef1df2dba46dc63fb0f7
src/crypto/randomx/dataset.cpp relies on some private argon2 implementation
details.
But as far as I can see you can just have some definitions to satisfy these
needs.
Either patch or build with WITH_ARGON2=OFF.
The source also directly includes headers that
exist in the original source but not a packaged version, and which are also modified specifically for xmrig. If I were
to get rid of all the third party libraries that don't work easily with Debian's packaged versions, there wouldn't be
much xmrig functionality left.
The only thing that is not easily replacable from the original list is llhttp. Just keep this one. I have done the
trivial replacements for CL, fmt, and rapidjson. hwloc is built with the system library anyway and adl is only used on
Windows.
When libethash is available in Debian, just add support for it.
And maybe, when #977716 is done, you can also replace llhttp.