bob nosetest fails on Mac OS 10.8.5
Created by: tcgeophysics
I am running into an error with the make nosetests
step of the compiling from source process.
I am using a Mac OS Mountain Lion 10.8.5 (64bits) and installing bob with homebrew. The following is installed: Homebrew HOMEBREW_VERSION: 0.9.5 CPU: 8-core 64-bit ivybridge OS X: 10.8.5-x86_64 Xcode: 5.0.2 CLT: 5.0.1.0.1.1377666378 X11: 2.7.5 Python: 2.7.6 Nose: 1.3.0
VLFEAT is not installed and -DWITH_VLFEAT=OFF
is specified
I wrote a homebrew formula to install bob and it seems to work for now without the nosetests step. bob.q formula here
To repeat the problem
1 - install homebrew,
2 - Create a bob formula: brew create http://www.idiap.ch/software/bob/packages/bob-1.2.2.tar.gz
3 - Edit the bob formula: brew edit bob
delete everything and paste the contents of the bob.q formula here
4 - Run brew install -v bob
to install in debug mode
The install process does not complete with nosetests and exit with the following message:
======================================================================
ERROR: bob.io.test.test_video.test_frameskip_format_mov_codec_wmv1
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/tmp/bob-OifB/bob-1.2.2/build/lib/python2.7/site-packages/bob/test/utils.py", line 108, in wrapper
return test(*args, **kwargs)
File "/tmp/bob-OifB/bob-1.2.2/build/lib/python2.7/site-packages/bob/io/test/test_video.py", line 71, in check_format_codec
orig, framerate, encoded = function(shape, framerate, format, codec, fname)
File "/tmp/bob-OifB/bob-1.2.2/build/lib/python2.7/site-packages/bob/io/utils.py", line 145, in frameskip_detection
fontsize = estimate_fontsize(height, width, text_format)
File "/tmp/bob-OifB/bob-1.2.2/build/lib/python2.7/site-packages/bob/io/utils.py", line 32, in estimate_fontsize
font = ImageFont.truetype(DEFAULT_FONT, best_size)
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/ImageFont.py", line 218, in truetype
return FreeTypeFont(filename, size, index, encoding)
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/ImageFont.py", line 134, in __init__
self.font = core.getfont(file, size, index, encoding)
File "/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL/ImageFont.py", line 34, in __getattr__
raise ImportError("The _imagingft C module is not installed")
ImportError: The _imagingft C module is not installed
======================================================================
FAIL: test01_plda_EM_vs_Python (bob.trainer.test.test_plda.PLDATrainerTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/bob-OifB/bob-1.2.2/build/lib/python2.7/site-packages/bob/trainer/test/test_plda.py", line 391, in test01_plda_EM_vs_Python
self.assertTrue(numpy.allclose(m.f, m_py.f))
AssertionError: False is not true
-------------------- >> begin captured logging << --------------------
bob.c++: INFO: # EMTrainer:
bob.c++: INFO: # Iteration 1
bob.c++: INFO: # Iteration 2
bob.c++: INFO: # Iteration 3
bob.c++: INFO: # Iteration 4
bob.c++: INFO: # Iteration 5
bob.c++: INFO: # Iteration 6
bob.c++: INFO: # Iteration 7
bob.c++: INFO: # Iteration 8
bob.c++: INFO: # Iteration 9
bob.c++: INFO: # Iteration 10
bob.c++: INFO: # EM terminated: maximum number of iterations reached.
--------------------- >> end captured logging << ---------------------
----------------------------------------------------------------------
Ran 467 tests in 133.735s
FAILED (SKIP=4, errors=100, failures=1)
make[3]: *** [python/CMakeFiles/nosetests] Error 1
make[2]: *** [python/CMakeFiles/nosetests.dir/all] Error 2
make[1]: *** [python/CMakeFiles/nosetests.dir/rule] Error 2
make: *** [nosetests] Error 2
The full nosetests output can be found on this gist: https://gist.github.com/tcgeophysics/8286521
Any advices on how to solves the issues pointed out by the nose output? Are they critical for bob?
It seems there is a problem with PIL which might not be maintained anymore. Could PILLOW work instead?