Linux binary looks for /proc/cpuinfo, dies when cannot be found, even when linprocfs mounted.

Konstantin Belousov kostikbel at gmail.com
Sat Jun 23 10:20:46 UTC 2012


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
> 
> quartus_sh: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), 
> dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
> 
> brandelf(1)ing this to Linux seems to have worked. What does SYSV 
> represent anyway? "brandelf -l" only lists
> 
> known ELF types are: FreeBSD(9) Linux(3) Solaris(6) SVR4(0)
> 
> 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 ?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20120623/485b7734/attachment.pgp


More information about the freebsd-ports mailing list