tapkee icon indicating copy to clipboard operation
tapkee copied to clipboard

Crashes when building with MinGW

Open skn123 opened this issue 11 years ago • 3 comments

When I enable the VexCL examples, the program fails to build and says that "too much memory", cannot compile and it crashes. Here is the build output

10:58:30 *** Build of project Tapkee-Release@tapkee **** "C:\TDM-GCC-64\bin\mingw32-make.exe" -C E:/Binaries_MinGW/tapkee tapkee_cli mingw32-make: Entering directory 'E:/Binaries_MinGW/tapkee' "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -HE:\Sources\tapkee-master -BE:\Binaries_MinGW\tapkee --check-build-system CMakeFiles\Makefile.cmake 0 C:/TDM-GCC-64/bin/mingw32-make -f CMakeFiles\Makefile2 tapkee_cli mingw32-make[1]: Entering directory 'E:/Binaries_MinGW/tapkee' "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -HE:\Sources\tapkee-master -BE:\Binaries_MinGW\tapkee --check-build-system CMakeFiles\Makefile.cmake 0 "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E cmake_progress_start E:\Binaries_MinGW\tapkee\CMakeFiles 1 C:/TDM-GCC-64/bin/mingw32-make -f CMakeFiles\Makefile2 CMakeFiles/tapkee_cli.dir/all mingw32-make[2]: Entering directory 'E:/Binaries_MinGW/tapkee' C:/TDM-GCC-64/bin/mingw32-make -f CMakeFiles\tapkee_cli.dir\build.make CMakeFiles/tapkee_cli.dir/depend mingw32-make[3]: Entering directory 'E:/Binaries_MinGW/tapkee' "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E cmake_depends "MinGW Makefiles" E:\Sources\tapkee-master E:\Sources\tapkee-master E:\Binaries_MinGW\tapkee E:\Binaries_MinGW\tapkee E:\Binaries_MinGW\tapkee\CMakeFiles\tapkee_cli.dir\DependInfo.cmake --color= mingw32-make[3]: Leaving directory 'E:/Binaries_MinGW/tapkee' C:/TDM-GCC-64/bin/mingw32-make -f CMakeFiles\tapkee_cli.dir\build.make CMakeFiles/tapkee_cli.dir/build mingw32-make[3]: Entering directory 'E:/Binaries_MinGW/tapkee' "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E cmake_progress_report E:\Binaries_MinGW\tapkee\CMakeFiles 4 [100%] Building CXX object CMakeFiles/tapkee_cli.dir/src/cli/main.cpp.obj C:\TDM-GCC-64\bin\g++.exe -DTAPKEE_WITH_VIENNACL -fopenmp -Wall -Wextra -pedantic -Wno-long-long -Wshadow -O3 -DNDEBUG @CMakeFiles/tapkee_cli.dir/includes_CXX.rsp -o CMakeFiles\tapkee_cli.dir\src\cli\main.cpp.obj -c E:\Sources\tapkee-master\src\cli\main.cpp In file included from E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/backend/mem_handle.hpp:28:0, from E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/backend/memory.hpp:28, from E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:28, from E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp:26, from E:/Sources/tapkee-master/include/tapkee/routines/matrix_operations.hpp:16, from E:/Sources/tapkee-master/include/tapkee/routines/eigendecomposition.hpp:19, from E:/Sources/tapkee-master/include/tapkee/routines/locally_linear.hpp:10, from E:/Sources/tapkee-master/include/tapkee/methods.hpp:18, from E:/Sources/tapkee-master/include/tapkee/embed.hpp:11, from E:/Sources/tapkee-master/include/tapkee/tapkee.hpp:10, from E:\Sources\tapkee-master\src\cli\main.cpp:6: E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/tools/shared_ptr.hpp: In constructor 'viennacl::tools::detail::count::count(unsigned int)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/tools/shared_ptr.hpp:42:35: warning: declaration of 'val' shadows a member of 'this' [-Wshadow] count(unsigned int val) : val_(val){ } ^ In file included from E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp:26:0, from E:/Sources/tapkee-master/include/tapkee/routines/matrix_operations.hpp:16, from E:/Sources/tapkee-master/include/tapkee/routines/eigendecomposition.hpp:19, from E:/Sources/tapkee-master/include/tapkee/routines/locally_linear.hpp:10, from E:/Sources/tapkee-master/include/tapkee/methods.hpp:18, from E:/Sources/tapkee-master/include/tapkee/embed.hpp:11, from E:/Sources/tapkee-master/include/tapkee/tapkee.hpp:10, from E:\Sources\tapkee-master\src\cli\main.cpp:6: E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp: In constructor 'viennacl::scalar_expression<LHS, RHS, OP>::scalar_expression(LHS&, RHS&)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:53:49: warning: declaration of 'rhs' shadows a member of 'this' [-Wshadow] scalar_expression(LHS & lhs, RHS & rhs) : lhs_(lhs), rhs_(rhs) {} ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:53:49: warning: declaration of 'lhs' shadows a member of 'this' [-Wshadow] E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp: In constructor 'viennacl::scalar_expression<LHS, RHS, viennacl::op_inner_prod>::scalar_expression(LHS&, RHS&)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:88:49: warning: declaration of 'rhs' shadows a member of 'this' [-Wshadow] scalar_expression(LHS & lhs, RHS & rhs) : lhs_(lhs), rhs_(rhs) {} ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:88:49: warning: declaration of 'lhs' shadows a member of 'this' [-Wshadow] E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp: In constructor 'viennacl::scalar_expression<LHS, RHS, viennacl::op_norm_1>::scalar_expression(LHS&, RHS&)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:121:49: warning: declaration of 'rhs' shadows a member of 'this' [-Wshadow] scalar_expression(LHS & lhs, RHS & rhs) : lhs_(lhs), rhs_(rhs) {} ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:121:49: warning: declaration of 'lhs' shadows a member of 'this' [-Wshadow] E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp: In constructor 'viennacl::scalar_expression<LHS, RHS, viennacl::op_norm_2>::scalar_expression(LHS&, RHS&)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:153:49: warning: declaration of 'rhs' shadows a member of 'this' [-Wshadow] scalar_expression(LHS & lhs, RHS & rhs) : lhs_(lhs), rhs_(rhs) {} ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:153:49: warning: declaration of 'lhs' shadows a member of 'this' [-Wshadow] E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp: In constructor 'viennacl::scalar_expression<LHS, RHS, viennacl::op_norm_inf>::scalar_expression(LHS&, RHS&)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:186:49: warning: declaration of 'rhs' shadows a member of 'this' [-Wshadow] scalar_expression(LHS & lhs, RHS & rhs) : lhs_(lhs), rhs_(rhs) {} ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:186:49: warning: declaration of 'lhs' shadows a member of 'this' [-Wshadow] E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp: In constructor 'viennacl::scalar_expression<LHS, RHS, viennacl::op_norm_frobenius>::scalar_expression(LHS&, RHS&)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:218:49: warning: declaration of 'rhs' shadows a member of 'this' [-Wshadow] scalar_expression(LHS & lhs, RHS & rhs) : lhs_(lhs), rhs_(rhs) {} ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/scalar.hpp:218:49: warning: declaration of 'lhs' shadows a member of 'this' [-Wshadow] In file included from E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp:27:0, from E:/Sources/tapkee-master/include/tapkee/routines/matrix_operations.hpp:16, from E:/Sources/tapkee-master/include/tapkee/routines/eigendecomposition.hpp:19, from E:/Sources/tapkee-master/include/tapkee/routines/locally_linear.hpp:10, from E:/Sources/tapkee-master/include/tapkee/methods.hpp:18, from E:/Sources/tapkee-master/include/tapkee/embed.hpp:11, from E:/Sources/tapkee-master/include/tapkee/tapkee.hpp:10, from E:\Sources\tapkee-master\src\cli\main.cpp:6: E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/vector.hpp: In constructor 'viennacl::const_vector_iterator<SCALARTYPE, ALIGNMENT>::const_vector_iterator(const viennacl::vector_base<T>&, viennacl::vcl_size_t, viennacl::vcl_size_t, viennacl::vcl_ptrdiff_t)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/vector.hpp:234:55: warning: declaration of 'stride' shadows a member of 'this' [-Wshadow] vcl_ptrdiff_t stride = 1) : elements_(vec.handle()), index_(index), start_(start), stride_(stride) {} ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/vector.hpp: In constructor 'viennacl::const_vector_iterator<SCALARTYPE, ALIGNMENT>::const_vector_iterator(const handle_type&, viennacl::vcl_size_t, viennacl::vcl_size_t, viennacl::vcl_ptrdiff_t)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/vector.hpp:245:55: warning: declaration of 'stride' shadows a member of 'this' [-Wshadow] vcl_ptrdiff_t stride = 1) : elements_(elements), index_(index), start_(start), stride_(stride) {} ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/vector.hpp: In constructor 'viennacl::vector_base<SCALARTYPE, SizeType, DistanceType>::vector_base(SCALARTYPE, viennacl::memory_types, viennacl::vector_base<SCALARTYPE, SizeType, DistanceType>::size_type, viennacl::vcl_size_t, viennacl::vector_base<SCALARTYPE, SizeType, DistanceType>::difference_type)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/vector.hpp:408:9: warning: declaration of 'stride' shadows a member of 'this' [-Wshadow] : size_(vec_size), start_(start), stride_(stride), internal_size_(vec_size) ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/vector.hpp:408:9: warning: declaration of 'start' shadows a member of 'this' [-Wshadow] E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/vector.hpp: In member function 'void viennacl::vector_base<SCALARTYPE, SizeType, DistanceType>::pad()': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/vector.hpp:916:39: warning: declaration of 'pad' shadows a member of 'this' [-Wshadow] std::vector<SCALARTYPE> pad(internal_size() - size()); ^ In file included from E:/Sources/tapkee-master/include/tapkee/routines/matrix_operations.hpp:16:0, from E:/Sources/tapkee-master/include/tapkee/routines/eigendecomposition.hpp:19, from E:/Sources/tapkee-master/include/tapkee/routines/locally_linear.hpp:10, from E:/Sources/tapkee-master/include/tapkee/methods.hpp:18, from E:/Sources/tapkee-master/include/tapkee/embed.hpp:11, from E:/Sources/tapkee-master/include/tapkee/tapkee.hpp:10, from E:\Sources\tapkee-master\src\cli\main.cpp:6: E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp: In constructor 'viennacl::implicit_matrix_base<SCALARTYPE>::implicit_matrix_base(viennacl::implicit_matrix_base<SCALARTYPE>::size_type, viennacl::implicit_matrix_base<SCALARTYPE>::size_type, std::pair<SCALARTYPE, bool>, bool)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp:48:108: warning: declaration of 'diag' shadows a member of 'this' [-Wshadow] implicit_matrix_base(size_type size1, size_type size2, std::pair<SCALARTYPE, bool> value, bool diag) : size1_(size1), size2_(size2), value_(value), diag_(diag){ } ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp:48:108: warning: declaration of 'value' shadows a member of 'this' [-Wshadow] E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp:48:108: warning: declaration of 'size2' shadows a member of 'this' [-Wshadow] E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp:48:108: warning: declaration of 'size1' shadows a member of 'this' [-Wshadow] In file included from E:/Sources/tapkee-master/include/tapkee/routines/matrix_operations.hpp:16:0, from E:/Sources/tapkee-master/include/tapkee/routines/eigendecomposition.hpp:19, from E:/Sources/tapkee-master/include/tapkee/routines/locally_linear.hpp:10, from E:/Sources/tapkee-master/include/tapkee/methods.hpp:18, from E:/Sources/tapkee-master/include/tapkee/embed.hpp:11, from E:/Sources/tapkee-master/include/tapkee/tapkee.hpp:10, from E:\Sources\tapkee-master\src\cli\main.cpp:6: E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp: In constructor 'viennacl::matrix_expression<LHS, RHS, OP>::matrix_expression(LHS&, RHS&)': E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp:170:47: warning: declaration of 'rhs' shadows a member of 'this' [-Wshadow] matrix_expression(LHS & lhs, RHS & rhs) : lhs_(lhs), rhs_(rhs) {} ^ E:/ThirdPartyLibraries_MinGW/64Bit/ViennaCL/include/viennacl/matrix.hpp:170:47: warning: declaration of 'lhs' shadows a member of 'this' [-Wshadow]

