LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 06-20-2004, 09:16 PM   #1
couvier
LQ Newbie
 
Registered: Jun 2004
Posts: 15

Rep: Reputation: 0
Trying to get some games to work with Linux


I am a complete noob to linux, been trying to get a few games going, specifically for now, im trying to get some NES, SNES, and Genesis emulators to run.

They ask me to have SVGAlib installed, i dont know if i installed it correctly but this is what i did...

I went to http://www.svgalib.org and downloaded the svgalib-1.4.3.tar.gz file, then i just extracted the files, but thats all i did and all i know how to do.

I see all the files are in /svgalib-1.4.3/ folder. Reading the 0-install file, it says after installation edit the /etc/vga/libvga.config file, but i dont see it!

Also, when i try to run one of the demos such as...

./vgatest , it says: Permission Denied

Or if i try to run an NES emulator...

./fceu , it says: error while loading shared libraries, libm.so.5: cannot open shared object file: no such file or directory.

Im doing this all under root. How can i get any of these things to work?

Last edited by couvier; 06-20-2004 at 09:17 PM.
 
Old 06-20-2004, 09:29 PM   #2
Mega Man X
LQ Guru
 
Registered: Apr 2003
Location: ~
Distribution: Ubuntu, FreeBSD, Solaris, DSL
Posts: 5,339

Rep: Reputation: 65
Hi there couvier!!!

Getting emulators to run under Linux is no easy task. zsnes and fce-ultra are by far the worst. The first one seems to compile randomly (sometimes it does, sometimes it does not... go figure) while fceu is the worst documented program I've ever ever seem...

Your very best shot would be sticking with rpm's, even if you are using a distribution which cannot handle rpm's. Here:

http://rpm.pbone.net/index.php3/stat.../idg/Emulators

you may find a hole bunch of emulators in pre-compiled rpm form. Some members of this forum have reported to successfully convert those rpm's to slackware package (tgz) using rpm2tgz and I'd like to add that I also could convert and run them without (much) problems to debian packages (.deb) using "Alien".

Zsnes and gens gave me a few problems though after converted and installed, but it was all a matter to install one package and get them running correctly.

Good luck!
 
Old 06-20-2004, 10:14 PM   #3
couvier
LQ Newbie
 
Registered: Jun 2004
Posts: 15

Original Poster
Rep: Reputation: 0
Hey thanks for the link, i just so happen to be using Mandrake Linux 10, a lot of those RPMs are for Mandrake.

So, let me get this straight, most programs you get must be compiled by your distribution in order to run it on your distribution? Is that how that works? What exactly does compile mean? And how do you go about compiling something?
 
Old 06-21-2004, 02:08 AM   #4
Mega Man X
LQ Guru
 
Registered: Apr 2003
Location: ~
Distribution: Ubuntu, FreeBSD, Solaris, DSL
Posts: 5,339

Rep: Reputation: 65
Hi again couvier!!!

Not long time ago I had the exactly same doubts that you do

Quote:
So, let me get this straight, most programs you get must be compiled by your distribution in order to run it on your distribution? Is that how that works?
Yes and no. Usually, a rpm package even made for Redhat 7.3, "won't" work with Redhat 9.0. That's because from time to time, distributions tend to change the path some libraries/dependencies are located. Another thing is, for example, they often change the libraries that the application you are trying to install, to a newer one.

Needless to say, Redhat, Debian, Slackware, Mandrake, Suse and many others, use different paths as well.

However, even Slackware, which is a source-based distribution, can handle rpm's. I've installed myself a lot of rpm's for Mandrake in Slackware, using the "force" command to do not check for dependencies. But keep in mind that this is only to be used in extreme cases, like if you are unable to find a package for your distribution or "compiling" is not working as it should.

I never had problems forcing rpm's to install, but it's known to be dangerous .

There're always converters too, like alien and rpm2tgz. They also work great and I had never had a problem with them. The main advantage of converting a package into your native package (say, .deb for debian) is that you can use the tools for installing programs (again, dpkg for Debian) or removing them without problems. I'd highly recommend you to do that, although, Mandrake is a nice distribution with plenty of native packages around and urpmi works wonders. I doubt you will ever need to convert anything. Compiling? Perhaps.. .

Quote:
What exactly does compile mean?
Roughly speaking, compiling is the process to turn the source code (say, hello.cpp) into an object-file. An object file is a collection of linkable libraries. Libraries are another source-file with useful functions. You can use the libraries shipped with a compiler (in Linux case, the compiler is called gcc), create them yourself or buy/borrow some.

