On Fri, 2 Feb 2018 13:33:22 -0600, Nicky Perian wrote:

> Having read the comments on viewer-release repo and your comment concerning
> ABI mismatch I want to submit the following:
> 
> I have put together in a VM Debian / stretch. My past linux builds have
> been on Ubuntu 14.04 and 16.04 using gcc-4.8 and 4.9.

To ensure compatibility with 4/5 years old systems (which seems to me like
quite a reasonnable premise), the problem are:

- Most of these systems are still using gcc v4.x (and, most important,
  its associated libstdc++ library using the old ABI) and all the
  LL-supplied libraries should therefore be compiled with either gcc v4.x
  (x = 7 to 9, given, alas, 4.6 is not fully C++11 compliant and cannot
  compile stuff like CEF), *or* have the _GLIBCXX_USE_CXX11_ABI=0 define
  set so that the old C++ ABI is used (the same define should then also be
  set in the viewer sources via the 00-Common.cmake file for gcc v5+ and
  clang).

- The glibc version of the build system must not be too high (v2.19 looks
  like the newest version found on such systems). In fact, the older the
  glibc version, the better and the broadest the compatibility (old
  pre-built libraries were compatible with glibc v2.13+).

- The glib v2.0 version should also be the oldest possible, since glib is
  used by CEF and other pre-built libraries. Using a build system with too
  recent a glib library would also result in missing symbols or mismatches.

In fact, the gcc version matters less (thanks to the_GLIBCXX_USE_CXX11_ABI=0
trick you can use with gcc v5+ versions to retain compatibility) than the
versions of *glibc* and *glib2*.

Since CEF is now the most demanding library about the build system
dependencies (with glibc v2.19 and glib v2.46 on the CEF build system,
namely Ubuntu 14.04 LTS), I suggest we stick with those for now.

FYI, the current stable release of the Cool VL Viewer builds with gcc v4.6
to v7.3 (probably with gcc v8.0 as well) and clang v3.8 to v6.0RC1 (and
probably with v3.6 and 3.7 too) and the builds I release (built on a
modified Rosa 2012 distro) run on pretty much any post-2012 distro.
I am planning to adopt Rosa 2014.1 for my next build system (I already
built Dullahan, both 32 and 64 bits on it) for the experimental Cool VL
Viewer release and the next stable one.

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

Reply via email to