Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
GNU is Not Unix

glibc 2.1 pulled due to license problems 113

el_nino writes "It seems glibc 2.1 has been withdrawn because of a license problem. A mail from Adam J. Richter to the bugs-glibc mailing list: "The source files in the db2 section of glibc-2.1 point to a nonexistant file named "LICENSE." The files are apparently written by Sleepycat software, and the copying conditions found on for this package are the BSD copying conditions with the advertising restrictions that FSF claims are incompatible with the GPL." The glibc-2.1-README on says: "glibc-2.1 has been (temporarily) removed, until some political issues are worked out." " Zack Weinberg wrote with an update: I'd like to correct some factual errors in the story you posted on Slashdot regarding glibc 2.1 being pulled from The pull has nothing to do with the license conditions for db2. There is some disagreement over whether the BSD license is compatible with the GPL, but FSF's official stance is that they are. The license for db2 is clearly stated in an appendix to the libc manual (see manual/contrib.texi).

glibc 2.1 has been pulled since it cannot be compiled with gcc 2.8 and this conflicts with FSF policy. We are working with RMS to resolve the issue. In the meantime, glibc 2.1 remains available from and its mirrors.


This discussion has been archived. No new comments can be posted.

glibc 2.1 pulled due to license problems

Comments Filter:
  • by Anonymous Coward
    Let me count the ways...
    • llseek() does not have a prototype; this intentional bug destroyed some people's filesystems when fsck ran
    • fputs() does not return a useful value. Both Digital UNIX and Solaris return the number of characters printed.
    • SysV shared memory IPC is messed up. The struct ipc_perm members key and seq were renamed to __key and __seq This is incompatible with libc 5, AIX, and Solaris, Digital UNIX, etc. Some apps won't even compile anymore because glibc doesn't define SEMMSL and other SysV IPC related constants. (and they left the UID as a 16-bit value too)
    • signal() behavior is now incompatible with both libc 5 and UNIX(TM). It follows the non-standard BSD behavior now, gratuitously breaking old software in hard-to-detect ways.
    • socklen_t is not the same size as an int. According to Linus, "shoot the library maintainer". I agree!
    • sigsend() is missing
    • Almost everything must be compiled with -D_GNU_SOURCE, including non-GNU software. The namespace logic is backwards; one should specify POSIX to get a plain, bland, vanilla (nearly useless) namespace.
    That is 7 ways. For every bug I find though, there are likely to be thousands of undiscovered little surprises.
  • by Anonymous Coward
    Everyone with a different opinion or belief is a zealot.

    Have you ever thought about the problems that this clause of the BSD license causes? Imagine for a moment that I use little bits of code from 50 BSD licence projects to put my own project together? Pretty damn soon, the LICENSE file will be bigger than the damn code.

    This product includes software developed by this guy.

    This product includes software developed by that guy.

    This product includes software developed by another guy.

    This product includes software developed by someone else.

    This product includes software developed by the NSA.

    This product includes software developed by someone blinded by preconceptions.
  • by Anonymous Coward

    * 3. All advertising materials mentioning features or use of this software
    * must display the following acknowledgement:
    * This product includes software developed by the University of
    * California, Berkeley and its contributors.

    Yet another example of RMS excluding anyone who is not using GPL. It cant be "free" if it's using the BSD license, according to the GNU zealots, (read gnu.misc.discuss for more info)
  • Almost every GPL'd SW announcement repeats this hynagogic mantra and it seems to have put 98% of the OSS movement to sleep to the reality that GPL'd software IS NOT FREE SOFTWARE. It may or may not be a good licence, but FREE SOFTWARE can't be licenced. The two concepts are antithetical.
  • by Anonymous Coward
    I do not quite understand the problem. Does the SleepyCat license actually require users of the library to mention it or does it only apply to glibc?

    If it is only glibc, then I see no problem with having mention in a file about the software. All GNU programs come with the LICENSE file. What is the problem with having a LICENSE.db file?

    If it applies to all users of the glibc (I doubt this), I can see problems with users not knowing they are required to comply to the ad clause. Hey, even the LGPL has requirements you must go along with--I disagree with these but that is another issue. :) I personally would have no problem with mentioning in the documentation that a program of mine uses someone's library. Always remember to read the license before linking to a library.

    This last point begs a question: why did GNU only just now decide there was a conflict? I am sure this is a good question whether or not you dislike GNU licenses.

    Sean Farley
  • Anyone fancy porting whatever libc {Free,Net,Open}BSD use to work on Linux?

    Just my EUR0.02.
  • From the BSD license:

    All advertising material mentioning features of this software must display the following acknowledgement: This product includes software developed by the University of Californa, Berkely and its contributors.

    So really, the problem is not the credits file.


  • Sigh....

    I have Egcs 1.1.1, Glibc 2.1, and Linux 2.2.1 installed and working on my SMP box right now. Really the only problem I had was some old libraries which were in my linker search path being linked instead of the new glibc ones and a .h file which was included for some odd reason in my distribution which didn't match the real prototypes... giving me a bunch of undefined errors.

    After fixing those minor problems, everything throught went quite smoothly.
  • The whole purpose of the GPL is to push RMS' political agenda that all software should be free (speech).

    If you want to use GPLed software, you have to pay the price: all software based on it must also be GPLed.

    If you don't like that, make your own programs, and license them however you wish :^)
  • It's as easy as that. The BSD guys deserve a pat on the back - a few words during bootup or something isn't too much to ask is it?
  • To find out the real reason why the FSF-people don't like the BSD license read this [].

    It might also be a good idea to actually read the advertising clause -- it has nothing to do with adding acknowledgement to the source files. What it says is that you have to mention them when you advertise.

  • This is the entire reason why the *BSD distributions are entirely upgradeable from src using "make world". 1 command, several hours later, you get a completely recompiled OS. The ports (add on packages) don't get done automatically, but it's fairly trivial to add them in if needed (usually not the case).

    This is the reason I switched from using Linux.
  • I'm not sure I understand why this is a problem, since Linux has included BSD networking code for ages and displays the "Regents of the University of California" message when it cranks up. Though perhaps making any program that uses the db module display the copyrights might be a drag...

    The heedless fascism of the GPL has caused so much grief to the rest of the free software community, though, that I'm somewhat amused to see the FSF having similar problems with a much freer license....


  • and i was *THIS* close to upgrading this afternoon... :)

  • There's been some talk about Sun releasing Solaris as Open Source; their C library and compiler would make a nice start.


  • Products like glibc have too many requirements.
    Right on, brother! Who needs a stinkin' C library, anyway?!
  • it's just like this: (according to your logic)

    If country is free (people in it have freedom), the country does not have laws. If a country has any kind of law, the country is NOT free. All the democrats that repeat this hynagogic mantra put 98% of the democratic movement to sleep. (of course for you americans, I don't mean the democratic party here)

  • Since it broke every single binary on my system and I had to revert back to glibc-2.0.7 let's hope they keep it locked up until it really works.
  • with the problems with glibc2.1.

    It seems to me to be a nasty nasty upgrade - tons of things broke, dependencies on other packages are just horrendous, the seems to be broke, StarOffice doesn't work (yes, I know it's StarDivision's fault). Downgrading didn't seem to put my system back in order.

    What a nightmare. Next time it should come with a big warning: GLIBC 2.1 CAN BE HAZARDOUS TO YOUR HEALTH.

    It almost makes me wish Rawhide was still glibc 2.0 based - I was looking forward to Red Hat 6.0 - not any more...
  • Haha! This is why I use Slackware. I have seen problems with glibc systems from day 1.

    "In true sound..." -Agents of Good Root
  • could missing a prototype possibly cause problems at run-time?

    "In true sound..." -Agents of Good Root
  • Yes, but this will not affect an existing binary, as the comment suggested.

    "In true sound..." -Agents of Good Root
  • Negative.

    What does it matter what the next version of Slackware uses. I'm using Slackware 3.1. Of course, I don't think there is anything left on my workstation that was from the original 3.1.

    My workstation will more than likely remain libc5 based and up to date.

    I need a stable libc for development I am involved with, and glibc just doesn't cut it.

    "In true sound..." -Agents of Good Root
  • but at least i got mine...
    and unlike everyine else posting here, it seems to work fine for me so far.

    nothing broke except licq. so i had to go download the new (and unfortunately slightly more buggy) version and recompile. no biggie.

    although maybe that's because i keep my system fairly up to date, and have been using pgcc (based of egcs-1.1) for some time now.
  • How is this license different than the lista incarnation of glibc ?

    How did it change ?

    Anybody know ?
  • Read the license, the Sleepycat license is *not* a BSD license although it looks like one at first glance. The principal issue is that they require source code redistribtuion, soemthing which is anethema to the typical BSD license.
  • There is no 2.0.7 tarball yet (IIRC, the regular install doesn't quite work); both Debian and Red Hat have 2.0.7 packages built from CVS, the problem doesn't affect the way these packages are built.

    You could try compiling from the Debian or Red Hat sources (e.g.{frozen,unstable }/main/source/*/glibc*.

  • Yet another example of RMS excluding anyone who is not using GPL. It cant be "free" if it's using the BSD license, according to the GNU zealots, (read gnu.misc.discuss for more info)

    You may want to read the FSF's philosophy section [] instead, as you seem to have some misunderstandings about the issues.

    The FSF recognises the existance of non-(L)GPLed free software; see Categories of Free and Non-Free Software [] and has chosen to adopt [] e.g. X11 for GNU.

    There is however a difference between "free" and "(L)GPL-compatible". In the case of traditional BSD-style licensed code, like the sleepycat db, the advertisement clause makes it incompatible with the GPL (I've not studied the LGPL in detail, but I suspect it's like the GPL in this regard); see The BSD License Problem [].

  • Go to ftp.** That's where I've found all the newer glibcs.
    Aaron Gaudio
    "The fool finds ignorance all around him.
  • You'd have a point, if the commercial world wasn't just as bogged down with lawsuits and battles over intellectual property. I'd say the FSF frustrated over a BSD-ish advertising clause is a little less severe than Microsoft being told to pull all Java products until the resolution of the Sun/MS trial. Go figure.
    Aaron Gaudio
    "The fool finds ignorance all around him.
  • There is a solution to your problem, as highlighted by Linus:

    "We all know Linux is does infinite loops in 5 seconds."

    Hope that helps.
    Aaron Gaudio
    "The fool finds ignorance all around him.
  • The database is broken, articles appear and disappear at random. Whether this message will appear or not is impossible to predict. == a couple of interesting articles + many stupid flamewars + lots of bad spelling + the odd intelligent comment.

  • No offense, but what do you expect? It's the core library that -everything- links against, and competes with the kernel for being the most complex piece of software you'll run.

    I'd expect it to have a few dependancies on other software, frankly, and when you're upgrading something as fundamental as that, I'd expect that you'd think the upgrade through a little more carefully, or wait for your OS vendor to provide an upgrade if you're not up to the task.

  • The only reason the default configuration of egcs would install over gcc is when gcc was in /usr/local. If gcc is in /usr/local for whatever reason, configure --prefix=/usr/local/egcs and add simlinks to put stuff in the path as egcc or whatever.
  • Install it someplace else and name it 'egcs'. The linux kernel will not build with egcs right now, among other things. Read the linux kernel docs.
  • Hmmm... I can only seem to find 2.0.6 on the ftp sites. Anywhere know where to get it?
  • Isn't it up to the GCC maintainers to decide whether applying Jeremy's patches are a good idea or not? Instead, now we have Linux gcc 2.8, FreeBSD gcc 2.8, and EGCS. Isn't this situation worse? Sorry if I'm questioning the motives.
  • Um, what has the GPL to do with the BSD license?

    Nevermind the fact that many BSD people have given
    up the credit clause.

    Please, come again?
  • Not that he is truly evil, and yes, he is talented, but his attitude sucks big time and cause trouble.
    Just IMO.
  • So what!!! You have a 10 gig drive and you can't spare a thousand bytes for credits?? There is nothing wrong with wanting a little credit for your work. RMS is an ass.
  • I found it at:
  • "I disagree, specifying a preprocessor symbol should not _remove"
    "features, it should add them when necessary"
    No. When you define _POSIX_SOURCE this will
    limit the features to the POSIX subset. This is
    according to POSIX and it makes sense. How could you
    you write portable code if you couldn't define an exact
    environment? If the "default" feature set is bigger
    than any feature set implied by a particular symbol
    (e.g. _POSIX_SOURCE) then defining the symbol must
    remove features. Think about it.
  • OK, we have here two operating systems. One gives you choice; the other fetters you with restrictions. For instance, a Linux webserver can run on as little as 16M (maybe less) of ram, on a 486, with 400M of disk space. NT, just sitting there, takes 34M of ram. Another example--the licensing. You laugh because the glibc 2.1 had a case of mistaken licensing. Look, however, at the results that emerge from previous glibc's (amongst other gpl'd code): success by fixability. While NT users rely on sendings from the mothership at Redmond (bugfix packages, euphemized as "service packs"), each user of gpl'd software is empowered to enact their own fix, if they can. It's called freedom to use you machine any damn way you want, not the way Microsoft tells you to.
  • So where is 2.0.7? I only up through 2.0.6 at
  • I downloaded it and found it required egcs.
    The documentation make nasty comments about
    gcc. I downloaded egcs-1.1.1 and compiled/built
    it. Installing it, it installed over gcc.
    glibc now compiled but I did not install it.
    egcs broke some things. I had problems
    with ncurses and linux-2.2.1 stopped compiling.
    Maybe that was my problem. maybe that was egcs'
    problem. I got rid of egcs. Products like
    glibc have too many requirements. forget it.

  • I use use the old gcc- to compile linux kernel and it works just fine.
    If you installed egcs-1.1.1 it just overwritten your files in /usr/bin(if you used --prefix=/usr) but the /usr/lib/gcc-lib/ still has the old ones there.

    I had a problem in compiling glibc-2.1 with the latest egcs snapshots(19990208 and 19990131). It seems that it breaks something in memcmp and in glob. Does anyone has idea about this?

"Conversion, fastidious Goddess, loves blood better than brick, and feasts most subtly on the human will." -- Virginia Woolf, "Mrs. Dalloway"