Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FTBFS on Fedora 40 #5962

Closed
vashirov opened this issue Oct 18, 2023 · 3 comments
Closed

FTBFS on Fedora 40 #5962

vashirov opened this issue Oct 18, 2023 · 3 comments
Labels
needs triage The issue will be triaged during scrum

Comments

@vashirov
Copy link
Member

Issue Description
389-ds-base fails to to build from source on Fedora 40 (Rawhide):

In file included from ldap/servers/slapd/back-ldbm/back-ldbm.h:75,
                 from ldap/servers/slapd/back-ldbm/dbimpl.c:33:
./ldap/servers/slapd/slap.h:544:20: error: expected ':', ',', ';', '}' or '__attribute__' before '.' token
  544 | #define f_type f_un.f_un_type
      |                    ^
./ldap/servers/slapd/slap.h:544:20: error: expected ':', ',', ';', '}' or '__attribute__' before '.' token
  544 | #define f_type f_un.f_un_type
      |                    ^

Package Version and Platform:

  • Platform: Fedora 40
  • Package and version: 2.4.x
@vashirov vashirov added the needs triage The issue will be triaged during scrum label Oct 18, 2023
@vashirov
Copy link
Member Author

gcc versions are the same on F39 and F40:
gcc (GCC) 13.2.1 20231011 (Red Hat 13.2.1-4)

@vashirov
Copy link
Member Author

Chris-Peterson444 added a commit to Chris-Peterson444/389-ds-base that referenced this issue Feb 10, 2024
The logic to support 32-bit architectures was correctly written (define
_LARGEFILE64_SOURCE) but placed too "late". If a standard library header
(e.g., <stdio.h>) is included before _LARGEFILE64_SOURCE is defined, then
the correct symbols will not be made available during compliation. In this
instance, armhf builds were failing due to off64_t not getting defined
correctly.
The inclusion of <sys/statvfs.h> in slap.h is required to prevent
a cryptic compliation error on "#define f_type f_un.f_un_type".
The following bug is possibly related:
389ds#5962
@vashirov
Copy link
Member Author

This was fixed in 9d0ebfe but introduced a build failure on 32-bit arches: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063434

vashirov pushed a commit to Chris-Peterson444/389-ds-base that referenced this issue Feb 13, 2024
Description:
The logic to support 32-bit architectures was correctly written (define
_LARGEFILE64_SOURCE) but placed too "late". If a standard library header
(e.g., <stdio.h>) is included before _LARGEFILE64_SOURCE is defined, then
the correct symbols will not be made available during compliation. In this
instance, armhf builds were failing due to off64_t not getting defined
correctly.
The inclusion of <sys/statvfs.h> in slap.h is required to prevent
a cryptic compliation error on "#define f_type f_un.f_un_type".

Related: 389ds#5962

Reviewed by: @vashirov
vashirov pushed a commit to Chris-Peterson444/389-ds-base that referenced this issue Feb 13, 2024
Description:
The logic to support 32-bit architectures was correctly written (define
_LARGEFILE64_SOURCE) but placed too "late". If a standard library header
(e.g., <stdio.h>) is included before _LARGEFILE64_SOURCE is defined, then
the correct symbols will not be made available during compliation. In this
instance, armhf builds were failing due to off64_t not getting defined
correctly.
The inclusion of <sys/statvfs.h> in slap.h is required to prevent
a cryptic compliation error on "#define f_type f_un.f_un_type".

Relates: 389ds#5962
Relates: https://bugs.launchpad.net/ubuntu/+source/389-ds-base/+bug/2052578
Relates: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063434

Reviewed by: @vashirov
vashirov pushed a commit that referenced this issue Feb 13, 2024
Description:
The logic to support 32-bit architectures was correctly written (define
_LARGEFILE64_SOURCE) but placed too "late". If a standard library header
(e.g., <stdio.h>) is included before _LARGEFILE64_SOURCE is defined, then
the correct symbols will not be made available during compliation. In this
instance, armhf builds were failing due to off64_t not getting defined
correctly.
The inclusion of <sys/statvfs.h> in slap.h is required to prevent
a cryptic compliation error on "#define f_type f_un.f_un_type".

