Bug 532230

Summary: non-standard function getline interfering with pdftex compilation
Product: [Fedora] Fedora Reporter: Bob T. <rdtennent>
Component: glibcAssignee: Andreas Schwab <schwab>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: jakub, schwab
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: 2009-11-01 23:55:53 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 Bob T. 2009-10-31 17:28:34 UTC
Description of problem:

pdftex won't build on Fedora 11 with glibc-2.10.1-5 because stdio.h in the latter declares a non-standard function getline, which is also defined in the pdftex sources.


Version-Release number of selected component (if applicable): glibc-2.10.1-5

How reproducible:


Steps to Reproduce:
1. build.sh in pdftex
2.
3.
  
Actual results:

In file included from tangleboot.c:94:
tangleboot.h:34: error: conflicting types for 'getline'
/usr/include/stdio.h:653: note: previous declaration of 'getline' was here
tangleboot.c:2175: error: conflicting types for 'getline'
/usr/include/stdio.h:653: note: previous declaration of 'getline' was here




Expected results:  When the declaration of getline iin stfio.h is commented out, pdftex builds as usual.


Additional info:

Comment 1 Jakub Jelinek 2009-11-01 23:55:53 UTC
getline is a standard POSIX 2008 function, and glibc headers by default offer POSIX 2008 namespace.  See
info libc 'Feature Test Macros'
for details.  You should just either fix pdftex to use a different name, not reserved by POSIX 2008, or use a namespace macro that doesn't provide POSIX 2008 stuff.