Opened 11 years ago

Closed 11 years ago

#50327 closed enhancement (fixed)

pfft: Build without --disable-shared

Reported by: michael-lists@… Owned by: dstrubbe (David Strubbe)
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch Cc:
Port: pfft

Description

The pfft port builds just fine without the --disable-shared configure flag. The patch below removes it, which is useful for anyone who wants to use PFFT as a dynamic library. Because PFFT does not link to FFTW3 by itself, FFTW3 needs to be explicitly added to the LDFLAGS.

--- ports/math/pfft/Portfile	2015-10-21 17:30:57.000000000 +0200
+++ ports/math/pfft/Portfile	2016-01-14 15:46:15.000000000 +0100
@@ -44,7 +44,7 @@
     }
 
     configure.args-append  MPICC=${mpi.cc} MPIFC=${mpi.f90} \
-        CPPFLAGS=-I${prefix}/include LDFLAGS=-L${prefix} --disable-shared
+        CPPFLAGS=-I${prefix}/include LDFLAGS="-L${prefix} -lfftw3 -lfftw3_mpi"
 }
 
 livecheck.type  regex

Attachments (1)

pfft.patch​ (403 bytes) - added by michael-lists@… 11 years ago.

Download all attachments as: .zip

Change History (7)

Changed 11 years ago by michael-lists@…

Attachment: pfft.patch​ added

comment:1 Changed 11 years ago by mf2k (Frank Schima)

Cc: dstrubbe@… removed
Owner: changed from macports-tickets@… to dstrubbe@…
Version: 2.3.4

comment:2 Changed 11 years ago by dstrubbe (David Strubbe)

What do you mean by this? "Because PFFT does not link to FFTW3 by itself, FFTW3 needs to be explicitly added to the LDFLAGS." What sort of actual or potential problem is there in the current situation?

comment:3 Changed 11 years ago by dstrubbe (David Strubbe)

Keywords: haspatch added

comment:4 Changed 11 years ago by michael-lists@…

If you don't add -lfftw3 -lfftw3_mpi, then you get unresolved FFTW3 symbols when libpfft.dylib is made.

Last edited 11 years ago by michael-lists@… (previous) (diff)

comment:5 Changed 11 years ago by seanfarley (Sean Farley)

Yes, we should be using shared libraries when possible. Look at my work for SuperLU, MUMPS, and SuiteSparse for example.

comment:6 Changed 11 years ago by dstrubbe (David Strubbe)

Resolution: → fixed
Status: new → closed

Thanks for the patch. Committed in r144662.

Note: See TracTickets for help on using tickets.