Relates: #5962
Relates: https://bugs.launchpad.net/ubuntu/+source/389-ds-base/+bug/2052578
Relates: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063434

Reviewed by: @vashirov
vashirov pushed a commit that referenced this issue Jul 12, 2024
Description:
The logic to support 32-bit architectures was correctly written (define
_LARGEFILE64_SOURCE) but placed too "late". If a standard library header
(e.g., <stdio.h>) is included before _LARGEFILE64_SOURCE is defined, then
the correct symbols will not be made available during compliation. In this
instance, armhf builds were failing due to off64_t not getting defined
correctly.
The inclusion of <sys/statvfs.h> in slap.h is required to prevent
a cryptic compliation error on "#define f_type f_un.f_un_type".

Relates: #5962
Relates: https://bugs.launchpad.net/ubuntu/+source/389-ds-base/+bug/2052578
Relates: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063434

Reviewed by: @vashirov
vashirov pushed a commit that referenced this issue Jul 12, 2024
Description:
The logic to support 32-bit architectures was correctly written (define
_LARGEFILE64_SOURCE) but placed too "late". If a standard library header
(e.g., <stdio.h>) is included before _LARGEFILE64_SOURCE is defined, then
the correct symbols will not be made available during compliation. In this
instance, armhf builds were failing due to off64_t not getting defined
correctly.
The inclusion of <sys/statvfs.h> in slap.h is required to prevent
a cryptic compliation error on "#define f_type f_un.f_un_type".

Relates: #5962
Relates: https://bugs.launchpad.net/ubuntu/+source/389-ds-base/+bug/2052578
Relates: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063434

Reviewed by: @vashirov
vashirov pushed a commit that referenced this issue Jul 12, 2024
Description:
The logic to support 32-bit architectures was correctly written (define
_LARGEFILE64_SOURCE) but placed too "late". If a standard library header
(e.g., <stdio.h>) is included before _LARGEFILE64_SOURCE is defined, then
the correct symbols will not be made available during compliation. In this
instance, armhf builds were failing due to off64_t not getting defined
correctly.
The inclusion of <sys/statvfs.h> in slap.h is required to prevent
a cryptic compliation error on "#define f_type f_un.f_un_type".

Relates: #5962
Relates: https://bugs.launchpad.net/ubuntu/+source/389-ds-base/+bug/2052578
Relates: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063434

Reviewed by: @vashirov
vashirov pushed a commit that referenced this issue Jul 12, 2024
Description:
The logic to support 32-bit architectures was correctly written (define
_LARGEFILE64_SOURCE) but placed too "late". If a standard library header
(e.g., <stdio.h>) is included before _LARGEFILE64_SOURCE is defined, then
the correct symbols will not be made available during compliation. In this
instance, armhf builds were failing due to off64_t not getting defined
correctly.
The inclusion of <sys/statvfs.h> in slap.h is required to prevent
a cryptic compliation error on "#define f_type f_un.f_un_type".

Relates: #5962
Relates: https://bugs.launchpad.net/ubuntu/+source/389-ds-base/+bug/2052578
Relates: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063434

Reviewed by: @vashirov
vashirov pushed a commit that referenced this issue Jul 12, 2024
Description:
The logic to support 32-bit architectures was correctly written (define
_LARGEFILE64_SOURCE) but placed too "late". If a standard library header
(e.g., <stdio.h>) is included before _LARGEFILE64_SOURCE is defined, then
the correct symbols will not be made available during compliation. In this
instance, armhf builds were failing due to off64_t not getting defined
correctly.
The inclusion of <sys/statvfs.h> in slap.h is required to prevent
a cryptic compliation error on "#define f_type f_un.f_un_type".

Relates: #5962
Relates: https://bugs.launchpad.net/ubuntu/+source/389-ds-base/+bug/2052578
Relates: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063434

Reviewed by: @vashirov
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs triage The issue will be triaged during scrum
Projects
None yet
Development

No branches or pull requests

1 participant