Add "-no-undefined" to linker flags of threading libraries to allow building shared libraries on Windows. diff -urN fftw-3.3.10/threads/Makefile.am.orig fftw-3.3.10/threads/Makefile.am --- fftw-3.3.10/threads/Makefile.am.orig 2020-12-10 13:02:44.000000000 +0100 +++ fftw-3.3.10/threads/Makefile.am 2023-03-02 12:09:54.323824700 +0100 @@ -21,7 +21,9 @@ threads.h dft-vrank-geq1.c ct.c rdft-vrank-geq1.c hc2hc.c \ vrank-geq1-rdft2.c f77api.c f77funcs.h libfftw3@PREC_SUFFIX@_threads_la_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -libfftw3@PREC_SUFFIX@_threads_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ +libfftw3@PREC_SUFFIX@_threads_la_LDFLAGS = \ +@QUAD_FALSE@@COMBINED_THREADS_FALSE@ -no-undefined \ + -version-info @SHARED_VERSION_INFO@ if !COMBINED_THREADS libfftw3@PREC_SUFFIX@_threads_la_LIBADD = ../libfftw3@PREC_SUFFIX@.la endif @@ -30,7 +32,9 @@ threads.h dft-vrank-geq1.c ct.c rdft-vrank-geq1.c hc2hc.c \ vrank-geq1-rdft2.c f77api.c f77funcs.h libfftw3@PREC_SUFFIX@_omp_la_CFLAGS = $(AM_CFLAGS) $(OPENMP_CFLAGS) -libfftw3@PREC_SUFFIX@_omp_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ +libfftw3@PREC_SUFFIX@_omp_la_LDFLAGS = \ +@QUAD_FALSE@@COMBINED_THREADS_FALSE@ -no-undefined \ + -version-info @SHARED_VERSION_INFO@ if !COMBINED_THREADS libfftw3@PREC_SUFFIX@_omp_la_LIBADD = ../libfftw3@PREC_SUFFIX@.la endif diff -urN fftw-3.3.10/threads/Makefile.in.orig fftw-3.3.10/threads/Makefile.in --- fftw-3.3.10/threads/Makefile.in.orig 2021-09-14 16:43:46.000000000 +0200 +++ fftw-3.3.10/threads/Makefile.in 2023-03-02 12:12:36.736513100 +0100 @@ -414,14 +414,18 @@ vrank-geq1-rdft2.c f77api.c f77funcs.h libfftw3@PREC_SUFFIX@_threads_la_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -libfftw3@PREC_SUFFIX@_threads_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ +libfftw3@PREC_SUFFIX@_threads_la_LDFLAGS = \ +@QUAD_FALSE@@COMBINED_THREADS_FALSE@ -no-undefined \ + -version-info @SHARED_VERSION_INFO@ @COMBINED_THREADS_FALSE@libfftw3@PREC_SUFFIX@_threads_la_LIBADD = ../libfftw3@PREC_SUFFIX@.la libfftw3@PREC_SUFFIX@_omp_la_SOURCES = api.c conf.c openmp.c \ threads.h dft-vrank-geq1.c ct.c rdft-vrank-geq1.c hc2hc.c \ vrank-geq1-rdft2.c f77api.c f77funcs.h libfftw3@PREC_SUFFIX@_omp_la_CFLAGS = $(AM_CFLAGS) $(OPENMP_CFLAGS) -libfftw3@PREC_SUFFIX@_omp_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ +libfftw3@PREC_SUFFIX@_omp_la_LDFLAGS = \ +@QUAD_FALSE@@COMBINED_THREADS_FALSE@ -no-undefined \ + -version-info @SHARED_VERSION_INFO@ @COMBINED_THREADS_FALSE@libfftw3@PREC_SUFFIX@_omp_la_LIBADD = ../libfftw3@PREC_SUFFIX@.la all: all-am