LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
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 10-02-2007, 01:44 PM   #31
Su-Shee
Member
 
Registered: Sep 2007
Location: Berlin
Distribution: Slackware
Posts: 510

Rep: Reputation: 53

No, that's right. You'll get "control-center".

With regular sources and with Slackware, you don't have to even think about this "devel" package stuff.

Let's stick with this example:

http://ftp.gnome.org/pub/GNOME/sourc...l-center/2.17/

THAT would be what you have to get and to compile.

Last edited by Su-Shee; 10-02-2007 at 01:45 PM.
 
Old 10-02-2007, 02:02 PM   #32
GrapefruiTgirl
LQ Guru
 
Registered: Dec 2006
Location: underground
Distribution: Slackware64
Posts: 7,594

Original Poster
Rep: Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556
:/ !

Well! WELL!! That just takes my cake, and EATS it too!

All this time, I have been scouring the planet for -devel things I don't need? I simply need the main ingredient?? Such as in this example, I would just need 'control-center' but NOT 'control-center AND control-center-devel' ???

SHeeeeeessshHSHSHHS.. Ack!
Well.. Maybe I will have another go at this thing then.. Thanks for that
 
Old 10-02-2007, 02:14 PM   #33
weibullguy
ReliaFree Maintainer
 
Registered: Aug 2004
Location: Kalamazoo, Michigan
Distribution: Slackware 14.2
Posts: 2,815
Blog Entries: 1

Rep: Reputation: 261Reputation: 261Reputation: 261
Let me quote my second post in this thread
Quote:
Originally Posted by weibullguy
The files you need are in gnome-libs, control center, bonobo activation, bonobo, ORBit, GTK+ (for GTK2), and glib. It's just that the GNOME developers don't split things into userland files and development files because they don't provide precompiled binaries and libraries like the distros do.
But if you want to build Control Center, you'll have a long list of dependencies to satisfy before you get to Control Center itself.
 
Old 10-02-2007, 02:20 PM   #34
GrapefruiTgirl
LQ Guru
 
Registered: Dec 2006
Location: underground
Distribution: Slackware64
Posts: 7,594

Original Poster
Rep: Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556
Quote:
Originally Posted by weibullguy View Post
Let me quote my second post in this threadBut if you want to build Control Center, you'll have a long list of dependencies to satisfy before you get to Control Center itself.

#$@%# --- When I read that post, and I did read it, I thought you meant that the stuff I needed was in those FOLDERS on the FTP server, NOT in those specific packages :O

**bonks own head on the table**

Ack! Thanks for your patience Weibullguy!
 
Old 10-02-2007, 02:50 PM   #35
Su-Shee
Member
 
Registered: Sep 2007
Location: Berlin
Distribution: Slackware
Posts: 510

Rep: Reputation: 53
Ok, maybe I'm missing something - but yes, to compile "control-center-2.17.tar.gz" you actually have to compile _everything_ in the list above control-center.

Some way or another: You just have to go through the list and check what you've already got (X for example) and what you lack and what you lack has to be installed more or less in order of the list (until a certain point, after that it mostly doesn't matter anymore.)

And for the stuff you lack, you get the source-tar.gzs and source-tar.bz2s and you'll be fine.

(Just some minor editing in the source, maybe.. )
 
Old 10-02-2007, 02:53 PM   #36
GrapefruiTgirl
LQ Guru
 
Registered: Dec 2006
Location: underground
Distribution: Slackware64
Posts: 7,594

Original Poster
Rep: Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556
I think we're all missing something but I had been missing the most during this thread, methinks. I believe I have it sorted now!
 
Old 10-02-2007, 03:50 PM   #37
weibullguy
ReliaFree Maintainer
 
Registered: Aug 2004
Location: Kalamazoo, Michigan
Distribution: Slackware 14.2
Posts: 2,815
Blog Entries: 1

Rep: Reputation: 261Reputation: 261Reputation: 261
Quote:
Originally Posted by Su-Shee View Post
Ok, maybe I'm missing something - but yes, to compile "control-center-2.17.tar.gz" you actually have to compile _everything_ in the list above control-center.

Some way or another: You just have to go through the list and check what you've already got (X for example) and what you lack and what you lack has to be installed more or less in order of the list (until a certain point, after that it mostly doesn't matter anymore.)

And for the stuff you lack, you get the source-tar.gzs and source-tar.bz2s and you'll be fine.

(Just some minor editing in the source, maybe.. )
If you're not using a source-based distro, you may have the userland portion of the packages, but not the development files. For example, you probably have X Windows installed and "it works because it's magical." However, if you don't have the development files, you'll need those. So you'll probably find that you need to install every package in the list above Control Center (including X Windows) before you can build Control Center.

So what is the difference between <package> and <package>-dev(el)? An example is probably best. Take a look at the Ubuntu userland package libgnome2-0. What's provided by this package is the libraries themselves and some documentation. Now take a look at the Ubuntu development package libgnome2-dev. See any differences? The key differences for building other packages are the header files (*.h) and the metadata file (*.pc).

