Linking error

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
Netzschlange
Posts: 7
Joined: Sun Dec 25, 2016 1:24 pm

Linking error

Post by Netzschlange »

Error occurred while linking Assembly module:

Code: Select all

[ 85%] Linking CXX shared library ../../../../Mod/Assembly/Assembly.so
CMakeFiles/Assembly.dir/Solver/solver_3d_ext2.cpp.o: In function `double dcm::Distance::type<dcm::Kernel<double, dcm::Dogleg>, dcm::tag::line3D, dcm::tag::line3D>::calculate<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > >(Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&)':
/home/alexandr/rpmbuild/BUILD/FreeCAD-0.17/src/Mod/Assembly/App/opendcm/module3d/distance.hpp:446: undefined reference to `dcm::Kernel<double, dcm::Dogleg>::isSame(double, double, double)'
CMakeFiles/Assembly.dir/Solver/solver_3d_ext2.cpp.o: In function `double dcm::Distance::type<dcm::Kernel<double, dcm::Dogleg>, dcm::tag::line3D, dcm::tag::line3D>::calculateGradientFirst<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> >, Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, -1>, -1, 1, true> >(Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&, Eigen::MatrixBase<Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, -1>, -1, 1, true> > const&)':
/home/alexandr/rpmbuild/BUILD/FreeCAD-0.17/src/Mod/Assembly/App/opendcm/module3d/distance.hpp:463: undefined reference to `dcm::Kernel<double, dcm::Dogleg>::isSame(double, double, double)'
CMakeFiles/Assembly.dir/Solver/solver_3d_ext2.cpp.o: In function `void dcm::Distance::type<dcm::Kernel<double, dcm::Dogleg>, dcm::tag::line3D, dcm::tag::line3D>::calculateGradientFirstComplete<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > >(Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > >&)':
/home/alexandr/rpmbuild/BUILD/FreeCAD-0.17/src/Mod/Assembly/App/opendcm/module3d/distance.hpp:515: undefined reference to `dcm::Kernel<double, dcm::Dogleg>::isSame(double, double, double)'
CMakeFiles/Assembly.dir/Solver/solver_3d_ext2.cpp.o: In function `double dcm::Distance::type<dcm::Kernel<double, dcm::Dogleg>, dcm::tag::line3D, dcm::tag::line3D>::calculateGradientSecond<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> >, Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, -1>, -1, 1, true> >(Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&, Eigen::MatrixBase<Eigen::Block<Eigen::Matrix<double, -1, -1, 0, -1, -1>, -1, 1, true> > const&)':
/home/alexandr/rpmbuild/BUILD/FreeCAD-0.17/src/Mod/Assembly/App/opendcm/module3d/distance.hpp:489: undefined reference to `dcm::Kernel<double, dcm::Dogleg>::isSame(double, double, double)'
CMakeFiles/Assembly.dir/Solver/solver_3d_ext2.cpp.o: In function `void dcm::Distance::type<dcm::Kernel<double, dcm::Dogleg>, dcm::tag::line3D, dcm::tag::line3D>::calculateGradientSecondComplete<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> >, Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > >(Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > > const&, Eigen::MatrixBase<Eigen::Map<Eigen::Matrix<double, -1, 1, 0, -1, 1>, 0, Eigen::Stride<-1, -1> > >&)':
/home/alexandr/rpmbuild/BUILD/FreeCAD-0.17/src/Mod/Assembly/App/opendcm/module3d/distance.hpp:534: undefined reference to `dcm::Kernel<double, dcm::Dogleg>::isSame(double, double, double)'
CMakeFiles/Assembly.dir/Solver/solver_3d_ext2.cpp.o:/home/alexandr/rpmbuild/BUILD/FreeCAD-0.17/src/Mod/Assembly/App/opendcm/module3d/distance.hpp:446: more undefined references to `dcm::Kernel<double, dcm::Dogleg>::isSame(double, double, double)' follow
collect2: error: ld returned 1 exit status
How resolve these errors?
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: Linking error

Post by ickby »

you don't. that module is not functional.
efferre
Posts: 41
Joined: Tue Jul 03, 2018 12:41 pm

Re: Linking error

Post by efferre »

ickby wrote: Sun Dec 25, 2016 5:16 pm you don't. that module is not functional.
should it make sense to remove it from the source code? or do you prefer to add an error when BUILD_ASSEMBLY is defined by the user who tries to build freecad?
Post Reply