rspamd binaries fail with illegal instruction 4:
jonesc at hep.phy.cam.ac.uk
Mon Sep 9 10:52:48 UTC 2019
On 09/09/2019 11:17 am, Steven Smith wrote:
>> I installed rspamd on macOS High Sierra Version 10.13.6, it build and
>> installed oh, but when starting rspamd it fails with illegal
>> instruction 4:, the same for rspamadm command. Anyone hs this
>> successful running?
> I have rspamd running flawlessly on 10.14.
> I suggest dumping a core and posting the issue upstream. See:
> • https://github.com/rspamd/rspamd/issues/2884
> One thing to look for is the necessary linking of the native PCRE
> libraries—I’m not sure if they changed from 10.13 to 10.14. The upstream
> PCRE libraries that MacPorts uses have some jit bug. That’s just a guess.
> Other possibilities are something specific with a configuration, file
> permissions, or buildbot compiler optimization settings.
'illegal instruction' usually points to the build enabling some hardware
dependent capability, such as AVX/AVX2. If you then attempt to run these
binaries on machines that do not support those features, you get this
sort of issue.
The solution is to make sure the default builds, as performed by the
buildbots, assume a minimum CPU type that is applicable to all possible
hardware running that OS. Usually this means just assuming a basic
If then, you want to allow the use of additional CPU features, the
standard way to tend to do this in MacPorts is to provide a 'native'
variant for the port in question, which a) allows build to determine
what the host machine supports and enables that and b) implicitly forces
a build from source (as the native variant is not enabled by default).
The first thing to do is check the buildbot logs, to see if you can work
out what CPU feature the builds are enabling, and then proceed from there.
More information about the macports-users