Opened 5 years ago
#59489 assigned defect
ALPSMaxent: The C++ compiler used to build your project should exactly match the C++ compiler that was used to build ALPSCore
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | egull |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | Cc: | galexv | |
Port: | ALPSMaxent |
Description
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:
- 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: - Combine ALPSCore and ALPSMaxent into a single port so that they always are built at the same time with the same compiler.
Note: See
TracTickets for help on using
tickets.