Bug 1943074 - fftw: FTBFS with upcoming autoconf-2.71
Summary: fftw: FTBFS with upcoming autoconf-2.71
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: fftw
Version: 35
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Conrad Meyer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1942967
TreeView+ depends on / blocked
 
Reported: 2021-03-25 12:50 UTC by Ondrej Dubaj
Modified: 2021-08-31 07:42 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-08-31 07:42:22 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Ondrej Dubaj 2021-03-25 12:50:35 UTC
Your package fails to build with the newest upcoming autoconf-2.71, which is part of a wide Fedora change. Please see the attached copr: https://copr.fedorainfracloud.org/coprs/odubaj/autoconf-2.70/packages/. More information about testing your package when building with autoconf available here: https://fedoraproject.org/wiki/Changes/Autoconf_271#How_To_Test

Comment 1 Ondrej Dubaj 2021-04-12 07:16:41 UTC
Gentle ping.

Comment 2 Conrad Meyer 2021-04-12 23:00:05 UTC
(In reply to Ondrej Dubaj from comment #1)
Hi Ondrej,

In https://download.copr.fedorainfracloud.org/results/odubaj/autoconf-2.70/fedora-rawhide-x86_64/02095342-fftw/ , we see that AC_CHECK_SIZEOF(size_t) fails for some reason.  Preceding checks for various integer types seem to pass.  An error was logged to config.log (probably the type isn't defined because a header isn't included?), but that artifact does not appear to be preserved.

Comment 3 Conrad Meyer 2021-04-13 01:54:50 UTC
I have a patch to try, but am not sure how to kick off a build with autoconf-2.71.  It looks like Rawhide is still on 2.69.  It builds with 2.69, but I don't know how meaningful that is.

diff --git a/fftw-3.3.8-configure.ac-sizeof.patch b/fftw-3.3.8-configure.ac-sizeof.patch
new file mode 100644
index 0000000..ce5ea25
--- /dev/null
+++ b/fftw-3.3.8-configure.ac-sizeof.patch
@@ -0,0 +1,12 @@
+--- configure.ac.orig  2021-04-12 15:53:15.663321061 -0700
++++ configure.ac       2021-04-12 15:51:44.423322999 -0700
+@@ -532,7 +532,8 @@
+ AC_CHECK_SIZEOF(unsigned long)
+ AC_CHECK_SIZEOF(long long)
+ AC_CHECK_SIZEOF(unsigned long long)
+-AC_CHECK_SIZEOF(size_t)
++AC_CHECK_SIZEOF(size_t, [], [$ac_includes_default
++#include <stddef.h>])
+ AC_CHECK_SIZEOF(ptrdiff_t)
+
+ AC_CHECK_TYPES([ptrdiff_t])
diff --git a/fftw.spec b/fftw.spec
index bae4a5e..2c2ea4d 100644
--- a/fftw.spec
+++ b/fftw.spec
@@ -14,11 +14,13 @@

 Name:           fftw
 Version:        3.3.8
-Release:        9%{?dist}
+Release:        10%{?dist}
 Summary:        A Fast Fourier Transform library
 License:        GPLv2+
 URL:            http://www.fftw.org
 Source0:        http://www.fftw.org/fftw-%{version}.tar.gz
+# https://bugzilla.redhat.com/show_bug.cgi?id=1943074
+Patch0:                fftw-3.3.8-configure.ac-sizeof.patch
 BuildRequires:  gcc-gfortran

 BuildRequires:  autoconf
@@ -268,6 +270,7 @@ library.

 %prep
 %setup -q
+%patch0 -p0

 %build
 # Explicitly load shell support for the environment-modules package, used
@@ -542,6 +545,9 @@ done
 %endif

 %changelog
+* Mon Apr 12 2021 Conrad Meyer <cemeyer> - 3.3.9-10
+- Patch configure.ac around sizeof(size_t) failure
+
 * Sat Aug 01 2020 Fedora Release Engineering <releng> - 3.3.8-9
 - Second attempt - Rebuilt for
   https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

Comment 4 Ondrej Dubaj 2021-04-13 05:38:50 UTC
Hi,

you can try building the package locally using mock. You can easily download mock config from our copr and try the build the package. Details here: https://fedoraproject.org/wiki/Changes/Autoconf_271#How_To_Test

Comment 5 Ondrej Dubaj 2021-05-04 08:18:05 UTC
Hi,

any updates here please ? Did you manage to test your patch ?

Thanks.

Comment 6 Conrad Meyer 2021-05-04 16:54:44 UTC
No update.

Comment 7 Ondrej Dubaj 2021-07-15 10:02:13 UTC
Hello, this issue does not seem to be resolved, can you please check it one more time ? Soonly we are planning to move to autoconf-2.71, so there will be FTBFS on this component.

Thank you.

Comment 8 Ben Cotton 2021-08-10 12:56:19 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 35 development cycle.
Changing version to 35.

Comment 9 Zbigniew Jędrzejewski-Szmek 2021-08-27 16:14:04 UTC
Hmm, this is quite strange. configure generates a test like this:

/* confdefs.h */
#define PACKAGE_NAME "fftw"
#define PACKAGE_TARNAME "fftw"
#define PACKAGE_VERSION "3.3.8"
#define PACKAGE_STRING "fftw 3.3.8"
#define PACKAGE_BUGREPORT "fftw"
#define PACKAGE_URL ""
#define PACKAGE "fftw"
#define VERSION "3.3.8"
#define FFTW_ENABLE_ALLOCA 1
#define FFTW_SINGLE 1
#define BENCHFFT_SINGLE 1
#define HAVE_SSE2 1
#define HAVE_AVX 1
#define HAVE_STDIO_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_STRINGS_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
#define HAVE_SYS_TIME_H 1
#define STDC_HEADERS 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
#define HAVE_FCNTL_H 1
#define HAVE_FENV_H 1
#define HAVE_LIMITS_H 1
#define HAVE_MALLOC_H 1
#define HAVE_STDDEF_H 1
#define HAVE_SYS_TIME_H 1
/* end confdefs.h.  */
#include <stddef.h>
#ifdef HAVE_STDIO_H
# include <stdio.h>
#endif
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifdef HAVE_STRING_H
# include <string.h>
#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
int
main (void)
{
  if (sizeof ((size_t)))
          return 0;
  return 0;
}

This fails, because the argument to sizeof must be either a
1. cast ("(size_t)")
2. an unary-expression
(see https://docs.microsoft.com/en-us/cpp/c-language/sizeof-operator-c?view=msvc-160).

All AC_CHECK_SIZEOF() checks fail.
But I don't understand where the extra parens come from. AC_DEFUN([AC_CHECK_SIZEOF]) in
/usr/share/autoconf/autoconf/types.m4 doesn't have them.

Comment 10 Ondrej Dubaj 2021-08-31 07:42:22 UTC
Autoconf-2.71 Fedora Change is completed. According to this, I am closing this tracker and if any FTBFS will appear in Fedora Rawhide, new F36FTBFS tracker will be created for this purposes, thank you for cooperation.


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