Open erhangk opened 1 year ago
On Fedora 37, catkin workspace does not build.
/home/erhangk/ros_catkin_ws/src/rosconsole/src/rosconsole/impl/rosconsole_log4cxx.cpp:169:23: error: 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: error: no matching function for call to 'log4cxx::spi::LocationInfo::LocationInfo(const char*&, const char*&, int&)' 187 | _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: error: 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: error: conversion from 'log4cxx::spi::LoggerRepository*' to non-scalar type 'log4cxx::spi::LoggerRepositoryPtr' {aka 'std::shared_ptr<log4cxx::spi::LoggerRepository>'} requested 219 | :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: error: 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: error: 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: error: 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. Reproduce this error by running: ==> cd /home/erhangk/ros_catkin_ws/build_isolated/rosconsole && /home/erhangk/ros_catkin_ws/install_isolated/env.sh make -j8 -l8 Command failed, exiting.
For Ubuntu 22, it can be solved by #51 and #54
On Fedora 37, catkin workspace does not build.