Re: GTK+ installation
- From: Richard Boaz <riboaz xs4all nl>
- To: GTK dev list <gtk-list gnome org>
- Subject: Re: GTK+ installation
- Date: Mon, 8 Jan 2007 14:46:18 +0100
On Jan 6, 2007, at 6:15 PM, David Nečas (Yeti) wrote:
i have no guarantee that the end-user
knows anything about something called gtk+ and all the nightmare
requirements involved in installing it.
Is the problem that Gtk+ dependences *exist*? Or does your
application have -- unlike Gtk+ -- some magic building
method that everyone immediately understands and can
perform?
Coming back to this, David hits on exactly the point I'm trying to
make. Briefly:
My application is intended to be used by both seismologists and
seismic network operators and consists of both server-side processes
(analyzing data and feeding the results to a database), and client-
side (a GUI responsible for displaying wave-forms as well as reading
the server dbase and visualizing its contents). The entire system,
database, server processes, client processes, supporting scripts,
i.e., everything, is delivered in a single tar ball.
In addition to all my specific coding (itself open-source), the
application makes use of other open-source software, namely:
- MySQL
- GTK+
- FFTW (fourier transform software from MIT)
- gdbm
- siesmic data format readers (obtained from multiple sources)
- seismic instrument response converter
- high-resolution bi-cubic spline interpolator
My goals and purposes of this system is many-fold, however, for the
discussion here, two are paramount:
1) provide software that is fully open-source, also using as much
open-source software as possible (i.e., write nothing new),
2) provide a system that is entirely complete and fully self-
contained, from first download to the GUI's visualization of data.
The first I have succeeded in realizing. Not only is all of the
software free, but, imho, is also the best the market has to offer (I
refer to the included libraries, here.).
The second goal has been a little more difficult to come by.
However, after working on the problem for some time now, I can say
I'm almost there:
-) entire system is self-contained in a single tarball
-) entire system compiles and installs itself in a single command
-) database is set up with a single command
-) server exectues in a single repeatable command (no configuration
necessary, all configuration occurs as a result of found files, i.e.,
off the existence of data, simply feed the system data and everything
else 'magically' works)
-) once server has completed, GUI can connect and begin visualizing
the server's results
(And to answer Yeti's question: yes, the system 'magically' builds
and installs the entire system, alleviating the end-user from knowing
intimately all the details related to the externally contributed
libraries. I regard a computer's primary task to be that of magic-
maker.)
Regarding the compilation, the libraries included fall into two
categories, internally provided (by me as part of the tarball), or
externally provided. All internal libraries are compiled in-situ as
part of the system compile. The two externally provided libraries
are MySQL and GTK+.
For MySQL, as part of the installation instructions for the system, I
direct the user to the MySQL download page ( http://www.mysql.org/
downloads/mysql/5.0.html#downloads ) which is both straightforward
and contains a proper solution for all my end-user types. This works
and results in no issues or hassles, in general.
Leaving the other externally provided library, GTK+, to be contended
with. What I miss, here, is the download equivalent of the MySQL
download page cited above. As it is, anyone wishing to use my
software must figure out for themselves all the details of GTK+
installation, since:
1) the GTK+ libraries, when delivered built-in with the OS, are
usually too old, and anyway
2) are only the runtime version of the GTK+ libraries (at least on
redhat), i.e., completely useless for my purposes.
I need the GTK+ development libraries so that my system can
successfully compile on the target system. Except that my end-users
are not, for the most part, technical in nature, and since
installation of GTK+ is technical in nature, won't be able to
successfully get past this requirement.
My question still is: why is there no GTK+ equivalent of the MySQL
download page? Since it simply doesn't exist, I will assume it's
basically not recognized as needed, as also indicated by Tor's
response a few days ago:
The current GTK+ maintainers don't feel it's a good use of their
limited
resources to work on niche features that would benefit a relatively
small part of the user population.
Understood: I, as well, do not have the time to devote to filling the
hole I so actively describe, alas.
My next question nonetheless: is what I am trying to achieve really a
niche activity? To generally state, I develop a GUI application,
based on GTK+, for use by many people all over the world (granted, I
would say the subject of seismology is definitely niche), which
requires:
1) a recent-ish version of GTK+ (namely, 2.6 or better)
2) development libraries for compilation and linking
3) a straight-forward foolproof method of providing for 1) and 2),
alleviating the end-user from understanding all the ins and outs of a
GTK+ installation from source.
Perhaps my understanding of who the non-niche end-user population of
GTK+ is incomplete. Who do the GTK+ developers understand their user
base to be, if not me and my sort?
And while I readily admit I would be one to immediately benifit from
this hole being plugged, what I really would like to convince someone
of (I have no idea who, really) is that making the downloading of GTK
+ libraries, both runtime and development, similarly as easy and
straight-forward as is done by MySQL will be of most benefit to GTK+
itself. Is it so difficult to understand that making a library easy
to install encourages its use whereas difficulty in installation can
(and I'm sure does) result in people not choosing GTK+ as the library
to use? (Anyone doing proper due diligance when starting a project
and deciding on proper libraries would have to simply take a look at
the mailing list to realize that compilation and installation are non-
trivial and subsequently decide, perhaps, that another library would
be better used (not to mention discover that if they want to
distribute their application to the world at large against the most
recent version, they are a niche group).)
To be clear (as I hope is obvious), I have only nice things to say
about GTK+ as a library, it allows me to do anything I can think of
to do, my compliments can go no higher.
the real world beckons, oh ivory tower; shall thee truly not heed the
call?
Part of the real world experience is that you invent a great
solution and then find ohter people don't have the problem.
I happens to me all the time too.
Agreed. But would you say that the problem described here is a
problem that other people don't have?
With an eye to a solution: For me, in any case, a single web-page
responsible for all downloading combinations, similar to MySQL, would
be an ideal solution. I would then be able to instruct my user
population to download and install the proper version from this web-
page and proceed with the single command to compile and install my
system.
Going again back to Tor's comment, is GTK+ really and truly dependent
on functionality only existing provided by a volunteer wanting to
actually do the work? I really have no idea, but this strikes me as
a bit limited in its approach since there's always work that must be
done that no one would, in their right mind, volunteer for (can
anyone say documentation, all you programmers out there?).
My assumption has been for awhile that there are supporting entities
of GTK+ (Redhat, for example?), who provide resources, time, and
money to the problem. Can no one of these entities see the benefit
from having such a download page? The way I understand the problem,
the work would be a finite exercise, the solution good for all time,
and would ultimately make GTK+ the absolutely most attractive GUI
solution on the market today. Is this not ultimately what we all want?
As it is, I am now at a point where I need to provide my system to a
broader user base, i.e., persons I will have no direct contact with;
and my GTK+ install problem is still not solved. Not sure yet what
I'm going to do (suggestions?) in order to satisfy my requirements,
but I have no choice but to come up with a solution, otherwise my end-
users will simply not be able to install GTK+ and my tool will go
unused, and this would be a shame.
Warm regards, I hope I've been lucid and obvious,
richard
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]