I was wondering if there are updated installation instructions for Ecosynther? I'm getting stuck in the most preliminary of places, and I'm wondering if it's because the documentation isn't up to snuff, it's changed, and/or "I'm doing it wrong" (with the latter being most probable).

I'm using Linux Mint 17 (Ubuntu 14.04). Let me know if another distribution would serve as a better base. I've done the following from my home directory (~/):

$ git clone https://bitbucket.org/ecosynth/ecosynther.git

$ cd ~/ecosynth

-In the Eco_install.txt, the first instruction for compiling from source is as follows:

    * in file src/Bundle.cpp Line 45, replace the directory to the header file interface.h with its current location on your computer, i.e. it might look like something like this: "/path/to/bundler/lib/pba/src/pba/interface.h"

-Unfortunately, there are three Bundle.cpp files under the ~/ecosynth directory cloned from the repository, but only two with a ./src/ path, with each pointing to different locations to interface.h:

1) ./bundler-v0.4-source/src/Bundle.cpp (path appears on line 45, as below)

#include "/home/yu/Desktop/EcosyntherFull/bundler-v0.4-source/lib/pba/src/pba/interface.h"

2) ./bundler-v0.4-source-sba-1.6-limited-match/src/Bundle.cpp (no path on line 45, as below)

void FixIntrinsics(double *P, double *K, double *R, double *t)

3) ./bundler-v0.4-source-sba-1.6/src/Bundle.cpp (path appears on line 45, as below)

#include "/home/tseneschal/Desktop/ecosynther/bundler-v0.4-source-sba-1.6/lib/pba/src/pba/interface.h"

-I hope I can assume that 2) above is not relevant for this step.

-Moving along, I search for the the locations of interface.h under the ~/ecosynth directory, which reveals two locations, which I've changed so as to correspond the locations of interface.h shown in the original paths above:

./bundler-v0.4-source/src/Bundle.cpp (file, altered path below)


./bundler-v0.4-source-sba-1.6/src/Bundle.cpp (file, altered path below)

#include "/home/RTFM/ecosynther/bundler-v0.4-source-sba-1.6/lib/pba/src/pba/interface.h"

-The next step is to run make, which I do from ~/ecosynther:

RTFM@testrig ~/ecosynther $ make
cd scripts; sh checkdep.sh
ImageMagick installed ... YES
libXext installed ... YES
libX11 installed ... YES
libjpeg installed ... YES
gfortran installed ... YES
minpack installed ... YES
lapack installed ... YES
blas installed ... YES
zlib installed ... YES
atlas installed ... YES
boost installed ... YES
cd flann-1.6.11-src/build; cmake ..; make -j
CMake Error: The current CMakeCache.txt directory /home/RTFM/ecosynther/flann-1.6.11-src/build/CMakeCache.txt is different than the directory /home/yu/Desktop/RunSFM/flann-1.6.11-src/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
CMake Error: The source "/home/RTFM/ecosynther/flann-1.6.11-src/CMakeLists.txt" does not match the source "/home/yu/Desktop/RunSFM/flann-1.6.11-src/CMakeLists.txt" used to generate cache.  Re-run cmake with a different source directory.
make[1]: Entering directory `/home/RTFM/ecosynther/flann-1.6.11-src/build'
make[1]: /usr/local/bin/cmake: Command not found
make[1]: *** [cmake_check_build_system] Error 127
make[1]: Leaving directory `/home/RTFM/ecosynther/flann-1.6.11-src/build'
make: *** [all] Error 2

-It looks like some cruft was left in Cmake, which is a beast I do not fully comprehend. Perhaps unwisely, I issue the incantation "make clean" instead, and re-run make, and LO!, the code appears to compile on my system. Unfortunately, after a long stream of comments, it didn't seem to work. Cmake ends with errors (see attachment for gory details).

Any help on getting ecosynther up and running, and/or directing me to some more detailed setup instructions would be most welcome.

