From owner-freebsd-emulation@FreeBSD.ORG Fri Feb 3 21:44:37 2006 Return-Path: X-Original-To: emulation@freebsd.org Delivered-To: freebsd-emulation@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CABB116A420 for ; Fri, 3 Feb 2006 21:44:37 +0000 (GMT) (envelope-from chris@Shenton.Org) Received: from Shenton.org (23.ebbed1.client.atlantech.net [209.190.235.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id E3E4E43D45 for ; Fri, 3 Feb 2006 21:44:36 +0000 (GMT) (envelope-from chris@Shenton.Org) Received: (qmail 92866 invoked by uid 1001); 3 Feb 2006 21:44:35 -0000 From: Chris Shenton To: emulation@freebsd.org Date: Fri, 03 Feb 2006 16:44:35 -0500 Message-ID: <86mzh8nmm4.fsf@PECTOPAH.shenton.org> User-Agent: Gnus/5.110004 (No Gnus v0.4) Emacs/21.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Subject: ./Bin/rmserver: relocation error: ./Bin/rmserver: undefined symbol: g_nTLSProcnum X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2006 21:44:38 -0000 We've been running RealMedia's Linux reallserver9 on FreeBSD-4 for years, and now my client wants realserver11, built for Red Hat Enterprise Linux. The binary was missing a library, so I installed what I thought was the right thing, like: rpm2cpio libgcc-3.3.2-6.i386.rpm | cpio --extract It provided, in /compat/linux/usr/lib: libgcc_s-3.3.2-20040109.so.1 libgcc_s.so.1 -> libgcc_s-3.3.2-20040109.so.1 This allowed the installer to run, but when I run the server binary itself, it bombs: ./Bin/rmserver: relocation error: ./Bin/rmserver: undefined symbol: g_nTLSProcnum I've attached a truss at the bottom of this message For yucks, I copied the software to my home FreeBSD-6 machine, and after creating a symlink for a library it wanted: libstdc++.so.6 -> libstdc++.so.5 running it failed with exactly the same problem. Hmmmmm.... I'm out of my depth here but guessing the runtime loader isn't at the correct version. A strings in /compat/linux/lib/ld-linux.so shows the "relocation error" message. -rwxr-xr-x 1 root wheel 85420 Oct 14 2004 ld-2.2.5.so -rwxr-xr-x 1 root wheel 90212 Nov 12 2003 ld-2.3.2.so lrwxrwxrwx 1 root wheel 11 Dec 27 15:56 ld-linux.so.2 -> ld-2.3.2.so As I said, I'm out of my depth here. Thanks for any clues you can provide. root@Palimpsest(297> truss ./rmserver linux_newuname(0xbfbff684) = 0 (0x0) linux_brk(0x0) = 138145792 (0x83bf000) linux_mmap(0xbfbff3e4) = 674795520 (0x28389000) linux_open("/etc/ld.so.preload",0x0,00) ERR#2 'No such file or directory' linux_open("/etc/ld.so.cache",0x0,00) = 3 (0x3) linux_fstat64(0x3,0xbfbfeee4,0x28388bfc) = 0 (0x0) linux_mmap(0xbfbfeeb4) = 674799616 (0x2838a000) close(3) = 0 (0x0) linux_open("/lib/libdl.so.2",0x0,00) = 3 (0x3) read(0x3,0xbfbff078,0x200) = 512 (0x200) linux_fstat64(0x3,0xbfbfef94,0x28388bfc) = 0 (0x0) linux_mmap(0xbfbfee84) = 674811904 (0x2838d000) linux_mmap(0xbfbfee84) = 674820096 (0x2838f000) close(3) = 0 (0x0) linux_open("/lib/libpthread.so.0",0x0,00) = 3 (0x3) read(0x3,0xbfbff068,0x200) = 512 (0x200) linux_fstat64(0x3,0xbfbfef84,0x28388bfc) = 0 (0x0) linux_mmap(0xbfbfee54) = 674824192 (0x28390000) linux_mmap(0xbfbfee54) = 674881536 (0x2839e000) linux_mmap(0xbfbfee54) = 674893824 (0x283a1000) close(3) = 0 (0x0) linux_open("/usr/lib/libstdc++.so.6",0x0,00) = 3 (0x3) read(0x3,0xbfbff058,0x200) = 512 (0x200) linux_fstat64(0x3,0xbfbfef74,0x28388bfc) = 0 (0x0) linux_mmap(0xbfbfee74) = 9748480 (0x94c000) linux_mmap(0xbfbfee74) = 10665984 (0xa2c000) linux_mmap(0xbfbfee74) = 10686464 (0xa31000) close(3) = 0 (0x0) linux_open("/lib/libm.so.6",0x0,00) = 3 (0x3) read(0x3,0xbfbff048,0x200) = 512 (0x200) linux_fstat64(0x3,0xbfbfef64,0x28388bfc) = 0 (0x0) linux_mmap(0xbfbfee54) = 675155968 (0x283e1000) linux_mmap(0xbfbfee54) = 675287040 (0x28401000) close(3) = 0 (0x0) linux_open("/lib/libgcc_s.so.1",0x0,00) = 3 (0x3) read(0x3,0xbfbff038,0x200) = 512 (0x200) linux_fstat64(0x3,0xbfbfef54,0x28388bfc) = 0 (0x0) linux_mmap(0xbfbfee54) = 675291136 (0x28402000) linux_mmap(0xbfbfee54) = 675319808 (0x28409000) close(3) = 0 (0x0) linux_open("/lib/libc.so.6",0x0,00) = 3 (0x3) read(0x3,0xbfbff028,0x200) = 512 (0x200) linux_fstat64(0x3,0xbfbfef44,0x28388bfc) = 0 (0x0) linux_mmap(0xbfbfee04) = 675323904 (0x2840a000) linux_mmap(0xbfbfee14) = 675328000 (0x2840b000) linux_mmap(0xbfbfee14) = 676511744 (0x2852c000) linux_mmap(0xbfbfee14) = 676528128 (0x28530000) close(3) = 0 (0x0) ./rmserver: relocation error: ./rmserver: undefined symbol: g_nTLSProcnum writev(0x2,0xbfbfebc4,0xa) = 74 (0x4a) process exit, rval = 32512