[MacPorts] #59489: ALPSMaxent: The C++ compiler used to build your project should exactly match the C++ compiler that was used to build ALPSCore

MacPorts noreply at macports.org
Sat Oct 26 18:29:04 UTC 2019


#59489: ALPSMaxent: The C++ compiler used to build your project should exactly
match the C++ compiler that was used to build ALPSCore
------------------------+------------------------
 Reporter:  ryandesign  |      Owner:  egull
     Type:  defect      |     Status:  assigned
 Priority:  Normal      |  Milestone:
Component:  ports       |    Version:  2.6.2
 Keywords:              |       Port:  ALPSMaxent
------------------------+------------------------
 [https://build.macports.org/builders/ports-10.14_x86_64-builder/builds/43976/steps
 /install-port/logs/stdio Building ALPSMaxent fails]:

 {{{
 CMake Warning at /opt/local/share/ALPSCore/ALPSCoreConfig.cmake:129
 (message):
   The C++ compiler used to build your project should exactly match the C++
   compiler that was used to build ALPSCore.

    ALPSCore C++ compiler ID: AppleClang
    ALPSCore C++ compiler version: 10.0.0.10001145
    Current C++ compiler ID: AppleClang
    Current C++ compiler version: 10.0.1.10010046
    Current C++ compiler: /usr/bin/clang++
 Call Stack (most recent call first):
   CMakeLists.txt:5 (find_package)


 CMake Error at
 /opt/local/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137
 (message):
   Could NOT find ALPSCore (missing: ALPSCore_LIBRARIES
   ALPSCore_COMPILER_MATCH)
 Call Stack (most recent call first):
 /opt/local/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:378
 (_FPHSA_FAILURE_MESSAGE)
   /opt/local/share/ALPSCore/ALPSCoreConfig.cmake:149
 (find_package_handle_standard_args)
   CMakeLists.txt:5 (find_package)


 -- Configuring incomplete, errors occurred!
 }}}

 The requirement that "The C++ compiler used to build your project should
 exactly match the C++ compiler that was used to build ALPSCore" is kind of
 impossible to enforce in MacPorts, since there might be a difference in
 Xcode (and therefore clang) version between a user's system and our build
 server, and also because Xcode/clang might get updated on a user's system
 or on our build server and MacPorts has no way to know when that has
 occurred to force certain ports to rebuild at that time. So it is a design
 flaw for ALPSMaxent to impose this requirement.

 If this requirement absolutely cannot be avoided, then possible solutions
 are:

 1. Force ALPSCore and ALPSMaxent to use a MacPorts compiler by setting it
 in `compiler.whitelist`. And notice whenever that MacPorts compiler's
 version gets updated and revbump ALPSCore and ALPSMaxent each time to
 rebuild them. Or:
 2. Combine ALPSCore and ALPSMaxent into a single port so that they always
 are built at the same time with the same compiler.

-- 
Ticket URL: <https://trac.macports.org/ticket/59489>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list