osm-bundler icon indicating copy to clipboard operation
osm-bundler copied to clipboard

Crashes with traceback to "no such file or directory".

Open user1138 opened this issue 9 years ago • 12 comments

System specs:

OS: Xubuntu 14.04 Desktop: XFCE 4.10 Package: osm-bunlder (whatever version is found here!)

Description of problem: On executing the RunBundler.py module using the following syntax:

python RunBundler.py --photos="/home/username/archives/projects.photogammetry/buckle"

...the following output and error messages are given:

---- Error messages begin ----
Cannot create output directory at 
Working directory created: 
BundlerMatching executable path: /media/WD1001_vol-03/programs/osm-bundler-master/software/bundler/KeyMatchFull
Sift executable path: /media/WD1001_vol-03/programs/osm-bundler-master/software/vlfeat/sift

Processing photo 'IMG_7205.JPG':
    Copy of the photo has been scaled down to 1200x900
Traceback (most recent call last):
  File "RunBundler.py", line 9, in <module>
    manager.preparePhotos()
  File "/media/WD1001_vol-03/programs/osm-bundler-master/osmbundler/__init__.py", line 167, in preparePhotos
    self._preparePhoto(photoInfo)
  File "/media/WD1001_vol-03/programs/osm-bundler-master/osmbundler/__init__.py", line 277, in _preparePhoto
    self.extractFeatures(photo)
  File "/media/WD1001_vol-03/programs/osm-bundler-master/osmbundler/__init__.py", line 343, in extractFeatures
    os.chdir(self.workDir)
OSError: [Errno 2] No such file or directory: ''

---- Error messages end ----

Things I have tried: The library "libANN_char.so" was copied to "/usr/bin", its file permissions set for a normal user, and a path to "/usr/lib" was added to the end of the local ~/.bashrc file as follows:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/

Questions: 1.) Why are these errors happening? 2.) Is there any way to work arround these errors or fix them?

user1138 avatar Mar 02 '15 22:03 user1138

It seems that you have no permission to mkdir at /media/WD1001_vol-03/programs/ the procedure assume to create a 'output' directory at the current path as working directory

you may put the code directory to your home directory rather than /media/WD1001_vol-03/

you can see the code in *osm-bundler/osmbundler/init.py * at line 86~ 93,it may help you out

        #self.workDir = os.getcwd() +'/output'
    try:
        os.mkdir('output')
        self.workDir = tempfile.mkdtemp(prefix="osm-bundler-",dir=os.path.join(os.getcwd() ,'output'))
    except OSError :
        if os.path.isdir(self.workDir):
            pass
        else: print "Cannot create output directory at "+ self.workDir

HaiyangXu avatar Mar 04 '15 06:03 HaiyangXu

Try to put the code in ~/ not in /media/WD1001_vol-03/ this may be a windows partition ?

HaiyangXu avatar Mar 05 '15 03:03 HaiyangXu

i donot konw why it cannot mkdir. I give you an simple way may fix. just replace the code *osm-bundler/osmbundler/init.py * at line 86~ 93

#self.workDir = os.getcwd() +'/output'
try:
    os.mkdir('output')
    self.workDir = tempfile.mkdtemp(prefix="osm-bundler-",dir=os.path.join(os.getcwd() ,'output'))
except OSError :
    if os.path.isdir(self.workDir):
        pass
    else: print "Cannot create output directory at "+ self.workDir

to

 self.workDir = os.getcwd() +'/output'

and make a empty directory 'output' at the root of the code dirctory

HaiyangXu avatar Mar 06 '15 03:03 HaiyangXu

have you notice that " Extracting features with the SIFT method from VLFeat library..." It seems there is no vlfeat sift execute

HaiyangXu avatar Mar 12 '15 08:03 HaiyangXu

have a look at osm-bundler/osmbundler/defaults.py

featureExtractor = "siftvlfeat" #siftvlfeat siftlowe

change to featureExtractor = "siftlowe"

sorry for the bad documents ....

HaiyangXu avatar Mar 12 '15 08:03 HaiyangXu

Depending on the os you use. For 64bit system you need to find the 32bit libs such as ia-32libs in Ubuntu. Without the 32bit libraries the executwble won't run. Hence no proccessed files generated which leads to the error no files or directory

zh1609 avatar May 01 '15 09:05 zh1609

In case anyone gets here after 2020, I resolved this issue with:

sudo apt-get install lib32z1

As stated above, 32bit libs did not exist.

Reference: https://support.humblebundle.com/hc/en-us/articles/202759400-Installing-32-bit-libs-on-a-64-bit-Linux-system

iredmedia avatar Sep 21 '20 00:09 iredmedia