KratosMultiphysics / Kratos

Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
https://kratosmultiphysics.github.io/Kratos/
Other
1.01k stars 244 forks source link

Kratos does not compile under Windows since Initial Strain update #8326

Closed tteschemacher closed 3 years ago

tteschemacher commented 3 years ago

Hey,

since today KRATOS doesn't compile on my windows machine anymore.

It has a linking error coming from the introduction of the InitialStrainVector.

Beginning of error log: 1> Creating library C:/Users/s4618455/Documents/KRATOS/k_trim/Kratos/build/Release/kratos/Release/KratosCore.lib and object C:/Users/s4618455/Documents/KRATOS/k_trim/Kratos/build/Release/kratos/Release/KratosCore.exp 1>LINK : warning LNK4217: symbol '?GetBuildType@Kratos@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ (class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Kratos::GetBuildType(void))' defined in 'kratos_version.obj' is imported by 'kernel.obj' in function '"public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Kratos::Kernel::BuildType(void)" (?BuildType@Kernel@Kratos@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)' 1>LINK : warning LNK4217: symbol '?GetVersionString@Kratos@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ (class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Kratos::GetVersionString(void))' defined in 'kratos_version.obj' is imported by 'kernel.obj' in function '"public: void __cdecl Kratos::Kernel::Initialize(void)" (?Initialize@Kernel@Kratos@@QEAAXXZ)' 1>LINK : warning LNK4286: symbol '?GetVersionString@Kratos@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ (class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Kratos::GetVersionString(void))' defined in 'kratos_version.obj' is imported by 'logger_output.obj' 1>test_element.cpp.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_properties.cpp.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_element.cpp.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_result_database.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_sensitivity_builder.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_sparse_matrix_mutiplication_utilities.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_svd_utils.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_divide_triangle_2d_3.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_element_size_calculator.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_embedded_skin_utility.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_geometry_utils.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_curve_tessellation.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_delaunator_utilities.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_discont_utils.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_divide_tetrahedra_3d_4.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_assign_unique_model_part_collection_tag_utility.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_auxiliar_model_part_utilities.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_binbased_fast_point_locator.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_brute_force_point_locator.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_residual_based_adjoint_bossak_scheme.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_schemes.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_explicit_strategies.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_strategies.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_geometrical_objects_bins.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_builder_and_solver.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_explicit_builder_and_solver.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_mixed_generic_criteria.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_serializer_geometry_data.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_shape_function_derivatives.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_kratos_space.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_ublas_space.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_linear_master_slave_constraint.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_model_part.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_model_part_io.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_node.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_compare_elements_and_conditions_utility.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_condition.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ) 1>test_constraint.obj : error LNK2001: unresolved external symbol "public: class boost::numeric::ublas::vector<double,class boost::numeric::ublas::unbounded_array<double,class std::allocator<double> > > const & __cdecl Kratos::InitialState::GetInitialStrainVector(void)const " (?GetInitialStrainVector@InitialState@Kratos@@QEBAAEBV?$vector@NV?$unbounded_array@NV?$allocator@N@std@@@ublas@numeric@boost@@@ublas@numeric@boost@@XZ)

AlejandroCornejo commented 3 years ago

Hi! Van you try a clean compilation? It happened to me as well and I had to remove the compilation old folder

tteschemacher commented 3 years ago

OK, I will give it a try. But what is the reason for this then?

philbucher commented 3 years ago

OK, I will give it a try. But what is the reason for this then?

larger changes sometimes confuse the compiler, this is annoying but generally nothing to worry about, esp if it works with a clean installation

philbucher commented 3 years ago

does it work now @tteschemacher ?

tteschemacher commented 3 years ago

Indeed, it compiles. Thanks guys.