With your object-file, the compiler create an executable file(like windows' .exe). In moderns compilers like gcc or visual C, the process of linking and creating executables are made automatically.

All programs made for Linux and released under GPL license are open-source, meaning you can make any change you want into the program, compile yourself and even redistribute it for free or not...

Quote:
And how do you go about compiling something?
It depends. Most peoples would say that, to install a program in Linux from source includes three basic steps:

./configure
The configure command checks for dependencies. Usually, errors like missing packages are shown here. This also creates a Makefile, that you are later able to compile.

make
It compiles the application and link the libraries.

make install
It will create the executable file.

However, the correct way of doing things is reading the README file. That's because many programs, besides requiring different commands to compile, may need arguments. Take for example mplayer. If you are going to compile mplayer with joypad support, you've to use "./configure ---enable-joypad", otherwise it will be installed without joypad support. Same goes to MPLayer's gui.

Take a loot at this thread for you to see how to install programs in linux, be it source or pre-compiled packages.

Also note that I'm no specialist at this, so most likely, my explanation was wrong or not quite accurate. If someone else is reading this, please correct me

A final hint though: You have Linux, meaning that you have a free compiler, libraries, text editors, ide and a hole lot more. Why not take a look in C++ programming?. It's a quite funny toy to play with, and pretty easy

Good luck!
 
Old 06-21-2004, 07:14 AM   #5
hcgernhardt
LQ Newbie
 
Registered: Apr 2004
Distribution: Slackware
Posts: 29

Rep: Reputation: 15
Packages often come in three varieties. These are:

Official source distributions (tarballs): Often .tar.gz or .tar.bz2. These are gzipped/bzipped (respectively) Tape ARchives (holdover from the good ol' days when we stored everything on 9-track tape). If you are using gnome or KDE, you should have no problem with double-clicking the icon for the distro and having it come up in its own window. In any case, the distro contains the source tree (that is, all the raw code, man pages, docs, etc) for the entire package. The neat thing about this is if you know how to code in the native language of the tree (usually C), you can get deep into the code and make it do things specific to your machine and/or change the general functionality. Unless you're really into programming, however, I wouldn't recommend doing this as you could seriously break something.

CVS distributions: This is a great way to get the bleeding-edge, bug-ridden, up-to-the-minute changes of open source software. Not for the neophyte, these will often not contain all the dependancies which are included in the official tarball, and require knowledge of CVS (a networked version control system). This is what open source developers use in order to assist in creating a project. Should you decide to use this method, remember that you are receiving source code, and as such will need to compile it.

Binary distributions (packages): .deb, .tgz, .rpm, etc. These distributions contain precompiled binaries of a package for use with specific linux distributions or binary package managers. If you are familiar with windows, these are similar to the self-installing .zip or .exe archives downloadable for that OS, with the notable exception that the installation program must be resident on the computer and is not included with the package.

If you have no prior experience using a compiled language (C, Pascal, etc), do not use the CVS method, as this is a somewhat arcane realm best left to those initiated into the rites of the computer programmer and/or programming hacker. Acquiring a binary distro is usually a safe bet, however I normally get source distros, as I run slackware and don't want to deal with rpm or rpm2tgz if I can avoid it.

Unpacking and compiling the source tarball
I assume in this section that you are familiar with your CLI (command line interface, or shell).

First: cd to the directory in which the tarball resides (if I download from Netscape in gnome, it will be in ~/Desktop).

Next: unpack the tarball. If it is .tgz or .tar.gz, use the following:
Code:
tar -zxvf <sourcefilename>
You should now have a new directory. cd to that directory.

Next: read the README and INSTALL files. These show program-specific methods in which the source is to be installed. IN MOST CASES, you will use the following sequence of commands:
Code:
./configure
make
make install
These do the following. ./configure scans your system to insure that you have everything needed by the source program, and that certain system specific information is set. Make then compiles the code into its final binary form. Make install then does exactly what any other installer program does, and throws the binary files produced and any included documentation and required support files into their requisite locations on the computer. PLEASE NOTE: make install will only work if you are logged in as the superuser (root), as most user accounts will not have write permissions to the requisite directories.

There is one other important item to remember: You can also
Code:
make uninstall
from the source directory, which will reverse the installation process.

Although this will work for most distributions, always read the README, INSTALL, and any other documentation that may come with the source package in order to make sure you're doing everything right. Some packages are quite difficult to compile, and some are as simple as the three aforementioned steps. A notable exception to the above is compiling a linux kernel: the configuration and installation of one of those from source is quite a job.

If all this confuses you, however, feel free to stick with binary distributions. I would strongly encourage you, however, since you are running linux, to learn at least how to compile your own distributions. Linux is, after all, a free variant of UNIX, which in turn is a shortening of UNICS, or the UNIversal Control System, which was designed from the outset as a programming platform and happened to become a good multiuser OS as a byproduct.

Good luck,

Henry
 
Old 11-15-2004, 02:52 PM   #6
Kleedrac
Member
 
Registered: Apr 2004
Location: Saskatoon SK. CA
Distribution: Ubuntu Dapper
Posts: 50

Rep: Reputation: 15
Well I'm also running Mandrake 10.1 and since your post with the great rpm's I've got fceu installed and working ... kinda. The problem I'm having is that I can't figure out the default keymap for fceu and can't figure out how to change it!! Any help is appreciated!! Thanks again.

Kleedrac
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Which free og opensource games work on Linux MaxtoRs Linux - Games 1 04-20-2005 09:24 AM
Anyone know to get modern day games to work on linux SUSE 9.2? davidmelv Linux - Software 1 02-08-2005 12:05 PM
how do i get games to work? Pyro_Linux Linux - Games 6 05-18-2004 07:43 AM
Games support: will my 3D games work on Linux OS? COOLER_KING Linux - Newbie 2 03-25-2004 09:50 PM
Games do not work gdar Linux - Software 2 03-15-2002 03:48 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 02:47 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration