Bug 517

Summary: Porting problems using glibc
Product: [Retired] Red Hat Raw Hide Reporter: Jeff Johnson <jbj>
Component: glibcAssignee: Cristian Gafton <gafton>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0CC: 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
This is a generic bug to try and capture some of the
porting problems encountered in building packages
with glibc-2.1. Add yourself to the CC line if you
wish to be notified of information by E-mail.

Comment 1 Jeff Johnson 1998-12-18 18:17:59 UTC
From tcltk:
errno.h now has
	# define ENOTSUP EOPNOTSUPP
which resulted in duplicate case.

Comment 2 Jeff Johnson 1998-12-18 18:37:59 UTC
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.

Comment 3 Jeff Johnson 1998-12-18 19:14:59 UTC
From e2fsprogs, linux/major.h

Old:
	#define	SCSI_DISK_MAJOR	8
New:
	#define	SCSI_DISK0_MAJOR 8

Comment 4 Jeff Johnson 1998-12-20 20:57:59 UTC
If accessing struct exit_status after #include <utmp.h>, you
must add -D_GNU_SOURCE to expose the structure elements.

Comment 5 Jeff Johnson 1998-12-20 21:12:59 UTC
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"));

Comment 6 Jeff Johnson 1998-12-22 15:16:59 UTC
The routine _cleanup (runs actions scheduled by atexit) is
now static in the shared libc.

Comment 7 Jeff Johnson 1998-12-22 15:18:59 UTC
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.

Comment 8 Jeff Johnson 1998-12-22 15:38:59 UTC
<limits.h> needs to be explicitly included.

Comment 9 Mike Maher 1998-12-22 20:22:59 UTC
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;
}

Comment 10 Mike Maher 1998-12-22 23:10:59 UTC
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:

Comment 11 Mike Maher 1998-12-22 23:20:59 UTC
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);
}

Comment 12 Jeff Johnson 1998-12-30 21:02:59 UTC
You need to add -D_GNU_SOURCE to get WTMPX_FILE defined.

Comment 13 Preston Brown 1999-03-23 19:03:59 UTC
I believe we have more or less figured out all these issues.  If
people have additional things to add, reopen the 'bug'.

Comment 14 Jeff Johnson 1999-04-18 17:47:59 UTC
*** 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.