Open bjodah opened 6 years ago
Is this in llvm_double.cpp
?
It occurs when WITH_LLVM=ON
, but before compilation of that source file (look like during precompilation of the header file):
source tree in: /conda-bld/symengine_1525163530667/work
-- The C compiler identification is Clang 6.0.0
-- The CXX compiler identification is Clang 6.0.0
-- Check for working C compiler: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/bin/clang-6.0
-- Check for working C compiler: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/bin/clang-6.0 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/bin/clang++
-- Check for working CXX compiler: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found GMP: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libgmp.so
-- Found FLINT: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libflint.so
-- Found MPC: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libmpc.so
-- Found MPFR: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libmpfr.so
-- cotire 1.7.8 loaded.
-- CXX target symengine cotired.
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
--------------------------------------------------------------------------------
+-------------------------------+
| Configuration results SUMMARY |
+-------------------------------+
CMAKE_C_COMPILER: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/bin/clang-6.0
CMAKE_CXX_COMPILER: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/bin/clang++
CMAKE_BUILD_TYPE: Release
CMAKE_CONFIGURATION_TYPES:
CMAKE_CXX_FLAGS_DEBUG: -Wall -Wextra -Wno-unused-parameter -g -ggdb -std=c++11 -fPIC -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wno-unknown-pragmas
CMAKE_CXX_FLAGS_RELEASE: -Wall -Wextra -Wno-unused-parameter -O3 -ffast-math -funroll-loops -std=c++11 -fPIC -D__extern_always_inline=inline -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DNDEBUG -Wno-unknown-pragmas
CMAKE_INSTALL_PREFIX: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla
BUILD_SHARED_LIBS: yes
INTEGER_CLASS : FLINT
HAVE_SYMENGINE_GMP: yes
WITH_SYMENGINE_ASSERT: no
WITH_SYMENGINE_RCP: yes
WITH_SYMENGINE_TEUCHOS: no
WITH_COTIRE: yes
HAVE_GCC_ABI_DEMANGLE: yes
HAVE_C_FUNCTION_NOT_FUNC: no
HAVE_DEFAULT_CONSTRUCTORS: yes
HAVE_SYMENGINE_NOEXCEPT: yes
HAVE_SYMENGINE_IS_CONSTRUCTIBLE: yes
HAVE_SYMENGINE_RESERVE: yes
HAVE_SYMENGINE_STD_TO_STRING: TRUE
WITH_SYMENGINE_THREAD_SAFE: yes
BUILD_TESTS: yes
BUILD_BENCHMARKS: no
BUILD_BENCHMARKS_NONIUS: no
WITH_GMP: yes
GMP_INCLUDE_DIRS: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include
GMP_LIBRARIES: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libgmp.so
WITH_BFD: no
WITH_ECM: no
WITH_PRIMESIEVE: no
WITH_FLINT: yes
FLINT_INCLUDE_DIRS: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include
FLINT_LIBRARIES: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libflint.so
WITH_ARB: no
WITH_MPFR: yes
MPFR_INCLUDE_DIRS: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include
MPFR_LIBRARIES: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libmpfr.so
WITH_PIRANHA: no
WITH_LLVM: yes
LLVM_INCLUDE_DIRS: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include
WITH_BOOST: no
WITH_PTHREAD: no
WITH_MPC: yes
MPC_INCLUDE_DIRS: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include
MPC_LIBRARIES: /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/libmpc.so
WITH_TCMALLOC: no
WITH_OPENMP: no
WITH_VIRTUAL_TYPEID: no
--------------------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /conda-bld/symengine_1525163530667/work/build
[ 1%] Generating CXX unity source symengine/cotire/symengine_CXX_unity.cxx
[ 1%] Generating CXX prefix source symengine/cotire/symengine_CXX_prefix.cxx
[ 2%] Generating CXX prefix header symengine/cotire/symengine_CXX_prefix.hxx
[ 3%] Building CXX precompiled header symengine/cotire/symengine_CXX_prefix.hxx.pch
In file included from /conda-bld/symengine_1525163530667/work/build/symengine/cotire/symengine_CXX_prefix.hxx:4:
In file included from /conda-bld/symengine_1525163530667/work/build/symengine/cotire/symengine_CXX_prefix.cxx:28:
In file included from /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/llvm/ExecutionEngine/ExecutionEngine.h:25:
In file included from /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/llvm/IR/DataLayout.h:27:
In file included from /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/llvm/IR/DerivedTypes.h:24:
In file included from /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/llvm/IR/Type.h:18:
In file included from /conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/llvm/ADT/APFloat.h:20:
/conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/llvm/ADT/APInt.h:81:25: error: expected member name or ';' after declaration specifiers
static const WordType WORD_MAX = ~WordType(0);
~~~~~~~~~~~~~~~~~~~~~ ^
/conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/flint/flint.h:122:18: note: expanded from macro 'WORD_MAX'
#define WORD_MAX LONG_MAX
^
/conda-bld/symengine_1525163530667/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/lib/clang/6.0.0/include/limits.h:63:19: note: expanded from macro 'LONG_MAX'
#define LONG_MAX __LONG_MAX__
^
<built-in>:68:22: note: expanded from here
#define __LONG_MAX__ 9223372036854775807L
^
1 error generated.
CMake Error at /conda-bld/symengine_1525163530667/work/cmake/cotire.cmake:1826 (message):
cotire: error 1 precompiling
/conda-bld/symengine_1525163530667/work/build/symengine/cotire/symengine_CXX_prefix.hxx.
Call Stack (most recent call first):
/conda-bld/symengine_1525163530667/work/cmake/cotire.cmake:3421 (cotire_precompile_prefix_header)
gmake[2]: *** [symengine/cotire/symengine_CXX_prefix.hxx.pch] Error 1
gmake[1]: *** [symengine/CMakeFiles/symengine.dir/all] Error 2
gmake: *** [all] Error 2
Traceback (most recent call last):
File "/opt/conda/bin/conda-build", line 6, in <module>
sys.exit(conda_build.cli.main_build.main())
File "/opt/conda/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 420, in main
execute(sys.argv[1:])
File "/opt/conda/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 411, in execute
verify=args.verify)
File "/opt/conda/lib/python3.6/site-packages/conda_build/api.py", line 199, in build
notest=notest, need_source_download=need_source_download, variants=variants)
File "/opt/conda/lib/python3.6/site-packages/conda_build/build.py", line 2105, in build_tree
notest=notest,
File "/opt/conda/lib/python3.6/site-packages/conda_build/build.py", line 1377, in build
utils.check_call_env(cmd, env=env, cwd=src_dir, stats=build_stats)
File "/opt/conda/lib/python3.6/site-packages/conda_build/utils.py", line 301, in check_call_env
return _func_defaulting_env_to_os_environ('call', *popenargs, **kwargs)
File "/opt/conda/lib/python3.6/site-packages/conda_build/utils.py", line 280, in _func_defaulting_env_to_os_environ
raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['/bin/bash', '-e', '/conda-bld/symengine_1525163530667/work/conda_build.sh']' returned non-zero exit status 2.
Can you show the error log without cotire? cmake -DWITH_COTIRE=no
?
Disabling cotire (https://github.com/bjodah/symengine-feedstock/commit/95ff469fc3af8ac892b706f8c28199b1baf719a7) seems like it solves this particular issue. I get a linking error but it looks completely unrelated to flint:
[ 40%] Linking CXX executable test_rcp
../../libsymengine.so.0.3.0: undefined reference to `llvm::createCFGSimplificationPass(unsigned int, bool, bool, bool, bool, std::__1::function<bool (llvm::Function const&)>)'
../../libsymengine.so.0.3.0: undefined reference to `llvm::EngineBuilder::EngineBuilder(std::__1::unique_ptr<llvm::Module, std::__1::default_delete<llvm::Module> >)'
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
Can you post the output of make VERBOSE=1
?
LLVM itself was compiled with libstdc++
on conda-forge and you are compiling symengine with libc++
.
I see. So it's unrelated as I suspected. I don't think I'll dig into that issue specifically though. But good to know that disabling cotire can act as a work around for the name collision between flint & LLVM.
You can remove the line at https://github.com/bjodah/symengine-feedstock/commit/95ff469fc3af8ac892b706f8c28199b1baf719a7#diff-44a73bcc045c193c3bd45da87994b03bR8 to fix it.
I'll keep this issue open to disable cotire when flint and llvm are both enabled.
flint seem to be defining a macro "WORD_MAX" which causes problems when LLVM headers are included:
Don't know what the best way is to deal with this, maybe:
FLINT_
prefix on all their macrosFor now I'll just build without flint.