Re: Compile from the source code



On 2006-07-14, gmax2006 <mapsetah2000-maillist5@xxxxxxxx> wrote:
Hi,

I am new to Linux and whenever I hear that I have to compile something
from the source code, I totally scare! Since I come from windows world,
compiling from source code seems to be very fragile, complicated and
scary job.

It would be. But the automake system makes life easy.
In almost all cases a simple "./configure" (in the directory created by
the source code tarball) will set up all the includes and links necessary
in a Makefile and then a simple "make" will compile it. "make install" will
install it.

../configure --help | less

is also useful (some programmes have extra options which would require
a specific configure command such as:

./configure --usethis=myfile --usethat=otherfile

If you have a problem with the "make" it will probably give error messages
indicating what you are missing "libraries which don't come with your
distribution, etc.). You may want to try a few simple utilities first
before trying to compile gimp, mplayer, inkscape or the kernel!

You will need developement packages (those *rpm files with
something-devel...rpm) which include the header files used in compilation
and you will have to have installed the gcc package (compiler), too
(of course).

If your distribution is up-to-date and has the necessary development library
a ./configure, make, make install (that last, at least, as root, if you want
to install in the system directory for all to use, but there are ./configure
options to change the directory into which the results will be installed)
should usually work. In some cases, such as back in RH7.2 for compiling the
gimp, compiling from source is better. RH7.2 did not come with the perl PIL
module which is necessary for quite a few of the nice GIMP filters. So, I
got that and compiled gimp from source to have a better verion than what
RH provided). Fedora does not come with MP3 support. You can compile/install
the lame libraries from source and compile/install players such as mpg321
or compile sox from source (check the ./configure --help result to see
the command to use to enable MP3 support using the libraries) to have MP3
support there. Often others have done the work and you can find RPMs but
RPMs may rely on a specific version (or "at least as new as" version) of
something else even though you could compile it with your current libraries.
I still use Fedora Core 2 and compile stuff from source (or get source RPMs
and build binary RPMs consistent with my system when I can).

So ... you can try to find an RPM which works with your system or ...
../configure, make, make install.
.



Relevant Pages

  • Could not compile pyclamavwith python on Solaris 8
    ... system SFWamake automake - GNU automake ... system SUNWbtoox CCS libraries bundled with SunOS ... system SUNWswmt Install and Patch Utilities ... Installing prerequisites to compile SquidClamAV Redirector: ...
    (SunManagers)
  • Libraries compiled modules
    ... Is it possible to create and install libraries of Fortran modules? ... If I compile such a file with Portland, I get an object "toto.o" and ...
    (comp.lang.fortran)
  • Re: Linux vs FreeBSD vs SCO
    ... >> often you install an upgrade, and you find it needs something else, ... >> package, from packages otherwise it has to compile Ruby, and some ... in a Maynard Sandstar floppy controller and hung 8" DD floppies ... The official IBM DOS 2.0 manuals and disks are there too. ...
    (comp.unix.sco.misc)
  • Re: Error on ldap library when setting up Samba on Solaris 10
    ... and checkng the binary for the "net" command ... where you compile it and before you install it should tell you where it ... but where are the libraries actually installed? ...
    (comp.protocols.smb)
  • Re: Suse 10.3 and DVD::RIP
    ... Gnome began to sort of fork off and became increasingly unfriendly to ... As we are a openSUSE group, that is what I am talking about. ... be problematic to compile is none of my business. ... I have to install 75 MB of stuff to run a 2 ...
    (alt.os.linux.suse)