PDA

View Full Version : Cannot find SMpeg



jasonf
02-01-2005, 11:51 PM
I'm getting an error during linking my game using Lazarus/Free Pascal.

It's a clean install of SuSE9.1 with all of the SDL libraries and SMpeg installed yet the compiler complains that it cannot find smepg.

I looked at my /usr/lib directory and I couldn't find the file it was looking for libsmpeg.so but there was a file:/usr/lib/libsmpeg-0.4.so.0.1.4 so I made a link to this file in my /usr/lib directory called libsmpeg.so and tried again. It got past the smpeg and went to SDL_Image not being found, I repeated my fix creating a link to file:/usr/lib/libSDL_image-1.2.so.0.1.2 called libSDL_image.so tried again, then it complained about not being able to find SDL... I spotted a theme..

I created the link to SDL and it worked.

But I'm a little worried now, is there something wrong with my system? Should there be links to the simple filenames libSDLthingy.so instead of the long names SuSE9.1 has?

Or is there something wrong with the headers? Latest version 1.0 from CVS obtained yesterday.

Or am I being a complete newbie and have missed out a very simple step?

savage
03-01-2005, 01:12 AM
Apparently this is normal ( having a version number as part of the filename ) and is there to avoid linking to the wrong version of a shared object. I also had to create symlinks when I first set up my Mandrake system. On Win32, the version info is usually embeded in the DLL so that can be checked.

Ideally, when JEDI-SDL v1.0 is released, as part of setting things up for FPC and Kylix, it would be great if the install script created the symlinks as well, but that would mean the user installing JEDI-SDL as root, which theoretically may not always be possible.

If anyone on these forums is a guru with Linux shell scripts, please get in contact with me. I need someone to let me know how to use grep effeciently so that I can pick up the appropriate Shared Object library and create a symlink @ installation time.

{MSX}
03-01-2005, 07:37 AM
Apparently this is normal ( having a version number as part of the filename ) and is there to avoid ]

Yes, but one should have also libXXX.so.0 already present (at least, this was for me).
Anyway this is a problem. When we release a program, it will probably not work first try, and many people will simply discard it.
We could possibly look what name do other oss game use, and use that too. Maybe i'll take a look to someone lately.

[quote]
Ideally, when JEDI-SDL v1.0 is released, as part of setting things up for FPC and Kylix, it would be great if the install script created the symlinks as well


Umm i don't think that's the right way. It should better link already present files.
Maybe something like: /usr/lib/libSDL-1.2.so.0



If anyone on these forums is a guru with Linux shell scripts, please get in contact with me. I need someone to let me know how to use grep effeciently so that I can pick up the appropriate Shared Object library and create a symlink @ installation time.

I can help you :)

jasonf
04-01-2005, 04:52 PM
Phew, well I'm partly relieved. I thought I was going crazy.

But one thing now bothers me...

When I release my game.. it will be a binary. Will the user have to create these symlinks to SDL library? Or should it be detected somehow?

Or can I make it so that it will link to the latest version available?
This seems to be the best solution to me.

What I don't want is for the end user to have to fiddle with their system to get the game to run.

savage
04-01-2005, 10:28 PM
Ok I just spotted this over @ http://www.gamewaredevelopment.co.uk/downloads_more.php?id=448_0_8_0_M13

It does seem that other games on Linux are linking to the libSDL-1.2.so.0 symlink. I have confirmed this with Jason and his Suse box and I will double check it on my Mandrake box. If both come back positive, then I will make the changes across the board and update CVS.