The header files are important because the define to other programs what is contained in the libgnome library. Other packages include libgnome functions by referencing these header files in #include statements. For example
Code:
#include <libgnome.h>
The metadata files are used by the pkg-config utility and contains various information about installed libraries such as parameters for the C and C++ compiler, parameters for the linker, package version, and installed location of various portions of the package. These metadata files are not really that exciting. Here's the one for libpng on my box
Code:
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib64
includedir=${exec_prefix}/include
 
Name: libpng12 
Description: Loads and saves PNG files
Version: 1.2.8
Libs: -L${libdir} -lpng12 -lz
Cflags: -I${includedir}/libpng12
You don't need the information in the headers or metadata files to execute the binary or dynamically load the library, so most non-source distros strip them out into a separate -dev(el) package to be used by people developing software.

Now, download the libgnome tarball from the GNOME repositories and unpack it. Poke around and you'll find all the header files and a libgnome.pc.in file from whence the libgnome.pc file is created when you execute the configure script for libgnome.
 
Old 10-02-2007, 05:49 PM   #38
XavierP
Moderator
 
Registered: Nov 2002
Location: Kent, England
Distribution: Debian Testing
Posts: 19,192
Blog Entries: 4

Rep: Reputation: 475Reputation: 475Reputation: 475Reputation: 475Reputation: 475
Quote:
Originally Posted by weibullguy View Post
<snip>
You don't need the information in the headers or metadata files to execute the binary or dynamically load the library, so most non-source distros strip them out into a separate -dev(el) package to be used by people developing software.
<snip>
Excellent explanation. This is something that annoys the life out of me about packaged software. The dev files should be for developers only, but all too often one of the dependencies you absolutely must have is a dev file. Lazy programming or lazy packaging?
 
Old 10-02-2007, 08:37 PM   #39
weibullguy
ReliaFree Maintainer
 
Registered: Aug 2004
Location: Kalamazoo, Michigan
Distribution: Slackware 14.2
Posts: 2,815
Blog Entries: 1

Rep: Reputation: 261Reputation: 261Reputation: 261
IMHO the headers don't take up an enormous amount of hdd space. My /usr/include only contains about 100MB of files. Why not just install the dev(el) stuff with the binary package? Non-developers won't even know the stuff is there. The package maintainers provide one tarball with everything everyone needs. Why not keep it that way?
 
Old 10-02-2007, 08:50 PM   #40
GrapefruiTgirl
LQ Guru
 
Registered: Dec 2006
Location: underground
Distribution: Slackware64
Posts: 7,594

Original Poster
Rep: Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556Reputation: 556
Quote:
Originally Posted by weibullguy View Post
IMHO the headers don't take up an enormous amount of hdd space. My /usr/include only contains about 100MB of files. Why not just install the dev(el) stuff with the binary package? Non-developers won't even know the stuff is there. The package maintainers provide one tarball with everything everyone needs. Why not keep it that way?
I couldn't agree more with this sentiment. I'm hardly concerned with what disk space some header files might occupy. It would be a lot simpler to just have the stuff in one tarball. Those who don't need it would not even know it was there, and the odd time ya DO need it, there it is.

For the sake of a few extra Kb...
 
Old 10-03-2007, 06:25 AM   #41
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,359

Rep: Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751
You have to ask the distributors eg RH why, but I suspect it's historical.
In the early days of Linux cpu/RAM/HDD capabilities were extremely limited, so you didn't want anything you didn't absolutely need.
 
Old 10-03-2007, 09:41 AM   #42
Su-Shee
Member
 
Registered: Sep 2007
Location: Berlin
Distribution: Slackware
Posts: 510

Rep: Reputation: 53
I personally absolutely don't like the separation of "devel" and "hello, user".

(Let's put small embedded systems and real space saving issues aside.)

How many users who like simplified GUIs and exhaustive pre-configuration actually care wether there're somewhere some header files or not?

Chrism: I don't remember my early distributions to be distributed that way. Especially as early distributions had been rather small in terms of number of packages there was no need to separate this. I remember just X sometimes being separeted that way.

Later some distribution started this, I don't remember which one exactly.
 
Old 10-03-2007, 08:30 PM   #43
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,359

Rep: Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751
I don't specifically remember that far back myself, but you do sometimes find that old 'guidelines' still exist that have been superceded by technology eg 'swap should be 2 x RAM'.
As I said, you'd have to ask a distro maker.
It may be that as distros started being used by non-tech people, they decided to only distribute binaries by default, rather than inc devel, as most people didn't compile their own systems from scratch (even now).
Think pkg mgrs for rpm, dpkg etc.
 
  


Reply



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
BackUp & Restore with TAR (.tar / .tar.gz / .tar.bz2 / tar.Z) asgarcymed Linux - General 5 12-31-2006 02:53 AM
rpm path confusion - distro specific rpm? gandalf2041 Linux - Software 2 04-08-2004 02:19 PM
How to? compile and install from source? (tar.*/gz2/bz2) entob Slackware 9 03-30-2004 06:23 PM
.rpms, .tar.gz, .tgz, .src.rpm, & .tar.bz2 whoots Mandriva 10 10-18-2003 12:08 PM
specific source code and RPM for distro bshelton Linux - General 2 09-15-2003 08:54 PM

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

All times are GMT -5. The time now is 12:52 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