Compiling Application, always a nightmare.

Chuck Swiger cswiger at mac.com
Sun Jul 25 10:55:19 PDT 2004


Mark Jayson Alvarez wrote:
>   Do I always have to wait for freebsd to make a port
> for a certain application (that there might be somewhat
> special process involve) or is it possible for me to
> compile it from its sources by myself? 

With time and skilled effort, it's possible to compile any application from 
sources yourself.

People who possess the appropriate knowledge may create instructions for how 
to build the software on FreeBSD without errors.  This is what ports are, a 
set of Makefiles (and patches where needed) which make it easy and convenient 
for normal users to compile software for themselves, and also enable building 
precompiled packages.

>    For example, I am looking for kaffeine and as its
> dependency, it says I will have to install xinelib
> first so I downloaded its latest sources from their
> main website xinehq.de(failing from retrieving it
> first from freebsd.org/ports), but then, same as with
> most of the applications that I have compiled from
> their sources, it stops in the middle of "make" and I
> always end up just installing a precompiled package in
> .tgz format("sort of better luck next time: no package
> available for xinelib")

If you take a look at /usr/ports/multimedia/libxine, you will see exactly what 
is needed to build xinelib under FreeBSD.  In particular, there are about a 
dozen changes to the source code under libxine/files which are needed for the 
software to compile and run under FreeBSD.

That's somewhat unusual, and generally implies that libxine was not written 
very well or very portably.  Good software requires zero changes to run on a 
different platform, but multimedia software tends to be finicky.

> I really want to know what processess, or
> pointers(ex;tools, environment variables and so on and
> so forth.) should I consider when compiling from the
> sources. 

Well, it obviously helps to be able to write and debug code.  If you are 
reasonably competent as a software developer, the next step would be to read 
the Porter's Handbook at:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook

If you aren't a developer, your best bet is probably to use the ports or 
precompiled packages for now, and learn about coding by writing your own 
programs until you know enough to be able to understand and change/fix other 
people's code.

-- 
-Chuck



More information about the freebsd-questions mailing list