diff options
author | Aleric Inglewood | 2010-10-08 22:43:56 +0200 |
---|---|---|
committer | Aleric Inglewood | 2010-10-08 23:08:31 +0200 |
commit | a3cffd06a0e7aa92e1b6c28e7bad655b7085296c (patch) | |
tree | 9a75a4f34df3cb8963a1f1e9d130164011f49756 /linden/indra/cmake/UI.cmake | |
parent | Merge remote branch 'remote-twoway/weekly' into weekly (diff) | |
download | meta-impy-a3cffd06a0e7aa92e1b6c28e7bad655b7085296c.zip meta-impy-a3cffd06a0e7aa92e1b6c28e7bad655b7085296c.tar.gz meta-impy-a3cffd06a0e7aa92e1b6c28e7bad655b7085296c.tar.bz2 meta-impy-a3cffd06a0e7aa92e1b6c28e7bad655b7085296c.tar.xz |
RED-429: Link against prebuilt libraries / always use gtk-related system libs (linux)
This patch fixes the problem that there were no 'developer' symlinks
for the prebuilt packages (which is not needed for runtim), causing
the casual user that tries to compile the viewer on linux (without
using --standalone) to link against their system libs (while using
the header files of the prebuilt versions), often causing linker
errors.
It also fixes the fact that a few libraries were completely missing,
most notably the dbusglib package only had header files and not
a library at all! libgio and libpangocairo where missing from the
link command line so that the wrong libraries were picked up, if
any at all.
Finally, the last GTK related prebuilt libraries have simply been
removed from the packaging: linux has those installed (or else
the users will know how to install them as soon as they see that
the viewer complains about a missing library). This is much more
stable, as all those libraries more or less form a whole.
Or rather, the libraries that use glib, as especially that one
gives a problem at the moment since the latest glib has new
g_malloc_n functions that don't exist in the prebuilt glib.
Note the difference between a USER compiling her own viewer,
and the imprudence team compiling a release:
When the imprudence team compiles a release we need to create
a portable binary that runs on many versions of linux. In order
to achieve that we link against "old" library versions, so
that the viewer still works on old operating systems, and
(hopefull) also on newer systems, since libraries with the
same SONAME are backwards compatible. With g_malloc_n as
example: our viewer binary doesn't use that function, so
a user that links with their own glib will never have a problem,
whether or not his library provides this function.
On the other hand, when a user gets the sources and compiles
his own viewer he wants to use the LATEST library versions:
his own operating system ones. The best way to achieve this
is to configure with --standalone, but that currently demands
that ALL libraries are installed on her system, including
a few very-hard-to-get libraries. If she therefore chooses
to configure without --standalone, she suddenly gets all
the old library versions, forcing her to at least link against
those at compile time (in order to minimize the risk of version
incompatibilities). A better solution for the do-it-yourself
user would be to have a --semi-standalone configuration that
only uses the hard-to-get prebuilt libs and further uses
as much the operating system libraries as possible. For most
of the hard-to-get libraries this is no problem since they
all only depend on libc and similar stable ABI libs.
Diffstat (limited to 'linden/indra/cmake/UI.cmake')
-rw-r--r-- | linden/indra/cmake/UI.cmake | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/linden/indra/cmake/UI.cmake b/linden/indra/cmake/UI.cmake index b70a531..9d068c4 100644 --- a/linden/indra/cmake/UI.cmake +++ b/linden/indra/cmake/UI.cmake | |||
@@ -39,6 +39,7 @@ else (STANDALONE) | |||
39 | gdk-x11-2.0 | 39 | gdk-x11-2.0 |
40 | gdk_pixbuf-2.0 | 40 | gdk_pixbuf-2.0 |
41 | glib-2.0 | 41 | glib-2.0 |
42 | gio-2.0 | ||
42 | gmodule-2.0 | 43 | gmodule-2.0 |
43 | gobject-2.0 | 44 | gobject-2.0 |
44 | gthread-2.0 | 45 | gthread-2.0 |
@@ -48,6 +49,7 @@ else (STANDALONE) | |||
48 | pangox-1.0 | 49 | pangox-1.0 |
49 | pangoxft-1.0 | 50 | pangoxft-1.0 |
50 | pixman-1 | 51 | pixman-1 |
52 | pangocairo-1.0 | ||
51 | ) | 53 | ) |
52 | endif (LINUX) | 54 | endif (LINUX) |
53 | 55 | ||