establish installed dependency not in portfile

Ryan Schmidt ryandesign at macports.org
Sat Oct 7 23:17:42 UTC 2017


On Oct 7, 2017, at 14:13, db wrote:

> It seems that gcc7 comes from portgroup compilers. From the logs I kept when upgrading, gcc7 seems to never have been built for building py-numpy before.

py-numpy requires a Fortran compiler. Xcode doesn't contain one, so we must use one provided by MacPorts. You can choose which compiler to use by using variants:


$ port variants py27-numpy
--->  Updating the ports tree
py27-numpy has the variants:
   atlas: Use MacPorts ATLAS Libraries
     * conflicts with openblas
   clang37: Build using the MacPorts clang 3.7 compiler
     * conflicts with gcc49 gcc5 gcc6 gcc7 llvm
   gcc49: Build using the MacPorts gcc 4.9 compiler
     * conflicts with clang37 gcc5 gcc6 gcc7 gfortran llvm
   gcc5: Build using the MacPorts gcc 5 compiler
     * conflicts with clang37 gcc49 gcc6 gcc7 gfortran llvm
   gcc6: Build using the MacPorts gcc 6 compiler
     * conflicts with clang37 gcc49 gcc5 gcc7 gfortran llvm
   gcc7: Build using the MacPorts gcc 7 compiler
     * conflicts with clang37 gcc49 gcc5 gcc6 gfortran llvm
[+]gfortran: Build using the MacPorts gcc 7 Fortran compiler
     * conflicts with gcc49 gcc5 gcc6 gcc7
   llvm: Build using the Apple native llvm-gcc 4.2 compiler
     * conflicts with clang37 gcc49 gcc5 gcc6 gcc7
   openblas: Use MacPorts OpenBLAS Libraries
     * conflicts with atlas
   universal: Build for multiple architectures


I assume the gcc* variants use the Fortran, C and C++ compilers from those ports, while the gfortran variant only uses the Fortran computer from a gcc port while still using the C and C++ compilers from Xcode (i.e. clang).

For modern systems, the default gcc port that the compilers portgroup uses used to be gcc6, and was changed to gcc7 a few days ago:

https://github.com/macports/macports-ports/commit/c347ac662f932c0db8b15ec982eb4a563174bcfc




More information about the macports-users mailing list