Port-amd64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: running 32-bit static Linux binary segfaults



On Thu, Jun 25, 2015 at 06:30:41PM +0100, Steve Blinkhorn wrote:
> The machine is a fresh out of the box 6.1.   The binary is a
> statically-linked 32-bit Linux executable of impeccable provenance.
> 
> Such 3rd-party 64-bit Linux executables that I have tried run fine
> and without complaint.
> 
> But on starting this one, I get "FATAL kernel too old".   There is a
> Linux procfs in place, so presumably I'm lacking some libraries to do
> with the compatibility layer.
> 
> I can't find any real guidance for this situation, and would
> appreciate advice from someone acquainted with the emulation and how
> to configure it.

that error message means that the binary requires a later linux kernel version
than what it thinks it's running under.  the kernel version that our
emulation layer reports for 32-bit binaries is controlled by the sysctl node
"emul.linux32.kern.osrelease".  on netbsd 6.x this was "2.6.18", which is
approximately RHEL 5.  you can change the version that is reported
to something newer and see if your binary works, but the binary probably
really does need something that the emulation in netbsd 6.x doesn't provide.
if that's the case, the only practical thing to do is upgrade to 7.x
when it comes out, or try the 7.0_RC1 pre-release version which was
just announced.  7.x has support for some newer linux kernel features,
enough to run most binaries from opensuse 13.1, which is our current
linux compatibility target.

-Chuck


Home | Main Index | Thread Index | Old Index