cc1plus.exe: out of memory allocating 359557 bytes CMakeFiles\tapkee_cli.dir\build.make:57: recipe for target 'CMakeFiles/tapkee_cli.dir/src/cli/main.cpp.obj' failed mingw32-make[3]: *** [CMakeFiles/tapkee_cli.dir/src/cli/main.cpp.obj] Error 1 mingw32-make[3]: Leaving directory 'E:/Binaries_MinGW/tapkee' mingw32-make[2]: *** [CMakeFiles/tapkee_cli.dir/all] Error 2 CMakeFiles\Makefile2:62: recipe for target 'CMakeFiles/tapkee_cli.dir/all' failed mingw32-make[1]: *** [CMakeFiles/tapkee_cli.dir/rule] Error 2 mingw32-make: *** [tapkee_cli] Error 2 mingw32-make[2]: Leaving directory 'E:/Binaries_MinGW/tapkee' CMakeFiles\Makefile2:74: recipe for target 'CMakeFiles/tapkee_cli.dir/rule' failed mingw32-make[1]: Leaving directory 'E:/Binaries_MinGW/tapkee' Makefile:149: recipe for target 'tapkee_cli' failed mingw32-make: Leaving directory 'E:/Binaries_MinGW/tapkee'

10:58:34 Build Finished (took 4s.220ms)

