l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
Page last updated:
2005 Apr 08 12:35

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] Compile Question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] Compile Question

On Fri, Apr 08, 2005 at 11:52:16AM -0700, Bob Scofield wrote:
> I am trying to compile a program called "kiwi plugins" for another program 
> called "digikam."  When I execute ./compile I get this error message:

Do you mean "./configure"?

> "in the prefix, you've chosen, are no KDE headers installed.  This will fail."
> I don't know what a prefix is, and don't know what prefix I have chosen.  Does 
> anybody have any advice for my next step?

A prefix, in this case, is typically something like "/usr/",
"/usr/local/", or "/opt/", and it would be where the compiler will eventually
look for header files and other support stuff (e.g., "/usr/include",
"/usr/local/include", etc., depending on the prefix.)

> >From what I've read on the web about compiling, my problems aren't supposed to 
> begin until I execute "make."  I guess I'm getting an early start.

Certainly not!  Problems can occur at any time! ;^) ;^)

The issue here is that the "configure" script (again, assuming that's
what you meant instead of "./compile") is looking for all of the appropriate
headers and other useful things that "make" and the compilers and linkers
will need when building and installing the thing you're trying to install.

What distro are you using?  I'll assume you installed KDE from packages,
and in that case, it's probably simply a matter of needing to install the
appropriate corresponding "development" packages.

Typically, packages for libraries such as those used in KDE and Gnome,
or my favorite, libSDL, are split into at least two parts.  One is the
actual compiled library that programs dynamically link to when they load.
("I am a KDE app... I need KDE libraries.  Oh, here they are! *chink!*")

When you install some KDE app, for example, it depends on the KDE libraries.
But, since you're not COMPILING it, there's no need (no 'dependency') for the
headers used when compiling that KDE app from scratch.  It's already built!
The distro's packagers/volunteers did it for you.

BUT, when you want to COMPILE something, you'll want the package that
contains all of the C header files and other little things needed when
compiling against that library.  ("I am about to compile a KDE app...
I need the headers for the KDE libraries.  Oh, here they are!  *#include!*")


(Another reason for the headers to be separate from the compiled objects
is they're typically architecture independent.  A text file, such as a
C header file, isn't going to be different on a Apple hardware versus
Intel hardware versus MIPS hardware.  The actual compiled objects most
certainly WILL!  So the packagers/volunteers keep their job easy and
reduce wasted space (by having less redundancy) by keeping only ONE copy
of the headers in their Linux distro, since all of the different hardware
architectures can share them.)

*Whew*!  I hope that made sense.  I'm mighty tired today. :)

Good luck!

bill@newbreedsoftware.com         "I'm anticipating an all-out tactical
http://newbreedsoftware.com/      dog-fight, followed by a light dinner."

PS - For the technically curious... My Tux Paint app doesn't currently
use autotools (e.g., "configure" scripts, autoconf, etc.).  It does, however,
give a gentle hint about installing the "libSDL[*]-devel" packages if it
can't open (#include) the SDL header files (e.g. "SDL.h").  One of the most
frequently asked questions I've had from people trying to compile my SDL-based
games is "it can't find SDL.h, even though I installed the SDL package!"
Well, the SDL-devel pacakge is where SDL.h is found, so you need that, too!

I'm guessing a similar issue with KDE headers is what Bob's having...
vox-tech mailing list

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Sunset Systems
Who graciously hosts our website & mailing lists!