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