[SOLVED] libphysfs-1.0.so.1

Ask for help regarding any technical issue or report any bug or OS independent issues.
Locked
millionknives
Peon
Peon
Posts: 6
Joined: 27 Dec 2005, 19:48

[SOLVED] libphysfs-1.0.so.1

Post by millionknives »

Ok so I've got guichan and physfs 1.0 installed and the tmw slackware package however I try to start the game (both as normal user and root) and I recieve this error:

Code: Select all

tmw: error while loading shared libraries: libphysfs-1.0.so.1: cannot open shared object file: No such file or directory
Any ideas on whats up?

O btw it looks great I look forward to trying and playing the game![/code]
User avatar
Platyna
Grand Knight
Grand Knight
Posts: 2215
Joined: 19 Nov 2005, 13:19
Location: Poland
Contact:

Post by Platyna »

millionknives
Peon
Peon
Posts: 6
Joined: 27 Dec 2005, 19:48

Post by millionknives »

Cool thanks now I'm up to a new problem:

Code: Select all

tmw: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory


My understanding is that thats part of gcc (which is installed) but I'm not sure.
User avatar
Platyna
Grand Knight
Grand Knight
Posts: 2215
Joined: 19 Nov 2005, 13:19
Location: Poland
Contact:

Post by Platyna »

It is part of new gcc. I could compile these packages using some ancient version of glibc and gcc, but hmm, are you sure that's what you want? ;)
Better upgrade GCC and Glibc using Slackware Current. See ftp://ftp.slackware.at

Regards.
millionknives
Peon
Peon
Posts: 6
Joined: 27 Dec 2005, 19:48

Post by millionknives »

Yup you were right Platyna. Upgraded GCC and GlibC (I was sure I had all my packages up to current on christmas eve oh well) thanks for the help too! Was able to play for a bit today and so far I think this may become (in my oppinion, I like 2d games then again I'm still playing lunar from sega cd days) one of the best MMORPG yet under linux. Again thanks for pointing me in the right direction Platyna.
scoswriter
Peon
Peon
Posts: 6
Joined: 31 Dec 2005, 03:09

Re: libphysfs-1.0.so.1

Post by scoswriter »

millionknives wrote:Ok so I've got guichan and physfs 1.0 installed and the tmw slackware package however I try to start the game (both as normal user and root) and I recieve this error:

Code: Select all

tmw: error while loading shared libraries: libphysfs-1.0.so.1: cannot open shared object file: No such file or directory
Any ideas on whats up?

O btw it looks great I look forward to trying and playing the game![/code]
Depending on your Linux system, you probably have a file called ld.so.conf in the /etc directory. It should have the default location of installed libraries already (usr/local/lib) although if you changed this location it might not. Simple add the path you need to this file. If this file has the correct path then all you need to do is restart or as root run ldconfig.

This file is similar to the LD_LIBRARY_PATH variable, and used on older, less common disto's . If the /etc/ld.so.conf file does not exist then add the approprite path to your LD_LIBRARY_PATH environment variable using your particular shell commands.
User avatar
Bjørn
Manasource
Manasource
Posts: 1438
Joined: 09 Dec 2004, 18:50
Location: North Rhine-Westphalia, Germany
Contact:

Re: libphysfs-1.0.so.1

Post by Bjørn »

scoswriter wrote:Depending on your Linux system, you probably have a file called ld.so.conf in the /etc directory. It should have the default location of installed libraries already (usr/local/lib) although if you changed this location it might not. Simple add the path you need to this file. If this file has the correct path then all you need to do is restart or as root run ldconfig.
Hmm, note that /usr/local might be the default prefix, but it's not common for it to be in ld.so.conf by default. At least this is not the case in Debian, Ubuntu or Arch Linux.
User avatar
Platyna
Grand Knight
Grand Knight
Posts: 2215
Joined: 19 Nov 2005, 13:19
Location: Poland
Contact:

Post by Platyna »

Slackware is not Debian, not like Ubuntu, Arch Linux or any other Linux distribution, the only system you may compare it to is old BSD.
TMW couldn't find that lib simply because it wasn't installed. It is recommended to not mess with ld.so.conf, $LD_LIBRARY_PATH is not set in Slackware and /usr/local hierarchy is rarely used.

Regards.
scoswriter
Peon
Peon
Posts: 6
Joined: 31 Dec 2005, 03:09

Post by scoswriter »

Who says not to mess ld.so.conf. Not particularly familar with your distro, but folks in the real world (ie government and commericial products) like me do all the time although we still use LD_LIBRARY_PATH. I typically use Red Hat and Solaris (Unix) and more recently Fedora and SuSE. Fedora and SuSE do not define this variable by default, but defining it does not hurt anything and works fine.

Comming back to the original issue, where the shared lib was not found, I had the same problem, and recognized this as something I commonly see a lot in my profession. I checked my ld.so.conf (/usr/local/lib already there) and then ran ldconfig again. Tada... everything works.
User avatar
Platyna
Grand Knight
Grand Knight
Posts: 2215
Joined: 19 Nov 2005, 13:19
Location: Poland
Contact:

Post by Platyna »

Code: Select all

platinum:/home/platyna$ cat /sbin/installpkg | grep ldconfig
  if [ -x /sbin/ldconfig ]; then
    /sbin/ldconfig
Installpkg does ldconfig, so there is no need to do it. In Slackware if lib is not found it is not found. In Slackware there is no need to mess with LD stuff, because it is done with great care and order.

Regards.
User avatar
Bjørn
Manasource
Manasource
Posts: 1438
Joined: 09 Dec 2004, 18:50
Location: North Rhine-Westphalia, Germany
Contact:

Post by Bjørn »

Platyna wrote:Installpkg does ldconfig, so there is no need to do it. In Slackware if lib is not found it is not found. In Slackware there is no need to mess with LD stuff, because it is done with great care and order.
I think you're underestimating the other distributions, as really all the ones I mentioned handle /etc/ld.so.conf with care and order too, and they don't use LD_LIBRARY_PATH. I agree it is not a good idea to edit /etc/ld.so.conf manually, and to prefer using the distribution specific package management instead of installing manually. It is installing manually to /usr/local where most people get into trouble, in almost any distribution.

On the other hand, only by running into problems like these do people seem to eventually learn certain things about Linux. Slackware was the first Linux distribution I seriously used. While this lasted a few months, the distribution was great in that through trial and error with bare configs and command line I learned quite a lot.
Locked