Skip to content

Commit

Permalink
Disable modules on aarch64 due to ODR violation
Browse files Browse the repository at this point in the history
error: std::map<std::basic_string<char>, double, std::less<std::basic_string<char> >, std::allocator<std::pair<const std::basic_string<char>, double> > >' has different definitions in different modules; first difference is defined here found end of class\n/usr/lib/gcc/aarch64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/bits/stl_map.h:941:9: note: but in 'std.bits/stl_map.h' found friend declaration\n        operator==(const map<_K1, _T1, _C1, _A1>&,\n        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nroot.exe: ../../../../../../../../root/interpreter/cling/lib/Interpreter/Transaction.cpp:138: void cling::Transaction::append(cling::Transaction::DelayCallInfo): Assertion getState() == kCollecting && Cannot append declarations in current state.
  • Loading branch information
oshadura committed Oct 10, 2019
1 parent d296ec4 commit a67863d
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions cmake/modules/RootBuildOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -303,14 +303,12 @@ elseif(APPLE)
set(x11_defvalue OFF)
endif()

#---Modules do not play well with c++17 yet----------------------------------------------------
if(CMAKE_CXX_STANDARD GREATER 14)
set(runtime_cxxmodules_defvalue OFF)
endif()

#---Modules do not play well with preinstalled ROOT in the system------------------------------
# Current limitations for modules:
#---Modules do not play well with c++17 yet
#---Modules do not play well with preinstalled ROOT in the system (PREINSTALLED_MODULEMAP)
#---Modules are disabled on aarch64 platform (due ODR violations)
find_file(PREINSTALLED_MODULEMAP module.modulemap)
if(PREINSTALLED_MODULEMAP)
if(CMAKE_CXX_STANDARD GREATER 14 OR CMAKE_SYSTEM_PROCESSOR MATCHES aarch64 OR PREINSTALLED_MODULEMAP)
set(runtime_cxxmodules_defvalue OFF)
endif()

Expand Down

0 comments on commit a67863d

Please sign in to comment.