Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build error on OpenBSD #454

Closed
thyssentishman opened this issue Nov 27, 2023 · 3 comments · Fixed by #456
Closed

Build error on OpenBSD #454

thyssentishman opened this issue Nov 27, 2023 · 3 comments · Fixed by #456

Comments

@thyssentishman
Copy link
Contributor

I'm trying to port Orocos KDL to OpenBSD and I'm running into some errors I have no idea how to debug. Below a full build log using gcc. Similar errors are shown when compiling with OpenBSD's clang version 16.0.6, but it's too long to include here.

Any ideas?

gcc version 8.4.0 (GCC):

===> Building from scratch orocos_kinematics_dynamics-1.5.1
===>  Checking files for orocos_kinematics_dynamics-1.5.1
===> orocos_kinematics_dynamics-1.5.1 depends on: gcc-libs->=8,<9 -> gcc-libs-8.4.0p18
===> orocos_kinematics_dynamics-1.5.1 depends on: gcc->=8,<9 -> gcc-8.4.0p18
`/usr/ports/distfiles/orocos_kinematics_dynamics-1.5.1.tar.gz' is up to date.
===> orocos_kinematics_dynamics-1.5.1 depends on: g++->=8,<9 -> g++-8.4.0p18
===> orocos_kinematics_dynamics-1.5.1 depends on: ninja-* -> ninja-1.11.1
===> orocos_kinematics_dynamics-1.5.1 depends on: cmake-* -> cmake-3.27.7v0
>> (SHA256) orocos_kinematics_dynamics-1.5.1.tar.gz: OK
===>  Verifying specs:  estdc++>=19
===>  found estdc++.19.0
===>  Extracting for orocos_kinematics_dynamics-1.5.1
===> orocos_kinematics_dynamics-1.5.1 depends on: g++->=8,<9 -> g++-8.4.0p18
===> orocos_kinematics_dynamics-1.5.1 depends on: gcc-libs->=8,<9 -> gcc-libs-8.4.0p18
===>  Patching for orocos_kinematics_dynamics-1.5.1
===>  Compiler link: gcc -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/local/bin/egcc
===>  Compiler link: cc -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/local/bin/egcc
===>  Compiler link: c++ -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/local/bin/eg++
===>  Compiler link: g++ -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/local/bin/eg++
===>  Compiler link: clang -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/bin/clang
===>  Compiler link: clang++ -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/bin/clang++
===>  Generating configure for orocos_kinematics_dynamics-1.5.1
===>  Verifying specs:  estdc++>=19
===>  found estdc++.19.0
===>  Configuring for orocos_kinematics_dynamics-1.5.1
CMake Deprecation Warning at CMakeLists.txt:4 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Orocos KDL version  (1.5.1)
-- Build type set to 'Release' by user.
-- Performing Test HAVE_STL_CONTAINER_INCOMPLETE_TYPES
-- Performing Test HAVE_STL_CONTAINER_INCOMPLETE_TYPES - Success
-- Configuring done (1.7s)
CMake Warning (dev) at src/CMakeLists.txt:58 (ADD_LIBRARY):
  Policy CMP0115 is not set: Source file extensions must be explicit.  Run
  "cmake --help-policy CMP0115" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  File:

    /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/config.h.in
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done (0.0s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_ASM_COMPILER_AR
    CMAKE_ASM_COMPILER_RANLIB
    CMAKE_Fortran_COMPILER_AR
    CMAKE_Fortran_COMPILER_RANLIB
    CMAKE_OBJCXX_COMPILER_AR
    CMAKE_OBJCXX_COMPILER_RANLIB
    CMAKE_OBJC_COMPILER_AR
    CMAKE_OBJC_COMPILER_RANLIB


-- Build files have been written to: /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64
===>  Building for orocos_kinematics_dynamics-1.5.1
Change Dir: '/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64'

Run Build Command(s): /usr/local/bin/ninja -v -j 1
[1/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/articulatedbodyinertia.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/articulatedbodyinertia.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/articulatedbodyinertia.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/articulatedbodyinertia.cpp
[2/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chain.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chain.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chain.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chain.cpp
[3/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chaindynparam.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chaindynparam.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chaindynparam.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chaindynparam.cpp
[4/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chainexternalwrenchestimator.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chainexternalwrenchestimator.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chainexternalwrenchestimator.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainexternalwrenchestimator.cpp
[5/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chainfdsolver_recursive_newton_euler.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chainfdsolver_recursive_newton_euler.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chainfdsolver_recursive_newton_euler.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainfdsolver_recursive_newton_euler.cpp
[6/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chainfksolverpos_recursive.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chainfksolverpos_recursive.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chainfksolverpos_recursive.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainfksolverpos_recursive.cpp
[7/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chainfksolvervel_recursive.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chainfksolvervel_recursive.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chainfksolvervel_recursive.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainfksolvervel_recursive.cpp
[8/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chainhdsolver_vereshchagin.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chainhdsolver_vereshchagin.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chainhdsolver_vereshchagin.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainhdsolver_vereshchagin.cpp
[9/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chainidsolver_recursive_newton_euler.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chainidsolver_recursive_newton_euler.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chainidsolver_recursive_newton_euler.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainidsolver_recursive_newton_euler.cpp
[10/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chainidsolver_vereshchagin.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chainidsolver_vereshchagin.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chainidsolver_vereshchagin.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainidsolver_vereshchagin.cpp
[11/68] /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chainiksolverpos_lma.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chainiksolverpos_lma.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chainiksolverpos_lma.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp
FAILED: src/CMakeFiles/orocos-kdl.dir/chainiksolverpos_lma.cpp.o 
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/bin/c++ -Dorocos_kdl_EXPORTS -I/usr/local/include/eigen3 -I/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/src -O2 -pipe -DNDEBUG -fPIC   -I/usr/local/include/eigen3 -MD -MT src/CMakeFiles/orocos-kdl.dir/chainiksolverpos_lma.cpp.o -MF src/CMakeFiles/orocos-kdl.dir/chainiksolverpos_lma.cpp.o.d -o src/CMakeFiles/orocos-kdl.dir/chainiksolverpos_lma.cpp.o -c /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp
In file included from /usr/local/include/c++/8.4.0/cctype:42,
                 from /usr/local/include/c++/8.4.0/bits/localefwd.h:42,
                 from /usr/local/include/c++/8.4.0/string:43,
                 from /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/joint.hpp:26,
                 from /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/segment.hpp:28,
                 from /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chain.hpp:25,
                 from /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolver.hpp:25,
                 from /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.hpp:34,
                 from /usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:31:
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.hpp:97:40: error: expected ',' or '...' before numeric constant
       const Eigen::Matrix<double,6,1>& _L,
                                        ^~
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:52:36: error: expected ',' or '...' before numeric constant
   const Eigen::Matrix<double,6,1>& _L,
                                    ^~
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp: In constructor 'KDL::ChainIkSolverPos_LMA::ChainIkSolverPos_LMA(const KDL::Chain&, const Eigen::Matrix<double, 6, 1>&)':
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:68:10: error: '_maxiter' was not declared in this scope
  maxiter(_maxiter),
          ^~~~~~~~
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:68:10: note: suggested alternative: 'maxiter'
  maxiter(_maxiter),
          ^~~~~~~~
          maxiter
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:69:6: error: '_eps' was not declared in this scope
  eps(_eps),
      ^~~~
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:69:6: note: suggested alternative: 'eps'
  eps(_eps),
      ^~~~
      eps
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:70:13: error: '_eps_joints' was not declared in this scope
  eps_joints(_eps_joints),
             ^~~~~~~~~~~
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:70:13: note: suggested alternative: 'eps_joints'
  eps_joints(_eps_joints),
             ^~~~~~~~~~~
             eps_joints
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:71:7: error: request for member 'cast' in '2', which is of non-class type 'int'
  L(_L.cast<ScalarType>()),
       ^~~~
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:71:22: error: expected primary-expression before '>' token
  L(_L.cast<ScalarType>()),
                      ^
/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/orocos_kinematics_dynamics-1.5.1/orocos_kdl/src/chainiksolverpos_lma.cpp:71:24: error: expected primary-expression before ')' token
  L(_L.cast<ScalarType>()),
                        ^
ninja: build stopped: subcommand failed.

*** Error 1 in . (/usr/ports/devel/cmake/cmake.port.mk:46 'do-build')
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:3055 '/usr/ports/pobj/orocos_kinematics_dynamics-1.5.1/build-amd64/.build_done')
*** Error 2 in /home/johannes/repos/ports/main/misc/orocos-kdl (/usr/ports/infrastructure/mk/bsd.port.mk:2702 'all')

@MatthijsBurgh
Copy link
Collaborator

Maybe ninja is the issue here?

@thyssentishman
Copy link
Contributor Author

Maybe ninja is the issue here?

I think it's related to the variable naming. Take a look at 3dfxdev/EDGE#29 which seems pretty similar.

@MatthijsBurgh
Copy link
Collaborator

Ok, I suggest you make the changes and see whether it fixes the issues. When that is the case, I can consider merging them back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants