/code/SuperBuild/install/bin/opensfm/bin/opensfm: line 12: python: command not found


I don’t seem to find a credible solution to this problem. Some mention of bad data causing this but I am running the job with a tested dataset and it still fails.

Running WebODM (WebODM 1.9.6) in Windows 10, using Docker Toolbox.
Allocated 4 cores to the VM and 12 Gb RAM
Browser: Latest version of Chrome for windows

Using the Waterbury dataset:

Default settings when running the job.

The log follows below:

[INFO] Initializing ODM - Wed Sep 08 10:48:15 2021
[INFO] ==============
[INFO] build_overviews: False
[INFO] camera_lens: auto
[INFO] cameras: {}
[INFO] cog: True
[INFO] copy_to: None
[INFO] crop: 3
[INFO] debug: False
[INFO] dem_decimation: 1
[INFO] dem_euclidean_map: False
[INFO] dem_gapfill_steps: 3
[INFO] dem_resolution: 5
[INFO] depthmap_resolution: 640
[INFO] dsm: False
[INFO] dtm: False
[INFO] end_with: odm_postprocess
[INFO] fast_orthophoto: False
[INFO] feature_quality: high
[INFO] feature_type: sift
[INFO] force_gps: False
[INFO] gcp: None
[INFO] geo: None
[INFO] gps_accuracy: 10
[INFO] ignore_gsd: False
[INFO] matcher_distance: 0
[INFO] matcher_neighbors: 8
[INFO] matcher_type: flann
[INFO] max_concurrency: 4
[INFO] merge: all
[INFO] mesh_octree_depth: 11
[INFO] mesh_size: 200000
[INFO] min_num_features: 8000
[INFO] name: 7f5e3d94-ae22-4891-9c3d-6f5c9d05c357
[INFO] optimize_disk_space: False
[INFO] orthophoto_compression: DEFLATE
[INFO] orthophoto_cutline: False
[INFO] orthophoto_kmz: False
[INFO] orthophoto_no_tiled: False
[INFO] orthophoto_png: False
[INFO] orthophoto_resolution: 5
[INFO] pc_classify: False
[INFO] pc_csv: False
[INFO] pc_ept: True
[INFO] pc_filter: 2.5
[INFO] pc_geometric: False
[INFO] pc_las: False
[INFO] pc_quality: medium
[INFO] pc_rectify: False
[INFO] pc_sample: 0
[INFO] pc_tile: False
[INFO] primary_band: auto
[INFO] project_path: /var/www/data
[INFO] radiometric_calibration: none
[INFO] rerun: None
[INFO] rerun_all: False
[INFO] rerun_from: None
[INFO] resize_to: 2048
[INFO] skip_3dmodel: False
[INFO] skip_band_alignment: False
[INFO] skip_report: False
[INFO] sm_cluster: None
[INFO] smrf_scalar: 1.25
[INFO] smrf_slope: 0.15
[INFO] smrf_threshold: 0.5
[INFO] smrf_window: 18.0
[INFO] split: 999999
[INFO] split_image_groups: None
[INFO] split_overlap: 150
[INFO] texturing_data_term: gmi
[INFO] texturing_keep_unseen_faces: False
[INFO] texturing_outlier_removal_type: gauss_clamping
[INFO] texturing_skip_global_seam_leveling: False
[INFO] texturing_skip_local_seam_leveling: False
[INFO] texturing_tone_mapping: none
[INFO] tiles: False
[INFO] time: False
[INFO] use_3dmesh: False
[INFO] use_exif: False
[INFO] use_fixed_camera_params: False
[INFO] use_hybrid_bundle_adjustment: False
[INFO] verbose: False
[INFO] ==============
[INFO] Running dataset stage
[INFO] Loading dataset from: /var/www/data/7f5e3d94-ae22-4891-9c3d-6f5c9d05c357/images
[INFO] Loading 248 images
[INFO] Wrote images database: /var/www/data/7f5e3d94-ae22-4891-9c3d-6f5c9d05c357/images.json
[INFO] Found 248 usable images
[INFO] Parsing SRS header: WGS84 UTM 18N
[INFO] Finished dataset stage
[INFO] Running split stage
[INFO] Normal dataset, will process all at once.
[INFO] Finished split stage
[INFO] Running merge stage
[INFO] Normal dataset, nothing to merge.
[INFO] Finished merge stage
[INFO] Running opensfm stage
[INFO] Writing exif overrides
[INFO] Maximum photo dimensions: 2048px
[INFO] Photo dimensions for feature extraction: 1024px
[INFO] Altitude data detected, enabling it for GPS alignment
[INFO] [‘use_exif_size: no’, ‘flann_algorithm: KDTREE’, ‘feature_process_size: 1024’, ‘feature_min_frames: 8000’, ‘processes: 4’, ‘matching_gps_neighbors: 8’, ‘matching_gps_distance: 0’, ‘optimize_camera_parameters: yes’, ‘undistorted_image_format: tif’, ‘bundle_outlier_filtering_type: AUTO’, ‘sift_peak_threshold: 0.066’, ‘align_orientation_prior: vertical’, ‘triangulation_type: ROBUST’, ‘retriangulation_ratio: 2’, ‘feature_type: SIFT’, ‘use_altitude_tag: yes’, ‘align_method: auto’, ‘local_bundle_radius: 0’]
[INFO] Wrote reference_lla.json
[INFO] running /code/SuperBuild/install/bin/opensfm/bin/opensfm extract_metadata “/var/www/data/7f5e3d94-ae22-4891-9c3d-6f5c9d05c357/opensfm”
/code/SuperBuild/install/bin/opensfm/bin/opensfm: line 12: python: command not found

===== Dumping Info for Geeks (developers need this to fix bugs) =====
Child returned 127
Traceback (most recent call last):
File “/code/stages/odm_app.py”, line 94, in execute
File “/code/opendm/types.py”, line 340, in run
File “/code/opendm/types.py”, line 340, in run
File “/code/opendm/types.py”, line 340, in run
File “/code/opendm/types.py”, line 321, in run
self.process(self.args, outputs)
File “/code/stages/run_opensfm.py”, line 33, in process
File “/code/opendm/osfm.py”, line 284, in extract_metadata
File “/code/opendm/osfm.py”, line 34, in run
system.run(’%s %s “%s”’ %
File “/code/opendm/system.py”, line 106, in run
raise SubprocessException(“Child returned {}”.format(retcode), retcode)
opendm.system.SubprocessException: Child returned 127

===== Done, human-readable information to follow… =====

[ERROR] The program exited with a strange error code. Please report it at https://community.opendronemap.org

1 Like

I’ve noticed this issue yesterday; it seems a problem with older versions of docker and images built with the newer buildx feature of docker. Are you able to use docker desktop instead of docker toolbox?


Thanks for the tip, I have reverted to docker Desktop. Currently seems to be running smoothly. Now I just need to figure out how not to run over the measly 16 GB I have access to on my box :wink:


I’m also attempting to fix this at the image level, there should be an updated docker image within ~10 hours.