succeeded in Xscreensaver+GTK on Solaris 2.8



I have been able to install Xscreensaver-4.09 (the latest version as
of the date when I have sent this mail), with GTK+-2.2.1 on Solaris 2.8.
It was really a tiring job, therefore I want to share what I have done to
be able to install this tool:

1. Platform is Sun Solaris 2.8.

2. C Compiler is GCC v3.2 (http://gcc.gnu.org)

3. Not to mention, I have installed make-3.80, m4-1.4, autoconf-2.57,
automake-1.7.3 (http://www.gnu.org). Some tarballs require "aclocal-1.4"
instead of "aclocal" and "automake-1.4" instead of "automake" in $PATH,
therefore I have manually created symbolic link to "aclocal-1.4" and
"automake-1.4". (I don't know if this is automatically done-able during
installation of these programs)

"configure" script of autoconf, automake produces such Makefile's,
in which they have PERL= identifier to show the full path of Perl. I have
renamed it with "PERL = <perl-path> -I<perl_package_path>".
The configure-make dance could not generate the -I option correctly,
therefore I had developed just a small Perl script that is run between
"configure" and "make" of the tools above. This can be done
in all tarball installations, where Makefile's have this feature.

4. zlib-1.1.4 has been installed (http://www.gzip.org/lib).
It is dependency of libpng.

5. libpng-1.2.5 has been installed (http://http.libpng.org).
It is dependency of gtk.

6. libtiff-3.60-beta has been installed (http://www.libtiff.org).
It is dependency of gtk.
Its installation cannot copy *.h header files in tarball, to <--prefix>/include
directory. that's why GTK configure complains about it with "Cannot load
TIFF Loader...". Therefore I have manually copied all header files,
because each header calls the other. Also, I have copied libjpeg.a manually,
to <--prefix>/lib directory.

7. JPEG library jpegsrc-6b has been installed (ftp://ftp.uu.net/graphics/jpeg/).
It is dependency of gtk and Xscreensaver.
Its installation cannot copy *.h header files in tarball, to <--prefix>/include
directory. That's why GTK configure complains about it with "Cannot load
JPEG Loader...". Therefore I have manually copied all header files, because
each header calls the other. Also, I have copied libjpeg.a manually, to
<--prefix>/lib directory.
Another workaround has just been announced, which was the best one,
but it was too late for me to try it:
(http://mail.gnome.org/archives/gtk-list/2003-April/msg00024.html)

8. libtool-1.4.3 has been installed (http://www.gnu.org).

9. pkg-config 0.15.0 has been installed
(http://www.freedesktop.org/software/pkgconfig/).
It is the dependency of glib.
PKG_CONFIG_PATH environment variable -must- be set to
<--prefix>/lib/pkgconfig directory. This is required by gtk.

Before "configure-make" dance, add the three lines stated in README file,
to the end of configure.in.

10. glib-2.2.1 has been installed (ftp://ftp.gtk.org/pub/gtk/v2.2).
It is dependency of gtk.

11. pango-1.2.1 has been installed (ftp://ftp.gtk.org/pub/gtk/v2.2).
It is dependency of gtk.

12. atk-1.2.0 has been installed (ftp://ftp.gtk.org/pub/gtk/v2.2).
It is dependency of gtk.

13. gtk-2.2.1 has been installed (ftp://ftp.gtk.org/pub/gtk/v2.2).
It is dependency of Xscreensaver.

14. libxml2-2.5.5 has been installed (http://www.xmlsoft.org).
It is dependency of Xscreensaver.

15. python-2.2.2 has been installed (http://www.python.org).
It is dependency of libglade.

16. pythonxml-0.8.2 has been installed
(http://prdownloads.sourceforge.net/pyxml/PyXML-0.8.2.tar.gz).
It is dependency of libglade.

17. libglade-2.0.1 has been installed
(ftp.gnome.org/pub/GNOME/desktop/2.2/2.2.1/sources/libglade-2.0.1.tar.bz2).
It is dependency of Xscreensaver.

FINALLY WE ARE READY TO INSTALL XSCREENSAVER!!

18. Xscreensaver-4.09 has been installed ( http://www.jwz.org/xscreensaver).
Since I have used Solaris' gettext and libiconv, I had to to do following:
a. copy configure to "configure.original".
b. change "#define ENABLE_NLS 1" with "#undef ENABLE_NLS".
(http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=19473)
c. configure script has been called in this way:
./configure --prefix=<install_dir> --with-gtk --with-jpeg --with-xml \
--without-motif
d. Add to the first line of intltool-merge -I<perl-package-dir> option.
e. make
f. install

NOW YOU CAN USE XSCREENSAVER WITH GTK!!

Comments:

GTK+ library has been only used in Xscreensaver demo. In the real program
(ie. during real screensaver locking) GTK is never used. This can be proven
by "ldd `which xscreensaver` and all hacks in <--prefix>/lib/xscreensaver
directory. None of them is dependent upon GTK. Only xscreensaver-demo
is dependent of GTK.

It took 2 months for me to understand to flow above.

Utku





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]