Bug 1400720 - Conflicting header file ax25.h between glibc-headers and kernel-headers
Summary: Conflicting header file ax25.h between glibc-headers and kernel-headers
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: glibc team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-12-01 23:06 UTC by Valdis Kletnieks
Modified: 2019-10-15 14:03 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-10-15 14:03:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Sourceware 25106 0 None None None 2019-10-15 14:03:39 UTC

Description Valdis Kletnieks 2016-12-01 23:06:17 UTC
Description of problem:
While building Dave Jones' trinity software, the build died:

  CC	net/proto-rose.o
In file included from /usr/include/netrose/rose.h:25:0,
                 from net/proto-rose.c:10:
/usr/include/netax25/ax25.h:73:1: error: conflicting types for 'ax25_address'
 ax25_address;
 ^~~~~~~~~~~~
In file included from net/proto-rose.c:9:0:
/usr/include/linux/ax25.h:47:3: note: previous declaration of 'ax25_address' was here
 } ax25_address;
   ^~~~~~~~~~~~

(along with 9 other structures with similar issues.  And sure enough, diffing the
ax25.h files, the glibc struct ax25_address has "sa_family_t sax25_family;" while the kernel version has "__kernel_sa_family_t sax25_family;"

Building with:
glibc-headers-2.24.90-19.fc26.x86_64
kernel-headers-4.9.0-0.rc7.git1.1.fc26.x86_64

Version-Release number of selected component (if applicable):
glibc-headers-2.24.90-19.fc26.x86_64




How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Carlos O'Donell 2016-12-16 02:18:56 UTC
This is the synchronizing headers problem.

https://sourceware.org/glibc/wiki/Synchronizing_Headers

There is a kernel part and a glibc part that need to be done to ensure the ABI/API is stable depending on the order of inclusion.

So we need a kernel bug cloned for this.

Comment 2 Florian Weimer 2016-12-16 09:04:26 UTC
(In reply to Carlos O'Donell from comment #1)
> This is the synchronizing headers problem.
> 
> https://sourceware.org/glibc/wiki/Synchronizing_Headers
> 
> There is a kernel part and a glibc part that need to be done to ensure the
> ABI/API is stable depending on the order of inclusion.

I doubt this is needed here because the glibc header is not part of any standard, so we could just include the Linux header (which looks reasonably clean, too) from the glibc header and stop maintaining our own definitions.

Comment 3 Carlos O'Donell 2016-12-16 20:45:23 UTC
(In reply to Florian Weimer from comment #2)
> (In reply to Carlos O'Donell from comment #1)
> > This is the synchronizing headers problem.
> > 
> > https://sourceware.org/glibc/wiki/Synchronizing_Headers
> > 
> > There is a kernel part and a glibc part that need to be done to ensure the
> > ABI/API is stable depending on the order of inclusion.
> 
> I doubt this is needed here because the glibc header is not part of any
> standard, so we could just include the Linux header (which looks reasonably
> clean, too) from the glibc header and stop maintaining our own definitions.

Absolutely. And a review of the header might reveal that.

Comment 4 Fedora End Of Life 2017-02-28 10:42:46 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 5 Carlos O'Donell 2019-10-15 14:03:40 UTC
We are going to track this upstream here:
https://sourceware.org/bugzilla/show_bug.cgi?id=25106

The fix needs to be made upstream in both glibc and linux, then Fedora can inherit that fix.


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