Search code examples
cgnuglibcglib

"GNU libs vs Gnulib vs Gnome glib" confusing


I am a little confused about these terms from the developer and user points. For example, I am on Ubuntu.

  1. GNU libs(https://www.gnu.org/software/libc/) is installed by default, gnulib(https://www.gnu.org/software/gnulib) is not, right?
  2. GNU libs follows POSIX stadard, but: http://www.gnu.org/software/libc/manual/html_mono/libc.html#POSIX-Threads , so looks like, for example, pthread_create is not implemented here and implemented in Gnulib, right?
  3. Gnome glib is just a 3rd library, right? But it based on GNU libs or Gnulib? Are there any other similar libraries?

Thanks.


Solution

  • 1) "GNU libs" means for me "programming libraries which are part of the GNU project".
    The GNU project is not to make a single program, but many things, and there are many libraries independent of each other in it.
    The first thing you linked is their standard runtime for the programming language C, not euqal to GNU libraries in general. If it is installed by default depends on your OS.
    The so called gnulib is a helper thing used in other GNU programs/libs, but of no use alone. It makes no sense to install it anywhere without a program, and a program which uses it will contain it already without a need to install something separately (at least as a packet dependency etc.). Again: If it is installed depends.

    2) Whether a lib folllow POSIX or not is not the same as being part of GNU. Again different things. POSIX is a compatibility standard for different operating systems (relevant for libc, but for many others not), GNU is a collection of software etc. And pthread is a own thing, not part of gnulib.

    3) Glib is another different thing, right; not part of GNU. It probably uses GNU libraries (which may use gnulib themselves) and/or gnulib itself (it´s not forbidden to use it outside of GNU). To make sure, look at the code. And of course there are more programming libs...