Bug 51811
Summary: | compiler can't find ptsname function | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Keith Ansell <keitha> |
Component: | gcc | Assignee: | Jakub Jelinek <jakub> |
Status: | CLOSED NOTABUG | QA Contact: | David Lawrence <dkl> |
Severity: | medium | Docs Contact: | |
Priority: | high | ||
Version: | 7.1 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2001-08-22 14:51:49 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
Keith Ansell
2001-08-15 14:28:06 UTC
You get ptsname prototype only if you request some standard which has this function. Particularly, you can use -D_XOPEN_SOURCE or -D_GNU_SOURCE. This works well in the test software, but when it is added to my applications main makefile the program now shows errors on the following software. With -D_GNU_SOURCE and -D_XOPEN_SOURCE signal.h:36: declaration of `void (*sigset (int,void(*) int())) (int) throw()' throws different exceptions problems with sigignore, and stdlib.h grantpt and unlockpt. Can You Help? Thanks Keith Ansell Generally you should not prototype things which are prototyped in system headers. Agreed, then why can't I compile my source on this version of REDHAT and GNU where as the same program compiles on RH5.x RH6.x and RH7.0. I can supply you with a copy of the program, if you wish? but the answer to the BUG is NOT -D_XOPEN_SOURCE or -D_GNU_SOURCE. Regards Keith Ansell It is enough if you just supply preprocessed source of the file which fails (e.g. use -save-temps option of g++ which will create an .ii file), I can tell you what's wrong. But having ptsname protected with _XOPEN_SOURCE or _GNU_SOURCE is nothing new, e.g. glibc in 6.2 had it too. I'd suggest using -D_GNU_SOURCE, removing grantpt and unlockpt prototypes from Communications.h and at least kill sigrelse, sigignore, sighold and sigset in your signal.h. Portable applications cannot do what these headers do. |