Build fails with Apple clang with numerous errors: `expr.hpp: error: redefinition of 'L2Norm2'` etc.
barracuda156 opened this issue · comments
Sergey Fedorov commented
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/bandmatrix.cpp:1:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/bla.hpp:76:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/expr.hpp:1791:15: error: redefinition of 'L2Norm2'
:info:build inline auto L2Norm2 (const AutoDiff<D,SCAL> & x)
:info:build ^
:info:build /opt/local/include/core/autodiff.hpp:1100:15: note: previous definition is here
:info:build inline auto L2Norm2 (const ngcore::AutoDiff<D,SCAL> & x)
:info:build ^
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/bandmatrix.cpp:1:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/bla.hpp:76:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/expr.hpp:1797:15: error: redefinition of 'L2Norm2'
:info:build inline auto L2Norm2 (const AutoDiffDiff<D,SCAL> & x)
:info:build ^
:info:build /opt/local/include/core/autodiffdiff.hpp:724:15: note: previous definition is here
:info:build inline auto L2Norm2 (const ngcore::AutoDiffDiff<D,SCAL> & x)
:info:build ^
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/triangular.cpp:1:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/bla.hpp:76:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/expr.hpp:1791:15: error: redefinition of 'L2Norm2'
:info:build inline auto L2Norm2 (const AutoDiff<D,SCAL> & x)
:info:build ^
:info:build /opt/local/include/core/autodiff.hpp:1100:15: note: previous definition is here
:info:build inline auto L2Norm2 (const ngcore::AutoDiff<D,SCAL> & x)
:info:build ^
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/triangular.cpp:1:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/bla.hpp:76:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/expr.hpp:1797:15: error: redefinition of 'L2Norm2'
:info:build inline auto L2Norm2 (const AutoDiffDiff<D,SCAL> & x)
:info:build ^
:info:build /opt/local/include/core/autodiffdiff.hpp:724:15: note: previous definition is here
:info:build inline auto L2Norm2 (const ngcore::AutoDiffDiff<D,SCAL> & x)
:info:build ^
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/triangular.cpp:1:
:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/bla.hpp:78:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/basiclinalg/matrix.hpp:521:13: error: call to 'max2' is ambiguous
:info:build w = max2(w, int(row.size()));
:info:build ^~~~
:info:build /opt/local/include/core/utils.hpp:152:19: note: candidate function [with T = int]
:info:build NETGEN_INLINE T max2 (T a, T b)
:info:build ^
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_ngsolve/ngsolve/work/ngsolve-6.2.2301/include/../ngstd/templates.hpp:22:10: note: candidate function [with T = int]
:info:build INLINE T max2 (T a, T b)
:info:build ^
While gcc-13 failed here #68 on ambiguous call, clang build fails much earlier.
Complete log:
ngsolve_Sonoma_clang.log
Sergey Fedorov commented
UPD. On the same system LLVM clang-17
builds this with no errors. So somehow the codebase is very compiler-sensitive.