Robotics StackExchange | Archived questions

Error at ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release

I am trying to install ros noetic on fedora 37 by following instructions from http://wiki.ros.org/Installation/Source link. Everything goes well until ./src/catkin/bin/catkinmakeisolated --install -DCMAKEBUILDTYPE=Release line. I gave the error below, this is my first installation of ros, so if you describe what to do for me i would be appreciated. Thank you in advance.

-- Build files have been written to: /home/erhangk/ros_catkin_ws/build_isolated/rosconsole
==> make -j8 -l8 in '/home/erhangk/ros_catkin_ws/build_isolated/rosconsole'
[ 16%] Building CXX object CMakeFiles/rosconsole_backend_interface.dir/src/rosconsole/rosconsole_backend.cpp.o
[ 33%] Linking CXX shared library /home/erhangk/ros_catkin_ws/devel_isolated/rosconsole/lib/librosconsole_backend_interface.so
[ 33%] Built target rosconsole_backend_interface
[ 50%] Building CXX object CMakeFiles/rosconsole_log4cxx.dir/src/rosconsole/impl/rosconsole_log4cxx.cpp.o
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp: 'void ros::console::impl::initialize()' işlevinde:
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp:169:23: hata: cannot convert 'ros::console::impl::ROSConsoleStdioAppender*' to 'log4cxx::AppenderPtr' {aka 'std::shared_ptr<log4cxx::Appender>'}
  169 |   logger->addAppender(new ROSConsoleStdioAppender);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                       |
      |                       ros::console::impl::ROSConsoleStdioAppender*
In file included from /usr/include/log4cxx/spi/loggingevent.h:28,
                 from /usr/include/log4cxx/layout.h:29,
                 from /usr/include/log4cxx/appenderskeleton.h:28,
                 from /home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp:42:
/usr/include/log4cxx/logger.h:144:60: bilgi:   initializing argument 1 of 'virtual void log4cxx::Logger::addAppender(log4cxx::AppenderPtr)'
  144 |                 virtual void addAppender(const AppenderPtr newAppender);
      |                                          ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp: 'void ros::console::impl::print(void*, ros::console::Level, const char*, const char*, const char*, int)' işlevinde:
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp:187:98: hata: no matching function for call to 'log4cxx::spi::LocationInfo::LocationInfo(const char*&, const char*&, int&)'
  187 | logger->forcedLog(g_level_lookup[level], str, log4cxx::spi::LocationInfo(file, function, line));
      |                                                                                              ^

In file included from /usr/include/log4cxx/logger.h:33:
/usr/include/log4cxx/spi/location/locationinfo.h:94:17: bilgi: candidate: 'log4cxx::spi::LocationInfo::LocationInfo(const log4cxx::spi::LocationInfo&)'
   94 |                 LocationInfo( const LocationInfo& src );
      |                 ^~~~~~~~~~~~
/usr/include/log4cxx/spi/location/locationinfo.h:94:17: bilgi:   candidate expects 1 argument, 3 provided
/usr/include/log4cxx/spi/location/locationinfo.h:88:17: bilgi: candidate: 'log4cxx::spi::LocationInfo::LocationInfo()'
   88 |                 LocationInfo();
      |                 ^~~~~~~~~~~~
