[opensource-dev] Building GTK+ and friends with autobuild new tools
Nicky Perian
nickyperian at gmail.com
Thu Jul 23 19:47:36 PDT 2015
Thanks for taking time to provide a thoughtful reply.
I agree, it is not a viewer for older distributions.
However, by packaging libstdc++ with the viewer lib/ it runs very well on
debian jessie (current stable), Ubuntu 14.04 and Linux Mint 17.1 and 17.2.
and several other distributions. Kokua linux 64 bit test viewer build with
these libraries has been out for several weeks and there are with very few
problems reports. Opensuse being one of the few. IMO if you run opensuse
w/KDE you might as well install windows.
Here is a code snip from one of the libraries
"""""""""""""""""""""""""""""""""""'
case "$AUTOBUILD_PLATFORM" in "linux") # Prefer gcc-4.9 if
available. if [[ -x /usr/bin/gcc-4.9 && -x /usr/bin/g++-4.9 ]];
then export CC=/usr/bin/gcc-4.9 export
CXX=/usr/bin/g++-4.9 fi # Default target to 32-bit
opts="${TARGET_OPTS:--m32}" # Handle any deliberate platform
targeting if [ -z "$TARGET_CPPFLAGS" ]; then #
Remove sysroot contamination from build environment unset
CPPFLAGS else # Incorporate special pre-processing
flags export CPPFLAGS="$TARGET_CPPFLAGS" fi
pushd "$TOP/$SOURCE_DIR" CPPFLAGS="-I${stage}/#packages/include
$TARGET_CPPFLAGS"#
LDFLAGS="-L${stage}/packages/lib/release"# PKG_CONFIG_PATH=#
export CPPFLAGS LDFLAGS LD_LIBRARY_PATH#
LD_LIBRARY_PATH="${stage}/packages/lib/release"#
PATH="${stage}/packages/include:${stage}/packages/lib/release:$PATH"#
export LD_LIBRARY_PATH PATH
CFLAGS="-I${stage}/packages/include -I$ATK_INCLUDE -I$CAIRO_INCLUDE
-I$PANGO_INCLUDE -I$HARFBUZZ_INCLUDE -I$GDKPIXBUF_INCLUDE $opts -O3
-fPIC -DPIC"\ ./configure --prefix="$stage"
make make install mkdir -p "$stage/include/gtk"
cp -a gtk/*.h "$stage/include/gtk" mkdir -p
"$stage/include/gdk" cp -a gdk/*.h "$stage/include/gdk"
popd mv lib release mkdir -p lib mv release lib
""""""""""""""""""""""""
All of the gtk and friends libraries will build on gcc-4.6. Just
change 4.9 to 4.6 atthe beginning of the linux sections of the script.
For linux 64 bit I did use 4.6 but since I had to re-build boost,
googlemock and colladadom with 4.9 I decided to just go with 4.9.
Debian stretch has a package for gcc-4.6.4 through gcc-4.9.2 so it
seems to me to be a good choice for the future. For instance, you can
build with 4.6.4 and move up as desired.
I am keeping an older version of Kokua available for older distributions.
If I have complaints of Kokua not being able to run I'll reference
CoolVL and Singularity as alternates to use.
Regards,
Nicky
On Thu, Jul 23, 2015 at 9:49 AM, Henri Beauchamp <sldev at free.fr> wrote:
> On Wed, 22 Jul 2015 13:08:16 -0500, Nicky Perian wrote:
>
> > Removed use_prebuilt_binary(gtk-atk-pango-glib) archive.
> >
> > Replaced with:
> > glib-2.44.1-linux-201507131131.tar.bz2
>
> I'm afraid these are way too modern libraries... My main Linux system,
> which runs a distribution released in 2012 (i.e. not even yet 3 years
> old) still uses glib v2.28...
> It means that any viewer built on that new a set of libraries will fail
> to run on all but *very* recent Linux distribution releases...
>
> > cairo-1.14.2-linux-201507192252.tar.bz2
> > atk-2.16.0-linux-201507162046.tar.bz2
> > pango-1.36.8-linux-201507201400.tar.bz2
> > gtk-2.24.28-linux-201507211717.tar.bz2
> > gdk_pixbuf-2.30.8-linux-201507210933.tar.bz2
> > pixman-0.32.6-linux-201507192238.tar.bz2
>
> Here, I got:
> - cairo v1.10.2
> - atk v2.0.1
> - pango v1.29.4
> - gtk2 v2.24.10
> - gdk_pixbuf v2.24
> - pixman v0.22.0
>
> Not that I'm too worried about those for my own viewer, since I got
> entirely rid of the GTK & ancillaries dependencies many months ago
> (I'm using an XUI-based, fully OS-independent (and natively non-
> blocking) file/directory selector, rewrote the whole copy/paste text
> routines and based only on Xlib, and I'm using a wrapper script
> calling any of Xdialog/Zenity/xmessage/etc to replace the GTK box
> (OSMessageBox()) used in case of viewer launch failure).
>
> But for other viewers still using GTK, the same remark as for glib
> holds true, I'm afraid...
>
> > use_prebuilt_binary(harfbuzz)
>
> Wazzat ??? O.O
>
> > The libraries are built with gcc-4.9.2 as is Kokua.
>
> Which, again, is an excessive system requirement on both glibc
> (v2.13 here) and libstdc++ versions... LL's pre-built libraries
> have all been compiled with gcc v4.6 and can run even on glibc v2.11
> (and probably even older, but I don't have an older system to test
> the viewer onto :-P).
> You should keep using gcc v4.6.4 for building Linux libraries. For
> your info, my current build system for the Cool VL Viewer dates back
> from 2010 (gcc 4.6.4, glibc v2.11.1 and libstdc++ v6.0.16).
>
> Regards,
>
> Henri.
> _______________________________________________
> Policies and (un)subscribe information available here:
> http://wiki.secondlife.com/wiki/OpenSource-Dev
> Please read the policies before posting to keep unmoderated posting
> privileges
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20150723/e52ad614/attachment-0001.htm
More information about the opensource-dev
mailing list