PS- Will, I couldn't find the EcosyntherDependencies.sh script in the directory downloaded from Bitbucket. I'm now wondering if I've cloned the wrong version? git clone https://bitbucket.org/ecosynth/ecosynther.git?

Views: 444


Reply to This

Replies to This Discussion

I tried to compile the code with different version of Linux and Cuda. But it seems only the ubuntu 12.04.4 LTS 32 bit works. You can download it here.


And I use cuda x86 32 bit, which you can download from the following links:


I can not get it works under different linux system or cuda either. 


Hi Dennis,

Full disclosure for me: I have not yet compiled the code and have just been using the Amazon EC2 Image.

I believe the EcosyntherDependencies.sh script is in the release repo here, which is a different repository.  I'm unsure why there are two repositories rather than two branches in the same repo. Also, be aware that the release repo has two Zip files - 0.7 and 0.8.  I'd recommend working with 0.7 right now because 0.8 requires an additional input in order to run.

I'll plan to update this thread with any new information I find in the future


Thanks for the headsup Will.

I think I cloned from the the non-release repo, so I'll restart my efforts using the release repo instead. I thought that was a little odd as well, but oh well. Hopefully things go smoother this time through.



CMake Error: The source "/home/RTFM/ecosynther/flann-1.6.11-src/CMakeLists.txt" does not match the source "/home/yu/Desktop/RunSFM/flann-1.6.11-src/CMakeLists.txt" used to generate cache.  Re-run cmake with a different source directory.

I think this happens because the path in the file RunEcosynther.sh, RunEcosyntherFull.sh  or EcosyntherGPUConfig.sh is wrong.  I believe "/home/yu/Desktop/RunSFM****" is the local path on yu's computer, but it is not the path on your computer.

I recommend that you could check every *sh file to make sure the local path on your computer is correct.



And check the path of every "makefile" too.


Thanks Yingying,

I'll grep through the source code/scripts and see what needs to be changed.

Would it be fair to say that the instructions as provided with the repo aren't sufficient for compiling the source code? I mean, I get that not ever system is the same, etc., but the instructions for compiling Ecosynther miss out quite a bit.

Another question: what was your experience with compiling with 64-bits? This is really the way I'd like to go so as to best utilize the memory we have on some of our powerful workstations. I'm guessing 32-bits doesn't pose a huge issue in terms of memory usage, but 64-bit support would be so much better.

Thanks again for looking through this. I'll report back.

Yingying, just to get this straight, the list of things you did to get Ecosynther compiled were:

(1) Fresh install of Ubuntu 12.04 32-bit

(2) Edit paths and Run EcosyntherDependencies.sh

(3) Install CUDA Toolkit (5.5?)

(4) Edit paths and Run EcosyntherGPUConfig.sh

(5) Edit paths in Bundler Makefile and Compile Bundler

(6) Edit paths in SiftGPU Makefile and Compile SiftGPU

Does PMVS need to be compiled?

And are there any steps that should be added, clarified or rearranged?


following all steps on Wiki page and also you need to check the following steps.
(1) Fresh install of Ubuntu 12.04 32-bit

(2) Edit all paths and Run EcosyntherDependencies.sh

(3) Install CUDA Toolkit (5.5) 32-bit

(4) Edit paths and Run EcosyntherGPUConfig.sh

(5) Edit paths in Bundler Makefile and Compile Bundler

(6) Edit paths in SiftGPU Makefile and Compile SiftGPU

(7) Edit paths in Makefile and *.cmake ~/ecosynther_v0.7/Ecosynther_v0.7_PMVS_auto/EcosyntherFull/flann-1.6.11-src/build

(7) run make in the folder  ~/ecosynther_v0.7/Ecosynther_v0.7_PMVS_auto/EcosyntherFull, it will compile bundler, SiftGPU and PMVS automatically.
That's all I know about it by now. I have complied it for a while. I can not remember all details.
I will update the information if I remember anything.

Ok, great.  Thanks Yingying



© 2019   Created by Erle Ellis. Content is made available under CC BY 4.0.   Powered by

Badges  |  Report an Issue  |  Terms of Service