Bug#749451: libgtk-3-dev introduces dependency on C++ library

2014-05-27 Thread Simon McVittie
On 27/05/14 01:43, Jamin Hoggard wrote:
 Details:
  libgtk-3-dev depends on libglib2.0-dev, which depends on libpcre3-dev.
 However, libpcre3-dev depends on libpcrecpp0, which introduces
 dependencies on C++ libraries (libstdc++).

These libraries must be installed during compilation due to the way
libpcre is packaged, but do not introduce extra dependencies for
applications compiled against Gtk3 (for instance, gnome-terminal uses
Gtk3 but does not depend on libpcrecpp0, even indirectly). So, the
impact is developers' systems have slightly more libraries installed.

The build-essential metapackage depends on a C++ compiler (and hence
libstdc++) anyway, so this has basically no effect on the
build-dependencies of any Debian package (libpcrecpp0 itself is small).

Is there a concrete situation in which it is a practical problem that a
developer's system must have libpcrecpp0 and libstdc++?

If there is a real practical problem, splitting libpcre3-dev into C and
C++ parts is likely to be a better solution. However, libstdc++ is used
by build-essential and apt, so this seems likely to be mostly a
theoretical concern: in practice, Debian systems in general, and
developer systems in particular, are going to have it.

 According to the documentation at
  https://developer.gnome.org/glib/stable/glib-building.html
  GLib can, and is indeed recommended to, be compiled using GLib's
 internal version of PCRE (i.e. using the configure script option
 --with-pcre=internal).

Debian policy is to avoid embedded code copies unless there is a
compelling technical reason to use them, and ensure that the system
libpcre remains compatible with GLib's usage. This ensures that if there
is a security vulnerability in PCRE (which has happened in the past),
patching PCRE is sufficient to fix that vulnerability.

S


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#749451: libgtk-3-dev introduces dependency on C++ library

2014-05-27 Thread Jamin Hoggard
Thanks for the speedy reply (and all the work on the GTK packages).

I see what you described is correct: the Gtk3 binaries don't depend on
libstdc++; it is only the developer package which requires the
standard c++ library.  Looking at the dependencies, I think the actual
problem for my situation is that this introduces a dependency on g++
(so I probably should have reported it thus instead).

As for a concrete situation, I run Debian on a (highly) portable, low
power netbook in addition to my desktop system (I reported from my
desktop, so that is where the uname is from, sorry).  There is no big
problem on my desktop with adding g++, etc. but my netbook is quite
resource constrained (i.e. I think I have more storage on my Raspberry
Pi).  I don't use C++, just straight C, so I have had no need to
install C++ until I looked at installing gtk-3-dev to get some sweet
GUI.  I don't think my system is so constrained I couldn't install
g++, but it is constrained enough that I'd rather not if I don't
really need it.

I generally think that the Debian policy of avoiding embedded
libraries is wise.  It is a good idea not to have who knows how many
copies of a library floating around / bloating a system, and PCRE,
although small, seems to be the kind of library that could have some
serious security implications.  That said, your proposed solution of
splitting libpcre3-dev into C and C++ parts sounds like a better
solution to me.

Thanks,
Jamin


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#749451: libgtk-3-dev introduces dependency on C++ library

2014-05-26 Thread Jamin Hoggard
Package: libgtk-3-dev
Version: 3.4.2-7

Summary: libgtk-3-dev introduces dependency on C++ (as opposed to just
C) library.

Details:
 libgtk-3-dev depends on libglib2.0-dev, which depends on libpcre3-dev.
However, libpcre3-dev depends on libpcrecpp0, which introduces
dependencies on C++ libraries (libstdc++).

Possible solution:
According to the documentation at
 https://developer.gnome.org/glib/stable/glib-building.html
 GLib can, and is indeed recommended to, be compiled using GLib's
internal version of PCRE (i.e. using the configure script option
--with-pcre=internal).
Note that the internal version of PCRE does not require C++ (see
https://git.gnome.org/browse/glib/tree/glib/pcre).

uname -a: 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3+deb7u1 x86_64 GNU/Linux


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org