Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Jun 2012 13:20:39 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Benjamin <byu17@uclive.ac.nz>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Linux binary looks for /proc/cpuinfo, dies when cannot be found, even when linprocfs mounted.
Message-ID:  <20120623102039.GR2337@deviant.kiev.zoral.com.ua>
In-Reply-To: <4FE5928A.8030207@uclive.ac.nz>
References:  <4FE528AE.8070005@uclive.ac.nz> <20120623085716.GM2337@deviant.kiev.zoral.com.ua> <4FE5928A.8030207@uclive.ac.nz>

next in thread | previous in thread | raw e-mail | index | archive | help

--w4FA960qCDcgfw+v
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Jun 23, 2012 at 09:55:22PM +1200, Benjamin wrote:
> On 06/23/12 20:57, Konstantin Belousov wrote:
> >On Sat, Jun 23, 2012 at 02:23:42PM +1200, Benjamin wrote:
> >>Hi all. I have posted this question on the forums, and it was suggested
> >>that I post it here.
> >>
> >>I am currently porting Altera Quartus II design software to FreeBSD. I
> >>have got it installing, but running the binary requires /proc/cpuinfo to
> >>exist, and it dies when it can't find it.
> >>
> >>I have both procfs and linprocfs mounted.
> >To be sure, show us the mount -v output.
> >
> [snipped]
> linprocfs on /usr/compat/linux/proc (linprocfs, local)
> procfs on /proc (procfs, local)
> [/snipped]
> >>
> >>As a workaround (read hack) I can do the following to make the binary
> >>execute.
> >>
> >>1. unmount procfs.
> >>2. symlink /compat/linux/proc/cpuinfo to /proc/cpuinfo
> >>
> >>Since this problem has no doubt come up before, what is the best way to
> >>get around this issue?
> >No, it did not came up before.
> >
> >Show the file(1) output on the binary which exhibit the faulty behaviour.
> Aha. I think you've identified the problem
>=20
> quartus_sh: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),=20
> dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
>=20
> brandelf(1)ing this to Linux seems to have worked. What does SYSV=20
> represent anyway? "brandelf -l" only lists
>=20
> known ELF types are: FreeBSD(9) Linux(3) Solaris(6) SVR4(0)
>=20
> so what does SYSV mean?
There it means that an old branding method was not used on the binary.
Note that the note is present in the executable, so even file is
able to identify the binary as using Linux ABI.

I very much doubt that your report of 'crash' was due to unability
to open /proc/cpuinfo, the failure scenario should be much more spectacular
and fun to watch.

What version of the kernel do you use and what arch ? We have support
for note-based ABI branding for very long time. I wonder is your kernel
so ancient that it lacks the support, or we have a regression.

Can you put the binary somewere so I can look into it ?

--w4FA960qCDcgfw+v
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (FreeBSD)

iEYEARECAAYFAk/lmHcACgkQC3+MBN1Mb4gk2wCgkPmCpXHRL86s2AkXqK8FySgT
QCcAn1A29V93Axz7mqqpytGRTvJ2B7XV
=4G7+
-----END PGP SIGNATURE-----

--w4FA960qCDcgfw+v--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120623102039.GR2337>