Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Sep 2010 23:01:30 -0400
From:      Steve Polyack <korvus@comcast.net>
To:        User Questions <freebsd-questions@freebsd.org>
Subject:   compat4x broken in FreeBSD 8.1-RELEASE?
Message-ID:  <4C99718A.7020405@comcast.net>

next in thread | raw e-mail | index | archive | help
  Is anyone else having issues using compat4x / running FreeBSD 4 
binaries on 8.1-RELEASE?  I recently upgraded a system of mine from 
8.0-RELEASE to 8.1-RELEASE, which seems to have broken compatibility 
with compat4x.  The requisite package is installed (I even reinstalled 
it, but it appears to be a binary package).  The kernel options are all 
still there in my kernel config, which is only a slightly modified GENERIC.

$ uname -a
FreeBSD xxxxxx 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Tue Sep 21 01:18:45 
EDT 2010     root@xxxxx:/usr/obj/usr/src/sys/PFSYNC-MFIB  amd64

$ grep -ir compat /usr/src/sys/amd64/conf/PFSYNC-MFIB
options         COMPAT_43TTY            # BSD 4.3 TTY compat (sgtty)
options         COMPAT_IA32             # Compatible with i386 binaries
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
options         COMPAT_FREEBSD7         # Compatible with FreeBSD7

An example FreeBSD 4 port which no longer works is audio/ventrilo-server:
$ sudo /usr/local/etc/rc.d/ventrilo-server start
Starting ventrilo.
/usr/local/ventrilo-server/ventrilo_srv: 1: Syntax error: "(" unexpected
$ file /usr/local/ventrilo-server/ventrilo_srv
/usr/local/ventrilo-server/ventrilo_srv: ELF 32-bit LSB executable, 
Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), 
for FreeBSD 4.5, stripped
$  ldd /usr/local/ventrilo-server/ventrilo_srv
ldd: /usr/bin/ldd32: Exec format error

Interestingly enough, the compat4 libraries themselves don't seem to be 
recognized:
$ ldd /usr/local/lib32/compat/libfetch.so.2
ldd: /usr/bin/ldd32: Exec format error

Compat5x libraries do not appear to be affected:
$ ldd /usr/local/lib/compat/libfetch.so.3
/usr/local/lib/compat/libfetch.so.3:
         libssl.so.3 => /usr/local/lib/compat/libssl.so.3 (0x800c00000)
         libcrypto.so.3 => /usr/local/lib/compat/libcrypto.so.3 
(0x800d3a000)

Has anyone else ran into this issue? I realize trying to use things 
built for FreeBSD 4 may be like beating a dead horse at this point, I'm 
just surprised that the compatibility was broken during a minor release 
upgrade.

Thanks,

Steve Polyack



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