Linux libs missing dependancies

Micheal Patterson micheal at tsgincorporated.com
Mon Dec 20 12:31:05 PST 2004



----- Original Message ----- 
From: "Stephen Maver" <steve at ntropy.net>
To: <freebsd-questions at freebsd.org>
Sent: Monday, December 20, 2004 1:16 PM
Subject: Linux libs missing dependancies


> Dear List,
>
> I've installed the linux steam client the other day,
>
> /usr/ports/games/linux-steam
>
> This theoretically allows you to download and run steam based games,
> such as Halflife and Counter Strike Source.
>
> Related ports installed:
> linux-steam-1.0     Half Life dedicated server running on steam
> linux_base-7.1_7    The base set of packages needed in Linux mode
>
> # uname -a
> FreeBSD lupus.ntropy.net 5.3-RELEASE-p2 FreeBSD 5.3-RELEASE-p2 #1:
> Sun Dec  5 16:11:09 GMT 2004 ...
>
> # kldstat
> Id Refs Address    Size     Name
>  1   10 0xc0400000 39dcf8   kernel
>  2   14 0xc079e000 537f0    acpi.ko
>  3    1 0xc15e1000 6000     linprocfs.ko
>  4    1 0xc15ef000 17000    linux.ko
>
> I chanced it and used the linux steam client to download the Counter
> Strike Source files, with no obvious problems.
>
> When I try to run the dedicated server it immediately crashes,
> probably as it should as it is linux specific I'd guess.
>
> $ ./srcds_run  -console -game cstrike +map de_dust +maxplayers 16
>  -steamuser <user> -steampass <passwd>
> ------
> Auto detecting CPU
> Using default binary.
> Auto-restarting the server on crash
> ./srcds_i486: error while loading shared libraries:
> /usr/compat/linux/lib/libm.so.6: ELF file OS ABI invalid
> Mon Dec 20 17:53:37 GMT 2004: Server restart in 10 seconds
> ----
>
> # ldd ./srcds_i486
> ./srcds_i486:
> ./srcds_i486: error while loading shared libraries:
> /lib/libm.so.6: ELF file OS ABI invalid
> ./srcds_i486: exit status 127
>
> The binary 'srcds_i486' relies on several other files that
> have missing dependancies.
>
> #  ldd bin/dedicated_i486.so
> bin/dedicated_i486.so:
>         libm.so.6 => not found (0x0)
>         libdl.so.2 => not found (0x0)
>         tier0_i486.so (0x0)
>         vstdlib_i486.so (0x0)
>         libc.so.6 => not found (0x0)
>
> All of these libs exist in /usr/compat/linux/lib, and, with
> the linux emulation running, are seen as being in /lib/* if I
> understand it all correctly.
>
> Also, last night I was trying to use ldd, and suicidal symbolic
> linking, to show the *so files where their libs were. At one
> point it failed with an error about being unable to use the
> libraries as they were not freebsd native.
>
> Sorry for the lack of the specific error I am unable to
> recreate it today.
>
> So, the questions are:
>
> 1) What would cause the error "ELF file OS ABI invalid" on
>  `ldd ./srcds_i486` above ?
>
> 2) How would I go about teaching the linux *.so files where
> their linux libraries are located ?
>
> Pointers to docs, or FMs I should have read, are welcome. I
> had a look through the manual and googled about on the error,
> but didnt turn up anything that helped.
>
> Thanks,
>
> Ste
>

This is my post to the hlds_linux list on how to get Source running on
FreeBSD. Hopefully it will get you where you need to go.

--

Micheal Patterson
Senior Communications Systems Engineer
405-917-0600

-----------------------------------------------------

Micheal Patterson hlds_linux at list.valvesoftware.com
Fri Aug 20 05:08:02 2004
Previous message: [hlds_linux] CS:S and FreeBSD 4.10-STABLE
Next message: [hlds_linux] CS:S and FreeBSD 4.10-STABLE
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Ok folks.. Here's what I did to get Source running on FreeBSD 4.10 with
an Intel cpu. AMD should be no different system wise.

1. Install source :)

2. Install the Linux_base-8 port. Once this is done,  run:
shell$> ldconfig -m /compat/linux/lib

** This merges the linux compat lib paths into your existing environment
and is what allows source to locate lib.so.6

3. Then recompile your kernel with the following options:

## SSE/MMX2 instructions support
options         CPU_ENABLE_SSE

** This allows source to determine your CPU speed.

3. Reboot

Log back into the account you installed steam to, and execute:
./srcds_run -game cstrike +ip xx.xx.xx.xx -port 27015 +maxplayers 20
+map de_dust

This procedure worked for me with a clean freebsd 4.10 install and no
linux base. If you have linux base 7 installed, you'll need to run a
pkg_delete linux_base-7.1_7 before base 8 will install.



More information about the freebsd-questions mailing list