diff --git a/.travis.yml b/.travis.yml
index 18e21bda0880d296ddf24db2cfe0d201f9b36d88..41ee059e9f012be906727327139b2b71d8e3c7cc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -87,12 +87,11 @@ before_install:
 script:
   # Create build directory
   - which python
-  - which python2
   - mkdir build
   - cd build
 
   # Configure
-  - cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_FLAGS=-w -DCMAKE_CXX_FLAGS_DEBUG=${CXX_FLAGS_DEBUG} -DPYTHON_EXECUTABLE=$(which python2) ..
+  - cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_FLAGS=-w -DCMAKE_CXX_FLAGS_DEBUG=${CXX_FLAGS_DEBUG} -DPYTHON_EXECUTABLE=$(which python) ..
 
   # Build
   - make
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 93c48af76e0947c4092aff643d57a25a7785543c..0c55085c34a0b857f4de8c0d81a1882a12c10751 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -46,9 +46,18 @@ INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
 SET(${LIBRARY_NAME}_HEADERS
   fcl.hh
   )
-IF(DOXYGEN_FOUND)
+
+IF(NOT DOXYGEN_FOUND OR (APPLE AND PYTHON_VERSION_MAJOR LESS 3))
+  SET(ENABLE_DOXYGEN_AUTODOC FALSE)
+ELSE()
+  SET(ENABLE_DOXYGEN_AUTODOC TRUE)
+  IF(APPLE)
+    SET(PY_PREFIX ${PYTHON_EXECUTABLE})
+  ENDIF()
+ENDIF()
+IF(ENABLE_DOXYGEN_AUTODOC)
   ADD_CUSTOM_TARGET(generate_doxygen_cpp_doc
-    COMMAND ${CMAKE_SOURCE_DIR}/doc/python/doxygen_xml_parser.py
+    COMMAND ${PY_PREFIX} ${CMAKE_SOURCE_DIR}/doc/python/doxygen_xml_parser.py
     ${CMAKE_BINARY_DIR}/doc/doxygen-xml/index.xml
     ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc > ${CMAKE_CURRENT_BINARY_DIR}/doxygen_autodoc.log
     BYPRODUCTS
@@ -76,7 +85,7 @@ ADD_LIBRARY(${LIBRARY_NAME} SHARED ${${LIBRARY_NAME}_SOURCES} ${${LIBRARY_NAME}_
 ADD_DEPENDENCIES(python ${LIBRARY_NAME})
 ADD_HEADER_GROUP(${LIBRARY_NAME}_HEADER)
 ADD_SOURCE_GROUP(${LIBRARY_NAME}_SOURCES)
-IF(DOXYGEN_FOUND)
+IF(ENABLE_DOXYGEN_AUTODOC)
   ADD_DEPENDENCIES(${LIBRARY_NAME} generate_doxygen_cpp_doc)
   TARGET_COMPILE_DEFINITIONS(${LIBRARY_NAME} PRIVATE -DHAS_DOXYGEN_AUTODOC)
 ENDIF()
diff --git a/python/collision-geometries.cc b/python/collision-geometries.cc
index fad5158d64b5eef2c4ceb5d2ae67988ff79f9c13..a3b90cda9eb1bc9bcb410963f5f2c0e54a612d91 100644
--- a/python/collision-geometries.cc
+++ b/python/collision-geometries.cc
@@ -194,7 +194,7 @@ boost::python::tuple AABB_distance_proxy(const AABB & self, const AABB & other)
 {
   Vec3f P,Q;
   FCL_REAL distance = self.distance(other,&P,&Q);
-  return boost::python::tuple((distance,P,Q));
+  return boost::python::make_tuple(distance,P,Q);
 }
 
 void exposeCollisionGeometries ()