Skip to content
Snippets Groups Projects
Commit 82e2bd25 authored by Anthony Mallet's avatar Anthony Mallet
Browse files

[wip/pinocchio] Fix a number of issues in the package

* Disable parallel builds as g++ processes consumes loads of memory
* Fix PLIST
* Fix DEPEND_ABIs: drop useless requirements on assimp, add minimum 3.0 version
  on urdfdom
* Drop specific user settings (PREFER.*)
* Explicitly set cmake build options
* Sort dependencies

patch-aa: ensure that cmake does not find unwanted optional dependencies
patch-ab: fix a quoting issue in a cmakefile
patch-ac: fix build with assimp-2
parent 67c3f70a
No related branches found
No related tags found
No related merge requests found
This package provides an efficient library to compute rigid multibody dynamics.
\ No newline at end of file
This package provides an efficient library to compute rigid multibody dynamics.
# robotpkg Makefile for: wip/pinocchio
# Created: Olivier Stasse, Feb 4th 2016
# Updated: Justin Carpentier, May 30th 2016
# robotpkg Makefile for: math/pinocchio
# Created: Olivier Stasse on Thu, 4 Feb 2016
#
VERSION= 1.1.2
DISTNAME= pinocchio-${VERSION}
MASTER_SITES= ${MASTER_SITE_OPENROBOTS:=pinocchio/}
MASTER_REPOSITORY= ${MASTER_REPOSITORY_GITHUB}/stack-of-tasks/pinocchio
MAINTAINER= pinocchio@laas.fr
CATEGORIES= wip
COMMENT= Efficient rigid body dynamics
LICENSE= gnu-lgpl-v3
DYNAMIC_PLIST_DIRS+= share/doc/pinocchio
USE_BOOST_LIBS:= python system filesystem unit_test_framework
CMAKE_ARGS+= -DPYTHON_EXECUTABLE=${PYTHON}
CMAKE_ARGS+= -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE}
CMAKE_ARGS+= -DPYTHON_LIBRARY=${PYTHON_LIB}
CMAKE_ARGS+= -DPYTHON_SITELIB=${PYTHON_SITELIB}
DEPEND_ABI.python += python<3
DEPEND_ABI.assimp += assimp>=3.0
DEPEND_ABI.eigenpy += eigenpy>=1.3.0
DEPEND_ABI.hpp-fcl += hpp-fcl>=0.4.1
PREFER.assimp = robotpkg
# We must use eigen from robotpkg at least for Ubuntu 16.04
ifeq (Ubuntu,${OPSYS})
ifeq (,$(filter 16.04,${OS_VERSION}))
PREFER.eigen = robotpkg
else
PREFER.eigen = system
endif
endif
MASTER_SITES= ${MASTER_OPENROBOTS:=${PKGBASE}/}
MASTER_REPOSITORY= ${MASTER_REPOSITORY_GITHUB}/stack-of-tasks/${PKGBASE}
MAINTAINER= gepetto@laas.fr
CATEGORIES= math
COMMENT= Efficient rigid body dynamics
LICENSE= gnu-lgpl-v3
# parallel builds would consume all memory because of the g++ process size
MAKE_JOBS_SAFE= no
DYNAMIC_PLIST_DIRS+= share/doc/${PKGBASE}
CMAKE_ARGS+= -DPYTHON_EXECUTABLE=${PYTHON}
CMAKE_ARGS+= -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE}
CMAKE_ARGS+= -DPYTHON_LIBRARY=${PYTHON_LIB}
CMAKE_ARGS+= -DPYTHON_SITELIB=${PYTHON_SITELIB}
CMAKE_ARGS+= BUILD_BENCHMARK=OFF
CMAKE_ARGS+= BUILD_UNIT_TESTS=ON
CMAKE_ARGS+= BUILD_UTILS=OFF
CMAKE_ARGS+= BUILD_TESTS_WITH_HPP=OFF
CMAKE_ARGS+= BUILD_PYTHON_INTERFACE=ON
USE_BOOST_LIBS= python system filesystem unit_test_framework
include ../../wip/py-eigen/depend.mk
include ../../math/eigen3/depend.mk
include ../../graphics/urdfdom/depend.mk
include ../../graphics/urdfdom-headers/depend.mk
include ../../devel/boost-headers/depend.mk
include ../../devel/boost-libs/depend.mk
include ../../path/hpp-fcl/depend.mk
include ../../graphics/assimp/depend.mk
include ../../graphics/urdfdom-headers/depend.mk
include ../../graphics/urdfdom/depend.mk
include ../../math/eigen3/depend.mk
include ../../path/hpp-fcl/depend.mk
include ../../pkgtools/pkg-config/depend.mk
include ../../wip/py-eigen/depend.mk
include ../../mk/sysdep/cmake.mk
include ../../mk/sysdep/doxygen.mk
include ../../mk/sysdep/python.mk
include ../../mk/language/c.mk
include ../../mk/language/c++.mk
DEPEND_ABI.python += python<3
DEPEND_ABI.urdfdom-headers += urdfdom-headers>=0.3
include ../../mk/robotpkg.mk
@comment Mon May 30 10:23:55 CEST 2016
@comment Wed Jun 1 16:41:11 CEST 2016
include/pinocchio/algorithm/aba.hpp
include/pinocchio/algorithm/aba.hxx
include/pinocchio/algorithm/center-of-mass.hpp
......@@ -51,8 +51,6 @@ include/pinocchio/multibody/joint/joint-variant.hpp
include/pinocchio/multibody/model.hpp
include/pinocchio/multibody/model.hxx
include/pinocchio/multibody/parser/from-collada-to-fcl.hpp
include/pinocchio/multibody/parser/lua.hpp
include/pinocchio/multibody/parser/lua/lua_tables.hpp
include/pinocchio/multibody/parser/sample-models.hpp
include/pinocchio/multibody/parser/srdf.hpp
include/pinocchio/multibody/parser/urdf-with-geometry.hpp
......
# robotpkg depend.mk for: wip/pinocchio
# Created: Olivier Stasse, Feb 4th 2016
# robotpkg depend.mk for: math/pinocchio
# Created: Olivier Stasse on Thu, 4 Feb 2016
#
DEPEND_DEPTH:= ${DEPEND_DEPTH}+
......@@ -9,18 +9,18 @@ ifeq (+,$(DEPEND_DEPTH))
DEPEND_PKG+= pinocchio
endif
ifeq (+,$(PINOCCHIO_DEPEND_MK)) # -------------------------------------------
ifeq (+,$(PINOCCHIO_DEPEND_MK)) # ------------------------------------------
PREFER.pinocchio?= robotpkg
SYSTEM_SEARCH.pinocchio=\
'lib/pkgconfig/pinocchio.pc:/Version/s/[^0-9.]//gp'
'lib/pkgconfig/pinocchio.pc:/Version/s/[^0-9.]//gp'
DEPEND_USE+= pinocchio
DEPEND_ABI.pinocchio?= pinocchio>=1.1.2
DEPEND_DIR.pinocchio?= ../../wip/pinocchio
endif # PINOCCHIO_DEPEND_MK -------------------------------------------------
endif # PINOCCHIO_DEPEND_MK ------------------------------------------------
DEPEND_DEPTH:= ${DEPEND_DEPTH:+=}
SHA1 (pinocchio-1.1.2.tar.gz) = 51af4834bd7baab3612adc28edadc57f55c72837
RMD160 (pinocchio-1.1.2.tar.gz) = f1f0a7d99b493db99fea4441088b21e615790730
Size (pinocchio-1.1.2.tar.gz) = 8911853 bytes
SHA1 (patch-aa) = 48bd99335980d76f285645f33d10ab5cd0db0749
SHA1 (patch-ab) = 96f1ea798f0e3fcb2dbef755476a959727550eb0
SHA1 (patch-ac) = 75eb20d87148706b27c1d3601f9a379fbf666bc0
Drop unusued optional dependencies, so that they're not found by mistake
Make other optional dependencies that are used 'required'
Check assimp version
--- CMakeLists.txt~ 2016-05-27 14:31:10.000000000 +0200
+++ CMakeLists.txt 2016-06-01 14:30:28.696448120 +0200
@@ -63,12 +63,19 @@
# ----------------------------------------------------
ADD_REQUIRED_DEPENDENCY("eigen3 >= 3.0.5")
ADD_OPTIONAL_DEPENDENCY("eigenpy >= 1.3.0")
-ADD_OPTIONAL_DEPENDENCY("metapod >= 1.0.7")
-ADD_OPTIONAL_DEPENDENCY("urdfdom >= 0.2.10")
-ADD_OPTIONAL_DEPENDENCY("lua5.1")
+#ADD_OPTIONAL_DEPENDENCY("metapod >= 1.0.7")
+ADD_REQUIRED_DEPENDENCY("urdfdom >= 0.2.10")
+#ADD_OPTIONAL_DEPENDENCY("lua5.1")
ADD_OPTIONAL_DEPENDENCY("hpp-fcl >= 0.4.1")
IF(HPP_FCL_FOUND AND URDFDOM_FOUND)
- ADD_REQUIRED_DEPENDENCY("assimp >= 3.0")
+ ADD_REQUIRED_DEPENDENCY("assimp >= 2.0")
+if (NOT ${ASSIMP_VERSION} VERSION_LESS "2.0.1150")
+ add_definitions(-DASSIMP_UNIFIED_HEADER_NAMES)
+ message(STATUS "Assimp version has unified headers")
+else()
+ message(STATUS "Assimp version does not have unified headers")
+endif()
+
ENDIF(HPP_FCL_FOUND AND URDFDOM_FOUND)
SET(BOOST_COMPONENTS filesystem unit_test_framework system)
Fix a quoting issue
--- cmake/python.cmake~ 2016-04-28 11:48:47.000000000 +0200
+++ cmake/python.cmake 2016-06-01 14:33:51.595727705 +0200
@@ -48,7 +48,7 @@
ENDIF (NOT ${PYTHONLIBS_FOUND} STREQUAL TRUE)
# Find PYTHON_LIBRARY_DIRS
-GET_FILENAME_COMPONENT(PYTHON_LIBRARY_DIRS ${PYTHON_LIBRARIES} PATH)
+GET_FILENAME_COMPONENT(PYTHON_LIBRARY_DIRS "${PYTHON_LIBRARIES}" PATH)
# Default Python packages directory
SET(PYTHON_PACKAGES_DIR site-packages)
Fix path to assimp-2 headers
--- src/multibody/parser/from-collada-to-fcl.hpp~ 2016-05-27 14:31:10.000000000 +0200
+++ src/multibody/parser/from-collada-to-fcl.hpp 2016-06-01 15:13:49.747002604 +0200
@@ -25,12 +25,21 @@
#include <boost/foreach.hpp>
#include <boost/format.hpp>
-#include <assimp/DefaultLogger.hpp>
-#include <assimp/IOStream.hpp>
-#include <assimp/IOSystem.hpp>
-#include <assimp/scene.h>
-#include <assimp/Importer.hpp>
-#include <assimp/postprocess.h>
+#ifdef ASSIMP_UNIFIED_HEADER_NAMES
+# include <assimp/DefaultLogger.hpp>
+# include <assimp/IOStream.hpp>
+# include <assimp/IOSystem.hpp>
+# include <assimp/scene.h>
+# include <assimp/Importer.hpp>
+# include <assimp/postprocess.h>
+#else
+# include <assimp/DefaultLogger.h>
+# include <assimp/assimp.hpp>
+# include <assimp/IOStream.h>
+# include <assimp/IOSystem.h>
+# include <assimp/aiScene.h>
+# include <assimp/aiPostProcess.h>
+#endif
#include <hpp/fcl/BV/OBBRSS.h>
#include <hpp/fcl/BVH/BVH_model.h>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment