Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building for ARM64v8 gives mve errors #390

Closed
PeterSprague opened this issue Dec 14, 2017 · 4 comments
Closed

Building for ARM64v8 gives mve errors #390

PeterSprague opened this issue Dec 14, 2017 · 4 comments

Comments

@PeterSprague
Copy link

PeterSprague commented Dec 14, 2017

Building with arm64v8/ubuntu:16.04 base image for Docker as part of OpenDroneMap build

Gets compile errors from MVE:
Scanning dependencies of target ext_mve
[Build] [ 29%] Creating directories for 'ext_mve'
[Build] [ 31%] Performing download step (git clone) for 'ext_mve'
[Build] Cloning into 'mve'...
[Build] Already on 'master'
[Build] Your branch is up-to-date with 'origin/master'.
[Build] [ 33%] No patch step for 'ext_mve'
[Build] [ 35%] No update step for 'ext_mve'
[Build] [ 36%] No configure step for 'ext_mve'
[Build] [ 38%] Performing build step for 'ext_mve'
[Build] g++: error: unrecognized command line option '-msse2'
[Build] g++: error: unrecognized command line option '-msse3'
[Build] g++: error: unrecognized command line option '-msse4'
[Build] g++: error: unrecognized command line option '-mpopcnt'
[Build] g++: error: unrecognized command line option '-msse2'
[Build] g++: error: unrecognized command line option '-msse3'
[Build] g++: error: unrecognized command line option '-msse4'
[Build] g++: error: unrecognized command line option '-mpopcnt'
[Build] ../../Makefile.inc:29: recipe for target 'mesh_io_pbrt.o' failed
[Build] make[6]: *** [mesh_io_pbrt.o] Error 1
[Build] elibs/CMakeFiles/ext_mve.dir/build.make:111: recipe for target 'elibs/mve/src/ext_mve-stamp/ext_mve-build' failed
[Build] make[5]: *** [elibs/mve/src/ext_mve-stamp/ext_mve-build] Error 2
[Build] CMakeFiles/Makefile2:163: recipe for target 'elibs/CMakeFiles/ext_mve.dir/all' failed
[Build] make[4]: *** [elibs/CMakeFiles/ext_mve.dir/all] Error 2
[Build] Makefile:127: recipe for target 'all' failed
[Build] make[3]: *** [all] Error 2
[Build] CMakeFiles/mvstexturing.dir/build.make:113: recipe for target 'mvstexturing/stamp/mvstexturing-build' failed
[Build] make[2]: *** [mvstexturing/stamp/mvstexturing-build] Error 2
[Build] CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/mvstexturing.dir/all' failed
[Build] make[1]: *** [CMakeFiles/mvstexturing.dir/all] Error 2
[Build] Makefile:83: recipe for target 'all' failed
[Build] make: *** [all] Error 2
[Build] Removing intermediate container ae32708bdcd1
[Error] Build failed: The command '/bin/sh -c cd /code/SuperBuild && mkdir build && cd build && cmake .. && make' returned a non-zero code: 2

I believe they are related to amd64 vs arm64 compiler flags. See: https://stackoverflow.com/questions/10686638/whats-the-differrence-among-cflgs-sse-options-of-msse-msse2-mssse3-msse4#10687419
Need some sort of work-around if I want to use OpenDroneMap on ARM based field equipment.

@simonfuhrmann
Copy link
Owner

Is that because ARM doesn't support SSE? Try to remove the SSE flags from the Makefiles.

@PeterSprague
Copy link
Author

PeterSprague commented Dec 15, 2017

Commented out line-4 of Makefile.inc. Went through rest of makefiles, nothing obvious.

Now builds to this error:
[ 54%] Built target ext_mve
[Build] Scanning dependencies of target tex
[Build] [ 55%] Building CXX object libs/tex/CMakeFiles/tex.dir/build_adjacency_graph.cpp.o
[Build] c++: error: unrecognized command line option '-mfpmath=sse'
[Build] libs/tex/CMakeFiles/tex.dir/build.make:62: recipe for target 'libs/tex/CMakeFiles/tex.dir/build_adjacency_graph.cpp.o' failed

@simonfuhrmann
Copy link
Owner

Remove this SSE flag as well, because ARM doesn't support SSE.

@PeterSprague
Copy link
Author

Thanks, was being myopic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants