Which version of FreeBSD a binary was compiled for?

Micah micahjon at ywave.com
Thu Oct 27 06:51:24 PDT 2005


Andrew P. wrote:
> On 10/27/05, Joshua Tinnin <krinklyfig at comcast.net> wrote:
> 
>>On Wed 26 Oct 05 09:18, "Andrew P." <infofarmer at gmail.com> wrote:
>>
>>>On 10/26/05, Robert Huff <roberthuff at rcn.com> wrote:
>>>
>>>>Andrew P. writes:
>>>>
>>>>> > file /usr/bin/man
>>>>> >
>>>>> > on my machine outputs:
>>>>> >
>>>>> > /usr/bin/man: ELF 32-bit LSB executable, Intel 80386, version
>>>>> > 1 (FreeBSD), for FreeBSD 5.4-CURRENT (rev 3), dynamically
>>>>> > linked (uses shared libs), stripped
>>>>>
>>>>> Oh, it's just that file hasn't leared anything about
>>>>> FreeBSD 6 yet, so it doesn't display version info
>>>>> when run against my binaries.
>>>>
>>>>        Curious.
>>>>
>>>>huff@> file /usr/bin/man
>>>>/usr/bin/man: ELF 32-bit LSB executable, Intel 80386, version 1
>>>>(FreeBSD), for FreeBSD 7.0 (700003), dynamically linked (uses
>>>>shared libs), stripped huff@>
>>>
>>>I tried both versions of file (base system and ports)
>>>on 6.0 RC1, none showed any info about that
>>>/usr/bin/man (or any other system binary I tried).
>>>
>>>On my firewall (5.4) it works.
>>
>>That's odd. Am on 6.0-RC1:
>>
>># uname -a
>>FreeBSD smogmonster.local 6.0-RC1 FreeBSD 6.0-RC1 #0: Thu Oct 20
>>14:41:23 MDT 2005
>>krinklyfig at smogmonster.local:/usr/obj/usr/src/sys/MYKERNEL60  i386
>>
>>% file /usr/bin/xargs
>>/usr/bin/xargs: ELF 32-bit LSB executable, Intel 80386, version 1
>>(FreeBSD), for FreeBSD 6.0 (600034), dynamically linked (uses shared
>>libs), stripped
>>
>>% file /usr/bin/man
>>/usr/bin/man: ELF 32-bit LSB executable, Intel 80386, version 1
>>(FreeBSD), for FreeBSD 6.0 (600034), dynamically linked (uses shared
>>libs), stripped
>>
>>% file /bin/echo
>>/bin/echo: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD),
>>for FreeBSD 6.0 (600034), dynamically linked (uses shared libs),
>>stripped
>>
>>
>>I know I built valgrind just a few days ago:
>>
>>% file /usr/local/bin/valgrind
>>/usr/local/bin/valgrind: ELF 32-bit LSB executable, Intel 80386, version
>>1 (FreeBSD), for FreeBSD 6.0 (600034), statically linked, stripped
>>
>>vim, too:
>>
>>% file /usr/local/bin/vim
>>/usr/local/bin/vim: ELF 32-bit LSB executable, Intel 80386, version 1
>>(FreeBSD), for FreeBSD 6.0 (600034), dynamically linked (uses shared
>>libs), stripped
>>
>>
>>I'm not sure what it means when this information isn't accessible, but
>>I'd say it's symptomatic of another issue, and most likely it's not
>>good. If you built from source, did you follow the procedure described
>>in the handbook?
>>http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
>>
>>Not sure, but are you installing kernel after building world, and then
>>installing world in single user? I've seen strange things happen if you
>>don't do this procedure the right way. Of course, I'm just guessing, as
>>I'm not at all sure what could be causing this problem or what your
>>exact circumstances are.
>>
>>- jt
>>_______________________________________________
>>freebsd-questions at freebsd.org mailing list
>>http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>>To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>>
> 
> 
> sat64% uname -a
> FreeBSD sat64.net17 6.0-RC1 FreeBSD 6.0-RC1 #2: Fri Oct 14 22:57:08 MSD 2005
>  sat at sat64.net17:/usr/obj/usr/src/sys/SATCUR32  i386
> 
> sat64% file /usr/bin/xargs
> /usr/bin/xargs: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dyn
> amically linked (uses shared libs), stripped
> 
> sat64% file /usr/bin/man
> /usr/bin/man: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynam
> ically linked (uses shared libs), stripped
> 
> sat64% file /bin/echo
> /bin/echo: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamica
> lly linked (uses shared libs), stripped
> 
> sat64% file /usr/local/bin/waveplay
> /usr/local/bin/waveplay: ELF 32-bit LSB executable, Intel 80386, version 1 (Free
> BSD), dynamically linked (uses shared libs), stripped
> 
> sat64% file /usr/local/lib/oss/bin/ossplay
> /usr/local/lib/oss/bin/ossplay: ELF 32-bit LSB executable, Intel 80386, version
> 1 (FreeBSD), dynamically linked (uses shared libs), stripped
> 
> sat64% /usr/local/bin/file /usr/local/lib/oss/bin/ossplay
> /usr/local/lib/oss/bin/ossplay: ELF 32-bit LSB executable, Intel 80386, version
> 1 (FreeBSD), dynamically linked (uses shared libs), stripped
> 
> 
> Maybe you're right. I never go to single-user when
> upgrading. But then, I'm the only user and there are
> not many processes. I'm not gonna worry anyway,
> hope it's not a rootkit :-)

I have a 5.4 system, /do/ go into single user when upgrading, and file 
does /not/ report FreeBSD version.  I get the same output you do.  It 
would be nice to know why this works on some systems and not on others.

Micah


More information about the freebsd-questions mailing list