Opened 11 years ago
Closed 11 years ago
#41286 closed defect (invalid)
fftw-3-single not built correctly
Reported by: | bill.6@… | Owned by: | skymoo (Adam Mercer) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.2.1 |
Keywords: | Cc: | ||
Port: | fftw-3-single |
Description
The port of fftw-3 for single precision float appears to not be built with the --enable-float configure switch.
This means that the library has the wrong names and implementation for the API functions. They are _fftw... where they should be _sfftw...
Change History (7)
comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to ram@… |
---|
comment:2 Changed 11 years ago by skymoo (Adam Mercer)
comment:3 Changed 11 years ago by bill.6@…
OK, I've looked at this more carefully.
The problem seems to be that the configure has been done with --disable-fortran. This is not the default and the overhead of building the legacy Fortran wrappers is small so I'm not sure why it has been chosen.
The fftw-3-single portfile has --enable-fortran but the dependent fftw-3 has --disable-fortran.
Is it possible that the dependent configure arguments are overriding the dependee.
I am building old code that uses the legacy Fortran function names which start with _sfftw for single precision.
Whatever is happening, I would say that using --enable-fortran (or nothing as it is the default) would be best and will not break any ones builds.
comment:4 Changed 11 years ago by bill.6@…
Also note that if a Fortran compiler isn't available at configure time then the default legacy Fortran wrappers are not built.
Maybe the port was built without a Fortran compiler being available?
comment:5 Changed 11 years ago by skymoo (Adam Mercer)
By default the fortran wrappings aren't built as Xcode doesn't contain a fortran compiler. If you use one of the compiler variants then the fortran bindings are built.
comment:6 Changed 11 years ago by bill.6@…
Ah OK.
That's pretty painful. I've had to install the whole gcc48 port to get a Fortran compiler, massive duplication with Xcode command line tools. Also minor annoyance as I've ended up with a Fortran compiler that CMake can't find without help (export FC=gfortran-mp-4.8).
Well at least it works, shame the port couldn't use the gfortran I had installed (from HPC) like the standard FFTW3 configure does. Or better still a gcc4.8 gfortran port without all the rest of the gcc compilers.
Ok, you can close this but what a waste of time and disk space :(
comment:7 Changed 11 years ago by skymoo (Adam Mercer)
Resolution: | → invalid |
---|---|
Status: | new → closed |
The Portfile says the
--enable-float
option is being passed to configure infftw-3-single
. Also code which I use, that requires single precision FFTW3, compiles without issue. Are you seeing otherwise?