/usr/include/log4cxx/spi/location/locationinfo.h:88:17: bilgi:   candidate expects 0 arguments, 3 provided
/usr/include/log4cxx/spi/location/locationinfo.h:80:17: bilgi: candidate: 'log4cxx::spi::LocationInfo::LocationInfo(const char*, const char*, const char*, int)'
   80 |                 LocationInfo( const char* const fileName,
      |                 ^~~~~~~~~~~~
/usr/include/log4cxx/spi/location/locationinfo.h:80:17: bilgi:   candidate expects 4 arguments, 3 provided
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp: 'void* ros::console::impl::getHandle(const std::string&)' işlevinde:
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp:203:36: hata: cannot convert 'log4cxx::LoggerPtr' {aka 'std::shared_ptr<log4cxx::Logger>'} to 'void*' in return
  203 |   return log4cxx::Logger::getLogger(name);
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
      |                                    |
      |                                    log4cxx::LoggerPtr {aka std::shared_ptr<log4cxx::Logger>}
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp: 'bool ros::console::impl::get_loggers(std::map<std::__cxx11::basic_string<char>, ros::console::levels::Level>&)' işlevinde:
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp:219:120: hata: conversion from 'log4cxx::spi::LoggerRepository*' to non-scalar type 'log4cxx::spi::LoggerRepositoryPtr' {aka 'std::shared_ptr<log4cxx::spi::LoggerRepository>'} requested
  219 | sitoryPtr repo = log4cxx::Logger::getLogger(ROSCONSOLE_ROOT_LOGGER_NAME)->getLoggerRepository();
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~

/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp: 'void ros::console::impl::register_appender(ros::console::LogAppender*)' işlevinde:
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp:361:23: hata: cannot convert 'ros::console::impl::Log4cxxAppender*' to 'log4cxx::AppenderPtr' {aka 'std::shared_ptr<log4cxx::Appender>'}
  361 |   logger->addAppender(g_log4cxx_appender);
      |                       ^~~~~~~~~~~~~~~~~~
      |                       |
      |                       ros::console::impl::Log4cxxAppender*
/usr/include/log4cxx/logger.h:144:60: bilgi:   initializing argument 1 of 'virtual void log4cxx::Logger::addAppender(log4cxx::AppenderPtr)'
  144 |                 virtual void addAppender(const AppenderPtr newAppender);
      |                                          ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp: 'void ros::console::impl::deregister_appender(ros::console::LogAppender*)' işlevinde:
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp:368:27: hata: no matching function for call to 'log4cxx::Logger::removeAppender(ros::console::impl::Log4cxxAppender*&)'
  368 |     logger->removeAppender(g_log4cxx_appender);
      |     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/usr/include/log4cxx/logger.h:1450:22: bilgi: candidate: 'virtual void log4cxx::Logger::removeAppender(log4cxx::AppenderPtr)'
 1450 |                 void removeAppender(const AppenderPtr appender);
      |                      ^~~~~~~~~~~~~~
/usr/include/log4cxx/logger.h:1450:55: bilgi:   no known conversion for argument 1 from 'ros::console::impl::Log4cxxAppender*' to 'log4cxx::AppenderPtr' {aka 'std::shared_ptr<log4cxx::Appender>'}
 1450 |                 void removeAppender(const AppenderPtr appender);
      |                                     ~~~~~~~~~~~~~~~~~~^~~~~~~~
/usr/include/log4cxx/logger.h:1456:22: bilgi: candidate: 'virtual void log4cxx::Logger::removeAppender(const log4cxx::LogString&)'
 1456 |                 void removeAppender(const LogString& name);
      |                      ^~~~~~~~~~~~~~
/usr/include/log4cxx/logger.h:1456:54: bilgi:   no known conversion for argument 1 from 'ros::console::impl::Log4cxxAppender*' to 'const log4cxx::LogString&' {aka 'const std::__cxx11::basic_string<char>&'}
 1456 |                 void removeAppender(const LogString& name);
      |                                     ~~~~~~~~~~~~~~~~~^~~~
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp: 'void ros::console::impl::shutdown()' işlevinde:
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp:378:27: hata: no matching function for call to 'log4cxx::Logger::removeAppender(ros::console::impl::Log4cxxAppender*&)'
  378 |     logger->removeAppender(g_log4cxx_appender);
      |     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/usr/include/log4cxx/logger.h:1450:22: bilgi: candidate: 'virtual void log4cxx::Logger::removeAppender(log4cxx::AppenderPtr)'
 1450 |                 void removeAppender(const AppenderPtr appender);
      |                      ^~~~~~~~~~~~~~
/usr/include/log4cxx/logger.h:1450:55: bilgi:   no known conversion for argument 1 from 'ros::console::impl::Log4cxxAppender*' to 'log4cxx::AppenderPtr' {aka 'std::shared_ptr<log4cxx::Appender>'}
 1450 |                 void removeAppender(const AppenderPtr appender);
      |                                     ~~~~~~~~~~~~~~~~~~^~~~~~~~
/usr/include/log4cxx/logger.h:1456:22: bilgi: candidate: 'virtual void log4cxx::Logger::removeAppender(const log4cxx::LogString&)'
 1456 |                 void removeAppender(const LogString& name);
      |                      ^~~~~~~~~~~~~~
/usr/include/log4cxx/logger.h:1456:54: bilgi:   no known conversion for argument 1 from 'ros::console::impl::Log4cxxAppender*' to 'const log4cxx::LogString&' {aka 'const std::__cxx11::basic_string<char>&'}
 1456 |                 void removeAppender(const LogString& name);
      |                                     ~~~~~~~~~~~~~~~~~^~~~
make[2]: *** [CMakeFiles/rosconsole_log4cxx.dir/build.make:76: CMakeFiles/rosconsole_log4cxx.dir/src/rosconsole/impl/rosconsole_log4cxx.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:318: CMakeFiles/rosconsole_log4cxx.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
<== Failed to process package 'rosconsole': 
  Command '['/home/erhangk/ros_catkin_ws/install_isolated/env.sh', 'make', '-j8', '-l8']' returned non-zero exit status 2.

Asked by erhan_gk on 2023-03-18 18:37:11 UTC

Comments

Answers

I have learned that the reason why i am getting this error is because my log4cxx package version is 0.13.0 . I have encountered some fixes for version 13 on ros github page but it seems that that fixes was not applied to the rosconsole_log4cxx.cpp file. Can anyone help me about that? Github link was https://github.com/ros/rosconsole/pull/54

Asked by erhan_gk on 2023-03-20 15:16:01 UTC

Comments