Re: Portability and distribution with Gtk+ 1.3



> I think we just haven't thought about it too much yet, so it's not
> written down. That's why I'm saying it would be helpful to try and
> get a statically linked app working, and make a list as you go of what
> is broken.

OK, we will report on our experiments.

BTW, I guess nobody has really tried to build Gtk+ 1.3 on systems other
than Linux (and possibly Windows since Tor has been doing changes frequently),
or the build incantions are kept very secret, since we tried to build Gtk+ 1.3.3
under Solaris and ended up with the following ugly set of commands, and
we finally could not build Gtk+ because of xim issues (and using
--dissable-xim didn't seem to help).

Arno
--
# attempt to build Gtk+ 1.3.3 from scratch under solaris 2.5.1
# get pkgconfig-0.5 from http://pkgconfig.sourceforge.net
# get glib-1.3.3 from http://www.gtk.org
# get pango-0.14 from http://www.gtk.org
# get gtk+-1.3.3 from http://www.gtk.org
# get zlib-1.1.3 from ftp://ftp.info-zip.org/pub/infozip/zlib/zlib.html
# get libpng-1.0.10 from http://www.libpng.org/pub/png/libpng.html

# all packages are saved under ~archive/gtk

prefix=/home/blah

# pkg-config
tar xzvf ~archive/gtk/pkgconfig-0.5.0.tar.gz
cd pkgconfig-0.5.0
./configure --prefix=$prefix > configure.out 2>&1
make > make.out 2>&1
make install >& make.out 2>&1
cd ..
export PATH=$prefix/bin:$PATH

# glib
tar xzvf ~archive/gtk/glib-1.3.3.tar.gz
cd glib-1.3.3
./configure --prefix=$prefix > configure.out 2>&1
make > make.out 2>&1
make install >& make.out 2>&1
cd ..

export LD_LIBRARY_PATH=$prefix/lib:$LD_LIBRARY_PATH

# pango
tar xzvf ~archive/gtk/pango-0.14.tar.gz
cd pango-0.14
./configure --prefix=$prefix > configure.out 2>&1
make > make.out 2>&1
make install >& make.out 2>&1
cd ..

# zlib
tar xzvf ~archive/gtk/zlib-1.1.3.tar.gz
cd zlib-1.1.3
./configure --prefix=$prefix > configure.out 2>&1
# zlib does not know how to build and install a shared library...
make CFLAGS="-g -O3 -fPIC" > make.out 2>&1
make LDSHARED="gcc -shared" libz.so.1.1.3 > make-shared.out 2>&1
cp libz.so.1.1.3 $prefix/lib
make install > install.out 2>&1

# libpng
tar xzvf ~archive/gtk/libpng-1.0.10.tar.gz
cd libpng-1.0.10
cp scripts/makefile.solaris Makefile
# ensure that /usr/ccs/bin/ld is in front of /usr/ucb/ld
export PATH=/usr/ccs/bin:$PATH
make prefix=$prefix ZLIBLIB=$prefix/lib ZLIBINC=$prefix/include > make.out 2>&1
make prefix=$prefix ZLIBLIB=$prefix/lib ZLIBINC=$prefix/include install > \
     install.out 2>&1
cd ..

# gtk+
tar xzvf ~archive/gtk/gtk+-1.3.3.tar.gz
cd gtk+-1.3.3
# specify -I$prefix/include so that png.h is found
CC="gcc -I$prefix/include" ./configure --prefix=$prefix > configure.out 2>&1
# override LIBS to include libm that is not detected automatically
make LIBS="-lintl -lm" MAKE='make LIBS="-lintl -lm"' > make.out 2>&1
# fails while compiling xim
#make install >& install.out 2>&1
cd ..





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