skn123 avatar May 06 '14 03:05 skn123

Thanks for reporting! It seems that the problem is caused by some compiler bug or so but I'll try to find a workaround

lisitsyn avatar May 06 '14 08:05 lisitsyn

Hey! Just wanted to clarify - does it work w/o opencl (viennacl)?

lisitsyn avatar May 21 '14 12:05 lisitsyn

Nope it doesn't. I think the code may need to refactored into smaller chunks as all the methods are coming up in a single file :)

-------------- Build: all in Tapkee (compiler: GNU GCC Compiler)---------------

Running command: E:/Program_Files/TDM-GCC-64/bin/mingw32-make.exe -f "F:/Binaries/MinGW/tapkee/Makefile" VERBOSE=1 all "E:\Program_Files\CMake 2.8\bin\cmake.exe" -HF:\Sources\tapkee -BF:\Binaries\MinGW\tapkee --check-build-system CMakeFiles\Makefile.cmake 0 "E:\Program_Files\CMake 2.8\bin\cmake.exe" -E cmake_progress_start F:\Binaries\MinGW\tapkee\CMakeFiles F:\Binaries\MinGW\tapkee\CMakeFiles\progress.marks E:/Program_Files/TDM-GCC-64/bin/mingw32-make.exe -f CMakeFiles\Makefile2 all mingw32-make.exe[1]: Entering directory 'F:/Binaries/MinGW/tapkee' E:/Program_Files/TDM-GCC-64/bin/mingw32-make.exe -f CMakeFiles\tapkee_cli.dir\build.make CMakeFiles/tapkee_cli.dir/depend mingw32-make.exe[2]: Entering directory 'F:/Binaries/MinGW/tapkee' "E:\Program_Files\CMake 2.8\bin\cmake.exe" -E cmake_depends "MinGW Makefiles" F:\Sources\tapkee F:\Sources\tapkee F:\Binaries\MinGW\tapkee F:\Binaries\MinGW\tapkee F:\Binaries\MinGW\tapkee\CMakeFiles\tapkee_cli.dir\DependInfo.cmake --color= Dependee "F:\Binaries\MinGW\tapkee\CMakeFiles\tapkee_cli.dir\DependInfo.cmake" is newer than depender "F:/Binaries/MinGW/tapkee/CMakeFiles/tapkee_cli.dir/depend.internal". Dependee "F:/Binaries/MinGW/tapkee/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "F:/Binaries/MinGW/tapkee/CMakeFiles/tapkee_cli.dir/depend.internal". Scanning dependencies of target tapkee_cli mingw32-make.exe[2]: Leaving directory 'F:/Binaries/MinGW/tapkee' E:/Program_Files/TDM-GCC-64/bin/mingw32-make.exe -f CMakeFiles\tapkee_cli.dir\build.make CMakeFiles/tapkee_cli.dir/build mingw32-make.exe[2]: Entering directory 'F:/Binaries/MinGW/tapkee' "E:\Program_Files\CMake 2.8\bin\cmake.exe" -E cmake_progress_report F:\Binaries\MinGW\tapkee\CMakeFiles 4 [ 25%] Building CXX object CMakeFiles/tapkee_cli.dir/src/cli/main.cpp.obj E:\Program_Files\TDM-GCC-64\bin\g++.exe -DTAPKEE_USE_LGPL_COVERTREE -fopenmp -Wall -Wextra -pedantic -Wno-long-long -Wshadow -O3 -DNDEBUG @CMakeFiles/tapkee_cli.dir/includes_CXX.rsp -o CMakeFiles\tapkee_cli.dir\src\cli\main.cpp.obj -c F:\Sources\tapkee\src\cli\main.cpp cc1plus.exe: out of memory allocating 65536 bytes mingw32-make.exe[2]: *** [CMakeFiles/tapkee_cli.dir/src/cli/main.cpp.obj] Error 1 mingw32-make.exe[1]: *** [CMakeFiles/tapkee_cli.dir/all] Error 2 mingw32-make.exe: *** [all] Error 2 CMakeFiles\tapkee_cli.dir\build.make:57: recipe for target 'CMakeFiles/tapkee_cli.dir/src/cli/main.cpp.obj' failed mingw32-make.exe[2]: Leaving directory 'F:/Binaries/MinGW/tapkee' CMakeFiles\Makefile2:62: recipe for target 'CMakeFiles/tapkee_cli.dir/all' failed mingw32-make.exe[1]: Leaving directory 'F:/Binaries/MinGW/tapkee' F:/Binaries/MinGW/tapkee/Makefile:115: recipe for target 'all' failed Process terminated with status 2 (0 minute(s), 30 second(s)) 3 error(s), 0 warning(s) (0 minute(s), 30 second(s))

skn123 avatar May 21 '14 14:05 skn123

Nope it doesn't. I think the code may need to refactored into smaller chunks as all the methods are coming up in a single file :)

I have built with MinGW (using i686-w64-mingw32-g++) on Cygwin and run tapkee.exe on Windows 10 (doing .\tapkee -i mml.txt on PowerShell, which finishes quickly with a "Some error occured: Not enough memory", even though RAM consumption didn't exceed 35%). Note that fmt build using the same MinGW compiler appears required.

iglesias avatar May 05 '24 07:05 iglesias

Ah, I almost forgot, I used -static to avoid missing dll errors.

iglesias avatar May 05 '24 07:05 iglesias