Bug 517
Summary: | Porting problems using glibc | ||
---|---|---|---|
Product: | [Retired] Red Hat Raw Hide | Reporter: | Jeff Johnson <jbj> |
Component: | glibc | Assignee: | Cristian Gafton <gafton> |
Status: | CLOSED WONTFIX | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 1.0 | CC: | dcthomp, gafton, jbj, johnsonm, mike, msw, notting, pbrown, timp, unclei |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 1999-08-31 19:41:57 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Jeff Johnson
1998-12-18 18:12:47 UTC
From tcltk: errno.h now has # define ENOTSUP EOPNOTSUPP which resulted in duplicate case. All programs that use pam /usr/include/security/_pam_macros.h has extern char *strdup(const char *s); which, since glibc21 implements many string functions as macros, fails to compile. From e2fsprogs, linux/major.h Old: #define SCSI_DISK_MAJOR 8 New: #define SCSI_DISK0_MAJOR 8 If accessing struct exit_status after #include <utmp.h>, you must add -D_GNU_SOURCE to expose the structure elements. smtp.c:1008: warning: preprocessing directive not recognized within macro arg triggered by this code: sm_reply.length = strlen (strcpy (sm_reply.text, sm_wfp == NULL ? "no socket opened" : sm_alarmed ? "write to socket timed out" #ifdef MPOP : sm_ispool ? "error writing to spool file" #endif : "error writing to socket")); The routine _cleanup (runs actions scheduled by atexit) is now static in the shared libc. Accessing fds_bits (the int32 array of bits used by FD_SET and friends) is not possible unless specifying XPG4 compatibility explicitly. Meanwhile the FD_* access works just fine. <limits.h> needs to be explicitly included. C files formerly making stdio declarations as constants such as: FILE *foo = {stdin}, *bar = {stdout}; no longer work and should be declared as variables: FILE *foo; FILE *bar; main(){ foo = stdin; bar = stdout; } Things that will no longer work (that did) if they are defined or declared. Any mem thing: #define mem* strpbrk: extern char *strpbrk(); register char CONST *s1; register char CONST *s2; { register int n = strlen(s2); if (! *s2) return (char *) s1; while (*s1) { if (! strncmp(s2,s1,n)) return (char *) s1; s1++; } return((char *) 0); } rewrites of string maniupulation such as: That was supposed to be--- strpbrk: extern char *strpbrk(); register char CONST *s1; rewrites of string maniupulation such as: char * strstr(s1, s2) register char CONST *s1; register char CONST *s2; { register int n = strlen(s2); if (! *s2) return (char *) s1; while (*s1) { if (! strncmp(s2,s1,n)) return (char *) s1; s1++; } return((char *) 0); } You need to add -D_GNU_SOURCE to get WTMPX_FILE defined. I believe we have more or less figured out all these issues. If people have additional things to add, reopen the 'bug'. *** Bug 2244 has been marked as a duplicate of this bug. *** I am not certain this error is due to glibc or not. I am having extreme difficulty compiling (meaning I cannot compile at all) a number of useful applications which worked flawlessly under the last distribution of redhat I used. In particular, ssh, version 1.x.x or 2.x.x will not compile at all, nor will the binary RPMS for ssh that I have found work properly. |