Mailinglist Archive: opensuse-packaging (111 mails)

< Previous Next >
Re: [opensuse-packaging] FYI: glibc 2.8 may break some of your packages
  • From: Michael Matz <matz@xxxxxxx>
  • Date: Fri, 11 Apr 2008 15:14:09 +0200 (CEST)
  • Message-id: <Pine.LNX.4.64.0804111508580.20583@xxxxxxxxxxxxx>

On Fri, 11 Apr 2008, Stephan Kulow wrote:

glibc 2.8 no longer defines ARG_MAX constant in linux, so you may see:

foobar.c:N: error: 'ARG_MAX' undeclared (first use in this function)

Note, that the code should have done that before too, as the glibc info
pages say:

Each of the following limit parameters has a macro that is defined in
`limits.h' only if the system has a fixed, uniform limit for the
parameter in question. If the system allows different file systems or
files to have different limits, then the macro is undefined; use
`sysconf' to find out the limit that applies at a particular time on a
particular machine.

Sometimes it's also that an include of <limits.h> is just missing (e.g.
for PATH_MAX). Older glibc could possibly include limits.h indirectly
with other headers, so nobody noticed it missing, now you do.

There's also one other problem which happened from time to time: "struct
ucred" (from <sys/socket.h> (really <bits/socket.h>)) is a GNU extension,
and therefore has to be guarded by -D_GNU_SOURCE. In older glibcs this
accidentally wasn't the case and some programs came to rely on this. For
those programs/files you need to define _GNU_SOURCE before the inclusion
of the first header (or in CFLAGS).

To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >