[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