ARMA_64BIT_WORD mismatch while compiling mlpack
envgap__mlpack__mlpack-2615
01 / FAILURE SIGNATURE
As reported upstream
LLVM ERROR: out of memory
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
5a41a3bcfc2ebcdd9e32d35d594e5b9f7e8c0dc2- Manifest
CMakeLists.txt- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
mlpack/mlpack #2615 · read the original issue
#### Issue description
I'm getting a build error on a 32-bit architecture, see https://buildd.debian.org/status/fetch.php?pkg=mlpack&arch=mipsel&ver=3.4.1-1&stamp=1599729345 and https://buildd.debian.org/status/package.php?p=mlpack for the most recent autobuild results on varoius architectures.
One possibly relevant bit:
```
[ 1%] Building CXX precompiled header src/mlpack/cotire/mlpack_CXX_prefix.hxx.pch
cd /<<PKGBUILDDIR>>/src/mlpack && /usr/bin/cmake -DCOTIRE_BUILD_TYPE:STRING=None -DCOTIRE_VERBOSE:BOOL=1 -P /<<PKGBUILDDIR>>/CMake/cotire.cmake precompile /<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/mlpack_CXX_cotire.cmake /<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/cotire/mlpack_CXX_prefix.hxx /<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/cotire/mlpack_CXX_prefix.hxx.pch /<<PKGBUILDDIR>>/src/mlpack/bindings/cli/print_help.cpp
-- execute_process: /usr/bin/clang++;-Dmlpack_EXPORTS;-DDEBUG;-DHAS_STB;-DBOOST_TEST_DYN_LINK;-D_FORTIFY_SOURCE=2;-g;-O2;-fdebug-prefix-map=/<<PKGBUILDDIR>>=.;-fstack-protector-strong;-Wformat;-Werror=format-security;-Wdate-time;-Wall;-Wextra;-ftemplate-depth=1000;-Wno-unused-function;-pthread;-g;-O0;-ftemplate-backtrace-limit=0;-Wno-unknown-pragmas;-std=gnu++11;-fPIC;-I/<<PKGBUILDDIR>>/src;-I/usr/include/stb;-I/<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/..;-x;c++-header;-c;/<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/cotire/mlpack_CXX_prefix.hxx;-o;/<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/cotire/mlpack_CXX_prefix.hxx.pch
In file included from /<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/cotire/mlpack_CXX_prefix.hxx:4:
In file included from /<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/cotire/mlpack_CXX_prefix.cxx:4:
In file included from /<<PKGBUILDDIR>>/src/mlpack/prereqs.hpp:125:
/<<PKGBUILDDIR>>/src/mlpack/core/util/arma_config_check.hpp:31:13: warning: mlpack was compiled with ARMA_64BIT_WORD, but you are compiling without ARMA_64BIT_WORD. This will almost certainly cause irreparable disaster. Either enable ARMA_64BIT_WORD in your application which is using mlpack, or, recompile mlpack against a version of Armadillo which has ARMA_64BIT_WORD disabled. [-W#pragma-messages]
#pragma message "mlpack was compiled with ARMA_64BIT_WORD, but you are \
^
1 warning generated.
```
There is also an out-of-memory event, not sure if that is a consequence of the above, or if memory-saving measures (like single-threaded build and all kinds of crazy compilation options) need to be enabled when compiling with clang.
```
LLVM ERROR: out of memory
Stack dump:
0. Program arguments: /usr/lib/llvm-9/bin/clang -cc1 -triple mipsel-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name cf_main.cpp -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu mips32r2 -target-feature -noabicalls -target-feature +fpxx -target-feature +nooddspreg -target-abi o32 -mfloat-abi hard -dwarf-column-info -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -coverage-notes-file /<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/methods/cf/CMakeFiles/mlpack_cf.dir/cf_main.cpp.gcno -resource-dir /usr/lib/llvm-9/lib/clang/9.0.1 -D BOOST_TEST_DYN_LINK -D DEBUG -D HAS_STB -I /<<PKGBUILDDIR>>/src -I /usr/include/stb -I /<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/.. -D _FORTIFY_SOURCE=2 -D BINDING_TYPE=BINDING_TYPE_CLI -internal-isystem /usr/bin/../lib/gcc/mipsel-linux-gnu/10/../../../../include/c++/10 -internal-isystem /usr/bin/../lib/gcc/mipsel-linux-gnu/10/../../../../include/mipsel-linux-gnu/c++/10 -internal-isystem /usr/bin/../lib/gcc/mipsel-linux-gnu/10/../../../../include/mipsel-linux-gnu/c++/10 -internal-isystem /usr/bin/../lib/gcc/mipsel-linux-gnu/10/../../../../include/c++/10/backward -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-9/lib/clang/9.0.1/include -internal-externc-isystem /usr/include/mipsel-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -Wformat -Werror=format-security -Wdate-time -Wall -Wextra -Wno-unused-function -Wno-unknown-pragmas -std=gnu++11 -fdeprecated-macro -fdebug-compilation-dir /<<PKGBUILDDIR>>/obj-mipsel-linux-gnu/src/mlpack/methods/cf -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -ftemplate-depth 1000 -ferror-limit 19 -ftemplate-backtrace-limit 0 -fmessage-length 0 -pthread -stack-protector 2 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -faddrsig -o CMakeFiles/mlpack_cf.dir/cf_main.cpp.o -x c++ /<<PKGBUILDDIR>>/src/mlpack/methods/cf/cf_main.cpp
1. <eof> parser at end of file
2. Code generation
/usr/lib/mipsel-linux-gnu/libLLVM-9.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x50)[0x7148fa74]
clang: error: unable to execute command: Aborted
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 9.0.1-14
Target: mipsel-unknown-linux-gnu
Thread model: posix
```
#### Your environment
* version of mlpack: 3.4.1
* operating system: Debian (sid) autobuilder chroot
* compiler: clang 9.0.1
* version of dependencies (Boost/Armadillo): 1.71.0
* any other environment information you think is relevant: architecture mipsel
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]