WebODM Server install errors

I have the paid version of the ubuntu server install, all was good and working until today when I tried to updated with the latest script. The script seems to have completed but I see these errors in the terminal:

raise RuntimeError(“Python version >= 3.5 required.”)
RuntimeError: Python version >= 3.5 required.
Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-VOmZX9/scipy/
sprintf(laszip_dll->error, “inconsistent number_of_point_records %u and extended_number_of_point_records %llu”, laszip_dll->header.number_of_point_records, laszip_dll->header.extended_number_of_point_records);
sprintf(laszip_dll->error, “inconsistent number_of_points_by_return[%u] %u and extended_number_of_points_by_return[%u] %llu”, i, laszip_dll->header.number_of_points_by_return[i], i, laszip_dll->header.extended_number_of_points_by_return[i]);
sprintf(laszip_dll->error, “extended_number_of_point_records of %llu is too much for 32-bit counters of compatibility mode”, laszip_dll->header.extended_number_of_point_records);
sprintf(laszip_dll->error, “seeking from index %lld to index %lld for file with %lld points”, laszip_dll->p_count, index, laszip_dll->npoints);
– C++ flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -O3 -DNDEBUG -DNDEBUG
– C++ flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -g -O0 -DDEBUG -D_DEBUG
– C flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -O3 -DNDEBUG -DNDEBUG
– C flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -g -O0 -DDEBUG -D_DEBUG
/code/SuperBuild/src/mvstexturing/elibs/mapmap/mapmap/source/graph.impl.h:29:18: fatal error: dset.h: No such file or directory
make[5]: *** [libs/tex/CMakeFiles/tex.dir/view_selection.cpp.o] Error 1
make[4]: *** [libs/tex/CMakeFiles/tex.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [mvstexturing/stamp/mvstexturing-build] Error 2
make[1]: *** [CMakeFiles/mvstexturing.dir/all] Error 2
make: *** [all] Error 2
CMake Error at modules/odm_georef/CMakeLists.txt:30 (find_package):
– Configuring incomplete, errors occurred!
See also “/code/build/CMakeFiles/CMakeError.log”.
Found another file with the destination path ‘app/js/components/ErrorMessage.jsx’. It will be ignored since only the first encountered file is collected. If this is not what you want, make sure every static file has a unique path.
Found another file with the destination path ‘app/js/components/tests/ErrorMessage.test.jsx’. It will be ignored since only the first encountered file is collected. If this is not what you want, make sure every static file has a unique path.
removed ‘plugins/measure/public/node_modules/lodash/isError.js’
removed ‘plugins/measure/public/node_modules/lodash/fp/isError.js’
If there are no errors, WebODM should be up and running!

in addition the CmakeError.log contains this:

Determining if the pthread_create exist failed with the following output:
Change Dir: /code/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" “cmTC_00dd2/fast”
/usr/bin/make -f CMakeFiles/cmTC_00dd2.dir/build.make CMakeFiles/cmTC_00dd2.dir/build
make[1]: Entering directory ‘/code/build/CMakeFiles/CMakeTmp’
Building C object CMakeFiles/cmTC_00dd2.dir/CheckSymbolExists.c.o
/usr/bin/cc -o CMakeFiles/cmTC_00dd2.dir/CheckSymbolExists.c.o -c /code/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_00dd2
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_00dd2.dir/link.txt --verbose=1
/usr/bin/cc CMakeFiles/cmTC_00dd2.dir/CheckSymbolExists.c.o -o cmTC_00dd2 -rdynamic
CMakeFiles/cmTC_00dd2.dir/CheckSymbolExists.c.o: In function main': CheckSymbolExists.c:(.text+0x16): undefined reference topthread_create’
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_00dd2.dir/build.make:97: recipe for target ‘cmTC_00dd2’ failed
make[1]: *** [cmTC_00dd2] Error 1
make[1]: Leaving directory ‘/code/build/CMakeFiles/CMakeTmp’
Makefile:126: recipe for target ‘cmTC_00dd2/fast’ failed
make: *** [cmTC_00dd2/fast] Error 2
File /code/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* /
#include <pthread.h>
int main(int argc, char
* argv){
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /code/build/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/make" “cmTC_10d7f/fast”
/usr/bin/make -f CMakeFiles/cmTC_10d7f.dir/build.make CMakeFiles/cmTC_10d7f.dir/build
make[1]: Entering directory ‘/code/build/CMakeFiles/CMakeTmp’
Building C object CMakeFiles/cmTC_10d7f.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_10d7f.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.5/Modules/CheckFunctionExists.c
Linking C executable cmTC_10d7f
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_10d7f.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_10d7f.dir/CheckFunctionExists.c.o -o cmTC_10d7f -rdynamic -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_10d7f.dir/build.make:97: recipe for target ‘cmTC_10d7f’ failed
make[1]: *** [cmTC_10d7f] Error 1
make[1]: Leaving directory ‘/code/build/CMakeFiles/CMakeTmp’
Makefile:126: recipe for target ‘cmTC_10d7f/fast’ failed
make: *** [cmTC_10d7f/fast] Error 2

after finishing I still tried to run a project but got this after uploading the images:

from opensfm.exif import sensor_string
ImportError: No module named opensfm.exif

it would be very problematic to have to do a clean install since I have many projects on this server.

HELP Please!!!

It’s a bit strange, did you run the script from a new SSH shell? Is it possible you were in a virtualenv environment when you ran it?

What’s the output of python --version?

Also, if you have a backup/snapshot of the machine it wouldn’t hurt to restore it.

yes everything was new, I brought it up from my AMI snapshot and then did a reboot before starting - definitely not in virtualenv. Unfortunately due to time restraints I had to kill the machine and start a new spot with my original AMI, which is now running the job successfully.
Once its done I can try again (third time). but it seems that there is some error with python or pip.
One more note ever since I first started this machine I’ve done a few updates based on the server script you provide, but I have never done an apt update as I rely that the server script will update what it needs. Is that correct?

On the machine that its currently running on (before trying the upgrade) the python --version is 2.7.12

Yeah there’s a apt update command in the script, so you shouldn’t need to do it manually.

The mapmap mvs-texturing error is something that I would expect to see if your Python installation migrated to 3.x. https://github.com/OpenDroneMap/mvs-texturing/compare/master...npcasler:master

yup so I didn’t do an apt - when I reran the AMI everything is working good, so can’t see how python would have been updated unless something in the script did that - seems like the python version is 2.7.12

At the next update, I would use the script as a reference and manually upgrade step by step instead of letting the script batch-execute all the commands. It would be easier to see which step might be causing the error.

Btw, the mapmap error was caused by another dependency update, but should be fixed now.

is it fixed on the script on the google drive? if so I will bring up a small instance and test it now

so tried running the script line by line - I see the first error already when doing reinstall on /code -

cd /code
git pull origin master
sudo bash configure.sh reinstall

I get an error on scipy:

Collecting scipy
Downloading https://files.pythonhosted.org/packages/cb/97/361c8c6ceb3eb765371a702ea873ff2fe112fa40073e7d2b8199db8eb56e/scipy-1.3.0.tar.gz (23.6MB)
100% |████████████████████████████████| 23.6MB 59kB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File “”, line 1, in
File “/tmp/pip-build-jiwazE/scipy/setup.py”, line 31, in
raise RuntimeError(“Python version >= 3.5 required.”)
RuntimeError: Python version >= 3.5 required.
----------------------------------------
Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-jiwazE/scipy/

the python version on the machine is: 2.7.12

Also should I be deleting /home/[user]/.cache before starting, cause I get warnings about it not being owned by current user and cache is disabled…

Mm, this might be because scipy has just been updated to 1.3.0 (which requires Python 3.x).

If you change this line in /code/configure.sh (https://github.com/OpenDroneMap/ODM/blob/master/configure.sh#L99) to:

pip install -U scipy==1.2.1 numpy==1.15.4 shapely pyproj https://github.com/OpenDroneMap/gippy/archive/numpyfix.zip psutil

Are you able to upgrade?

yes, with scipy 1.2.1 requirement is up to date, so no errors

1 Like