vsamy / eigen-cddlib Goto Github PK
View Code? Open in Web Editor NEWSimple wrapper to use Eigen matrix with cddlib.
License: GNU General Public License v3.0
Simple wrapper to use Eigen matrix with cddlib.
License: GNU General Public License v3.0
Hi Vincent,
Me and Arnaud found 1 + 1 issues with the cmake
:
~/local/eigen-cddlib$ git diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 211c304..83171eb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,6 +8,8 @@ set(PROJECT_URL "https://github.com/vsamy/eigen-cddlib")
set(PROJECT_DEBUG_POSTFIX "_d")
set(INSTALL_GENERATED_HEADERS OFF CACHE BOOL "Generate and install standard headers")
+set(CMAKE_CXX_STANDARD 11)
+
set(DOXYGEN_USE_MATHJAX "YES")
option(BUILD_TESTING "Build unit tests." ON)
leads to a different location of the file floating_point_comparison.hpp
diff --git a/tests/TestPolyhedron.cpp b/tests/TestPolyhedron.cpp
index 0f6a584..57c999e 100644
--- a/tests/TestPolyhedron.cpp
+++ b/tests/TestPolyhedron.cpp
@@ -17,7 +17,7 @@
#define BOOST_TEST_MODULE TestPolyhedron
#include <Eigen/Core>
-#include <boost/test/tools/floating_point_comparison.hpp>
+#include <boost/test/floating_point_comparison.hpp>
#include <boost/test/unit_test.hpp>
#include <chrono>
#include <iostream>
We ignored the test using ccmake
and compiled it.
Maybe we need an update of the CMakeLists.txt
?
Best,
Yuquan
-- Install to: /data1/yaoning.li/app
--
-- Configuring done
-- Generating done
-- Build files have been written to: /data1/yaoning.li/app/src/opencv/build
[ 0%] Built target gen-pkgconfig
[ 0%] Built target ittnotify
[ 1%] Built target quirc
[ 1%] Built target opencv_videoio_plugins
[ 3%] Built target libjasper
[ 5%] Built target libpng
[ 5%] Built target numeric
[ 8%] Built target ippiw
[ 13%] Built target libtiff
[ 16%] Built target libjpeg-turbo
[ 17%] Built target ade
[ 25%] Built target libwebp
[ 25%] Built target opencv_cudev
[ 30%] Built target libprotobuf
[ 38%] Built target IlmImf
[ 39%] Built target multiview
[ 39%] Built target correspondence
[ 47%] Built target opencv_core
[ 47%] Built target opencv_version
[ 48%] Built target opencv_flann
[ 49%] Built target opencv_ml
[ 50%] Built target opencv_surface_matching
[ 53%] Built target opencv_cudaarithm
[ 60%] Built target opencv_imgproc
[ 60%] Built target opencv_quality
[ 60%] Built target opencv_phase_unwrapping
[ 60%] Building CXX object modules/intensity_transform/CMakeFiles/opencv_intensity_transform.dir/src/bimef.cpp.o
[ 60%] Built target opencv_plot
[ 60%] Built target opencv_img_hash
[ 61%] Built target opencv_alphamat
[ 61%] Built target opencv_hfs
[ 61%] Built target opencv_fuzzy
[ 62%] Built target opencv_cudawarping
[ 64%] Built target opencv_imgcodecs
[ 66%] Built target opencv_features2d
[ 67%] Built target opencv_line_descriptor
[ 69%] Built target opencv_cudafilters
[ 70%] Built target opencv_videoio
[ 71%] Built target opencv_highgui
[ 71%] Built target opencv_annotation
[ 71%] Built target opencv_visualisation
[ 72%] Built target opencv_cudafeatures2d
[ 74%] Built target opencv_calib3d
[ 75%] Built target opencv_rapid
[ 75%] Built target opencv_interactive-calibration
[ 75%] Built target opencv_structured_light
[ 76%] Built target opencv_cudastereo
[ 77%] Built target opencv_objdetect
[ 78%] Built target opencv_shape
[ 79%] Built target opencv_video
[ 80%] Built target opencv_xobjdetect
[ 83%] Built target opencv_cudaimgproc
Scanning dependencies of target opencv_gapi
Scanning dependencies of target opencv_waldboost_detector
[ 83%] Linking CXX shared library ../../lib/libopencv_cudabgsegm.so
[ 83%] Building CXX object modules/xobjdetect/tools/waldboost_detector/CMakeFiles/opencv_waldboost_detector.dir/waldboost_detector.cpp.o
[ 83%] Linking CXX shared library ../../lib/libopencv_cudalegacy.so
[ 83%] Linking CXX shared library ../../lib/libopencv_photo.so
[ 83%] Linking CXX shared library ../../lib/libopencv_xfeatures2d.so
[ 83%] Built target opencv_cudabgsegm
[ 86%] Built target opencv_ximgproc
[ 86%] Processing OpenCL kernels (optflow)
Scanning dependencies of target opencv_optflow
[ 87%] Built target opencv_cudalegacy
[ 88%] Built target opencv_photo
[ 88%] Building NVCC (Device) object modules/cudaobjdetect/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_lbp.cu.o
[ 89%] Building NVCC (Device) object modules/cudaobjdetect/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_hog.cu.o
Scanning dependencies of target opencv_xphoto
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gmat.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gorigin.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/garray.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gkernel.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gscalar.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gopaque.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gproto.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gnode.cpp.o
[ 90%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gbackend.cpp.o
[ 90%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/bm3d_image_denoising.cpp.o
[ 92%] Built target opencv_xfeatures2d
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/dct_image_denoising.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/deepflow.cpp.o
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp: In function ‘cv::Mat cv::intensity_transform::solveLinearEquation(const cv::Mat_&, cv::Mat_&, cv::Mat_&, float)’:
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:136:17: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:136:30: error: ‘i’ was not declared in this scope
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:145:17: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index j = 0; j < tempy.cols(); j++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:145:30: error: ‘j’ was not declared in this scope
for (Eigen::Index j = 0; j < tempy.cols(); j++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:145:30: note: suggested alternative: ‘jn’
for (Eigen::Index j = 0; j < tempy.cols(); j++)
^
jn
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:158:17: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index j = 0; j < W_h.cols(); j++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:158:30: error: ‘j’ was not declared in this scope
for (Eigen::Index j = 0; j < W_h.cols(); j++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:158:30: note: suggested alternative: ‘jn’
for (Eigen::Index j = 0; j < W_h.cols(); j++)
^
jn
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:160:21: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index i = 0; i < W_h.rows(); i++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:160:34: error: ‘i’ was not declared in this scope
for (Eigen::Index i = 0; i < W_h.rows(); i++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:185:17: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index j = 0; j < tempx.cols(); j++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:185:30: error: ‘j’ was not declared in this scope
for (Eigen::Index j = 0; j < tempx.cols(); j++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:185:30: note: suggested alternative: ‘jn’
for (Eigen::Index j = 0; j < tempx.cols(); j++)
^
jn
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:187:21: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:187:34: error: ‘i’ was not declared in this scope
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^
[ 92%] Linking CXX executable ../../../../bin/opencv_waldboost_detector
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:92: error: ‘IncompleteCholesky’ is not a member of ‘Eigen’
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^~~~~~~~~~~~~~~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:92: note: suggested alternative: ‘IncompleteLUT’
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^~~~~~~~~~~~~~~~~~
IncompleteLUT
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:92: error: ‘IncompleteCholesky’ is not a member of ‘Eigen’
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:92: note: suggested alternative: ‘IncompleteLUT’
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^~~~~~~~~~~~~~~~~~
IncompleteLUT
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:116: error: template argument 3 is invalid
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:118: error: expected unqualified-id before ‘>’ token
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:222:5: error: ‘cg’ was not declared in this scope
cg.setTolerance(0.1f);
^~
[ 92%] Built target opencv_waldboost_detector
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/grayworld_white_balance.cpp.o
make[2]: *** [modules/intensity_transform/CMakeFiles/opencv_intensity_transform.dir/src/bimef.cpp.o] Error 1
make[1]: *** [modules/intensity_transform/CMakeFiles/opencv_intensity_transform.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/learning_based_color_balance.cpp.o
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/inpainting.cpp.o
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/oilpainting.cpp.o
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/simple_color_balance.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gcall.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/interfaces.cpp.o
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/tonemap.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gcomputation.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/motempl.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/pcaflow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/rlof/geo_interpolation.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/operators.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/rlof/rlof_localflow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/rlofflow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/simpleflow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/sparse_matching_gpc.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/kernels_core.cpp.o
Scanning dependencies of target opencv_cudaobjdetect
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/kernels_imgproc.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/sparsetodenseflow.cpp.o
[ 92%] Building CXX object modules/cudaobjdetect/CMakeFiles/opencv_cudaobjdetect.dir/src/cascadeclassifier.cpp.o
[ 92%] Building CXX object modules/cudaobjdetect/CMakeFiles/opencv_cudaobjdetect.dir/src/hog.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/tvl1flow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/opencl_kernels_optflow.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/kernels_video.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/render.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/render_ocv.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/ginfer.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/ft_render.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gmodel.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gmodelbuilder.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gislandmodel.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gcompiler.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gcompiled.cpp.o
[ 93%] Linking CXX shared library ../../lib/libopencv_cudaobjdetect.so
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gstreaming.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/helpers.cpp.o
[ 93%] Built target opencv_cudaobjdetect
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/dump_dot.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/islands.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/meta.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/kernels.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/exec.cpp.o
[ 94%] Linking CXX shared library ../../lib/libopencv_optflow.so
[ 94%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/transformations.cpp.o
[ 94%] Built target opencv_optflow
[ 94%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/pattern_matching.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/perform_substitution.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/streaming.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/executor/gexecutor.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/executor/gstreamingexecutor.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/executor/gasync.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpubackend.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpukernel.cpp.o
[ 95%] Linking CXX shared library ../../lib/libopencv_xphoto.so
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpuimgproc.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpuvideo.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpucore.cpp.o
[ 95%] Built target opencv_xphoto
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidbuffer.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidbackend.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidimgproc.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidimgproc_func.dispatch.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidcore.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ocl/goclbackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ocl/goclkernel.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ocl/goclimgproc.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ocl/goclcore.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ie/giebackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ie/giebackend/giewrapper.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/render/grenderocvbackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/render/grenderocv.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/plaidml/gplaidmlcore.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/plaidml/gplaidmlbackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/common/gcompoundbackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/common/gcompoundkernel.cpp.o
[ 97%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/s11n.cpp.o
[ 97%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/common/serialization.cpp.o
[ 97%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/backends/fluid/gfluidimgproc_func.sse4_1.cpp.o
[ 97%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/backends/fluid/gfluidimgproc_func.avx2.cpp.o
[ 97%] Linking CXX shared library ../../lib/libopencv_gapi.so
[ 97%] Built target opencv_gapi
make: *** [all] Error 2
my eigen version is 3.4.0,and opencv version is 4.4.0
Hi Vincent!
I noticed an interesting issue recently. Following the test example, I wrapped eigen-cddlib
's Polyhedron
object in a function: vRepComdCone
. It worked fine if I call the function once. As long as I try to call vRepComdCone
consecutively, I got the following memory error:
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7681859 in __GI_abort () at abort.c:79
#2 0x00007ffff76ec26e in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7816298 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007ffff76f42fc in malloc_printerr (str=str@entry=0x7ffff78189f8 "malloc(): memory corruption (fast)") at malloc.c:5347
#4 0x00007ffff76f743c in _int_malloc (av=av@entry=0x7ffff784bb80 <main_arena>, bytes=bytes@entry=32) at malloc.c:3594
#5 0x00007ffff76fab95 in __libc_calloc (n=<optimized out>, elem_size=<optimized out>) at malloc.c:3428
#6 0x00007ffff72f6ee6 in dd_InitializeArow () from /usr/lib/x86_64-linux-gnu/libcdd.so.0
#7 0x00007ffff72f6f5c in dd_InitializeAmatrix () from /usr/lib/x86_64-linux-gnu/libcdd.so.0
#8 0x00007ffff72f7512 in dd_CreateMatrix () from /usr/lib/x86_64-linux-gnu/libcdd.so.0
#9 0x00007ffff75de991 in Eigen::Polyhedron::initializeMatrixPtr (this=this@entry=0x7fffffffd2c0, rows=19, cols=4, isFromGenerators=isFromGenerators@entry=false)
at /home/yuquan/local/eigen-cddlib/src/Polyhedron.cpp:112
#10 0x00007ffff75de9d0 in Eigen::Polyhedron::doubleDescription (this=this@entry=0x7fffffffd2c0, matrix=..., isFromGenerators=isFromGenerators@entry=false)
at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:153
#11 0x00007ffff75ded99 in Eigen::Polyhedron::hvrep (this=0x7fffffffd2c0, A=..., b=..., isFromGenerators=false)
at /home/yuquan/local/eigen-cddlib/src/Polyhedron.cpp:104
#12 0x00007ffff75dee23 in Eigen::Polyhedron::setHrep (this=this@entry=0x7fffffffd2c0, A=..., b=...) at /home/yuquan/local/eigen-cddlib/src/Polyhedron.cpp:50
#13 0x00007ffff7de52a2 in VelOpt::VelOptimizer::vRepComdCone (this=<optimized out>, nVel=@0x7fffffffd418: -0.14999999999999999)
at /home/yuquan/local/impactvelocityoptimizer/src/VelOptimizer.cpp:53
For completeness, I also attached the function I made:
vRepComdCone.txt
Hi,
I already installed eigen3 and when I cmake it says it found my eigen
However, when I try to make it, it shows
junhyeok@junhyeok-MacBookPro:~/eigen-cddlib/build$ make -j8
/usr/bin/cmake -H/home/junhyeok/eigen-cddlib -B/home/junhyeok/eigen-cddlib/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/junhyeok/eigen-cddlib/build/CMakeFiles /home/junhyeok/eigen-cddlib/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/junhyeok/eigen-cddlib/build'
make -f src/CMakeFiles/eigen-cddlib.dir/build.make src/CMakeFiles/eigen-cddlib.dir/depend
make[2]: Entering directory `/home/junhyeok/eigen-cddlib/build'
cd /home/junhyeok/eigen-cddlib/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/junhyeok/eigen-cddlib /home/junhyeok/eigen-cddlib/src /home/junhyeok/eigen-cddlib/build /home/junhyeok/eigen-cddlib/bu
ild/src /home/junhyeok/eigen-cddlib/build/src/CMakeFiles/eigen-cddlib.dir/DependInfo.cmake --color=
Scanning dependencies of target eigen-cddlib
make[2]: Leaving directory `/home/junhyeok/eigen-cddlib/build'
make -f src/CMakeFiles/eigen-cddlib.dir/build.make src/CMakeFiles/eigen-cddlib.dir/build
make[2]: Entering directory `/home/junhyeok/eigen-cddlib/build'
/usr/bin/cmake -E cmake_progress_report /home/junhyeok/eigen-cddlib/build/CMakeFiles 11
[ 50%] Building CXX object src/CMakeFiles/eigen-cddlib.dir/Polyhedron.cpp.o
cd /home/junhyeok/eigen-cddlib/build/src && /usr/bin/c++ -Deigen_cddlib_EXPORTS -Werror -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion -std=c++0x -Wall -W
extra -pedantic -O3 -DNDEBUG -fPIC -I/home/junhyeok/eigen-cddlib/build -I/home/junhyeok/eigen-cddlib/build/include -I/home/junhyeok/eigen-cddlib/include -isystem /usr/include/eigen3 -I/usr/include/cdd -o CMakeF
iles/eigen-cddlib.dir/Polyhedron.cpp.o -c /home/junhyeok/eigen-cddlib/src/Polyhedron.cpp
In file included from /home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:18:0:
/home/junhyeok/eigen-cddlib/src/Polyhedron.h:74:37: error: ‘Eigen::Index’ has not been declared
void initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols);
^
/home/junhyeok/eigen-cddlib/src/Polyhedron.h:74:56: error: ‘Eigen::Index’ has not been declared
void initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols);
^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:89:45: error: variable or field ‘initializeMatrixPtr’ declared void
void Polyhedron::initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols)
^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:89:38: error: ‘Index’ is not a member of ‘Eigen’
void Polyhedron::initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols)
^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:89:57: error: ‘Index’ is not a member of ‘Eigen’
void Polyhedron::initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols)
^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp: In member function ‘bool Eigen::Polyhedron::doubleDescription(const MatrixXd&)’:
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:99:37: error: conversion to ‘int’ from ‘Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1> >::Index {aka long int}’ may alter its value [-Werror=conversion]
initializeMatrixPtr(matrix.rows(), matrix.cols());
^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:99:52: error: conversion to ‘int’ from ‘Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1> >::Index {aka long int}’ may alter its value [-Werror=conversion]
initializeMatrixPtr(matrix.rows(), matrix.cols());
^
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/eigen-cddlib.dir/Polyhedron.cpp.o] Error 1
make[2]: Leaving directory `/home/junhyeok/eigen-cddlib/build'
make[1]: *** [src/CMakeFiles/eigen-cddlib.dir/all] Error 2
make[1]: Leaving directory `/home/junhyeok/eigen-cddlib/build'
make: *** [all] Error 2
I would appreciate if you could help me :)
I can compile the project fine, but with BUILD_TESTING=ON
I get a linking error on TestPolyhedron:
[ 75%] Linking CXX executable TestPolyhedron
cd /home/scaron/Software/eigen-cddlib/build/tests && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/TestPolyhedron.dir/link.txt --verbose=1
/usr/bin/c++ -Werror -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion -O2 -g -DNDEBUG -rdynamic CMakeFiles/TestPolyhedron.dir/TestPolyhedron.cpp.o -o TestPolyhedron -Wl,-rpath,/home/scaron/Software/eigen-cddlib/build/src:/usr/local/lib /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so ../src/libeigen-cdd.so /usr/local/lib/libcdd.so
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 21
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
I can compile the project up to 273da4b, but since fc93c17 it does not compile any more on my system. I get the following error:
cd /home/scaron/Software/eigen-cddlib/build/src && /usr/bin/c++ -Deigen_cdd_EXPORTS -I/home/scaron/Software/eigen-cddlib/build -I/home/scaron/Software/eigen-cddlib/build/include -I/home/scaron/Software/eigen-cddlib/include -I/home/scaron/Software/eigen-cddlib/src -isystem /usr/local/include/eigen3 -Werror -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion -O2 -g -DNDEBUG -fPIC -DEIGEN_CDDLIB_EXPORTS -std=gnu++11 -o CMakeFiles/eigen-cdd.dir/Polyhedron.cpp.o -c /home/scaron/Software/eigen-cddlib/src/Polyhedron.cpp
In file included from /home/scaron/Software/eigen-cddlib/src/Polyhedron.cpp:17:0:
/home/scaron/Software/eigen-cddlib/src/Polyhedron.h:95:37: error: ‘Eigen::Index’ has not been declared
void initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols, bool isFromGenerators);
My version of Eigen is 3.2.10.
I have a question related to PR #5: is it really best to throw exceptions upon conversion errors?
In my use case, the exception was silently handled by an outer program, and it took me a lot of time to find that a global failure was due to a call I made to eigen-cddlib. I wouldn't mind one of the following alternatives:
set*()
functions return bool
instead of void
These sound to me safer/softer than throwing exceptions (which kill everything on their way if not properly caught).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.