Bug 467485 - Applications using ucred which compiled in F8 fail in F9.
Summary: Applications using ucred which compiled in F8 fail in F9.
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: 9
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-10-17 17:54 UTC by Michael H. Warfield
Modified: 2008-10-18 18:38 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-10-18 18:38:00 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michael H. Warfield 2008-10-17 17:54:28 UTC
This is a problem in glibc-headers but I don't see a category for that and this is as close as I can get.

I have a network application that compiles and runs in Fedora 8 but which fails in Fedora 9 complaining that it is unable to determine the size of a structure of type "ucred".  That structure is defined in /usr/include/bits/socket.h.  The telling difference is that in F9 it's under and #ifdef as follows:

F8:

/* User visible structure for SCM_CREDENTIALS message */

struct ucred
{
  pid_t pid;                    /* PID of sending process.  */
  uid_t uid;                    /* UID of sending process.  */
  gid_t gid;                    /* GID of sending process.  */
};


F9:

#ifdef __USE_GNU
/* User visible structure for SCM_CREDENTIALS message */
struct ucred
{
  pid_t pid;                    /* PID of sending process.  */
  uid_t uid;                    /* UID of sending process.  */
  gid_t gid;                    /* GID of sending process.  */
};
#endif

What gives?  And defining __USE_GNU in the calling application did not
solve the problem.  One of the intervening includes must be undefining it.

I don't see the reason for this change since all it does is eliminate
the ucred structure definition without defining any replacement.  The
application clearly compiled and worked under F8 and it compiles and
works under F9 if I remove that #ifdef, so I don't understand what it's
there for or what it's accomplishing since it won't conflict with any
other definition.

F8:     glibc-headers-2.7-2
F9:     glibc-headers-2.8-8

Comment 1 Michael H. Warfield 2008-10-18 18:38:00 UTC
Problem resolved on mailing list. Not a bug.


Note You need to log in before you can comment on or make changes to this bug.