On 2014-1-15 05:42 , Peter Danecek wrote:
> 
> Hi all,
> 
> here as short follow up on this issue (the problems was described earlier, 
> see below), as I have now a clearer idea what is happening. There seems to be 
> no other python port (Python Portgroup) using numpy.distutils to compile 
> Python extensions written in Fortran. 
> 
> Now I understand better that the difference between building manually and 
> using Macports and what is causing the problem. I have found solutions to the 
> problem, but I am not sure if it would be okay.
> 
> It is caused by the Python Portgroup which is setting by default the 
> environment variable LDFLAGS to pass the architecture, (see 
> http://guide.macports.org/#reference.portgroup.python.keywords). If this 
> environment variable is set, the `setup.py` script (or more precisely 
> `numpy.distutils.fcompiler`) fails to determine the correct linker flags 
> ("-undefined dynamic_lookup -bundle" is missing) and to link the binary 
> extension file (*.so) from fortran sources. This affects only fortran code.

The normal distutils behaviour is to append the flags from the
environment to the default value. So it seems numpy.distutils behaves
incompatibly.

> One solution I came up with is to set `python.add_archflags no`. Is this 
> appropriate? I am not exactly sure why this setting of LDFLAGS is done the 
> first place, but I assume it could be related to universal builds. The port 
> is `universal_variant no` so is it okay just to disable?

You can do that, but you need to insert the archflags yourself then.
Even without a universal variant you still need to support build_arch.

- Josh
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to