icinga2 icon indicating copy to clipboard operation
icinga2 copied to clipboard

Compile error on Solaris 11.4

Open rwaffen opened this issue 3 years ago • 0 comments

Describe the bug

When compiling icinga2 on Solaris 11.4 i get the following error:

root@solaris11:~/icinga2# make
[  1%] Building C object third-party/mmatch/CMakeFiles/mmatch.dir/mmatch.c.o
[  1%] Built target mmatch
[  2%] Building C object third-party/execvpe/CMakeFiles/execvpe.dir/execvpe.c.o
[  2%] Built target execvpe
[  3%] Building C object third-party/socketpair/CMakeFiles/socketpair.dir/socketpair.c.o
[  3%] Built target socketpair
[  4%] [BISON][class_parser] Building parser with bison 3.0.4
class_parser.yy: Warnung: 2 Schiebe/Reduzier-Konflikte [-Wconflicts-sr]
[  6%] [FLEX][class_lexer] Building scanner with flex 2.6.4
Scanning dependencies of target mkclass
[  7%] Building CXX object tools/mkclass/CMakeFiles/mkclass.dir/mkclass.cpp.o
[  8%] Building CXX object tools/mkclass/CMakeFiles/mkclass.dir/classcompiler.cpp.o
[  9%] Building CXX object tools/mkclass/CMakeFiles/mkclass.dir/class_lexer.cc.o
[ 11%] Building CXX object tools/mkclass/CMakeFiles/mkclass.dir/class_parser.cc.o
[ 12%] Linking CXX executable ../../Bin/Release/mkclass
[ 12%] Built target mkclass
[ 13%] Building C object tools/mkembedconfig/CMakeFiles/mkembedconfig.dir/mkembedconfig.c.o
[ 14%] Linking C executable ../../Bin/Release/mkembedconfig
[ 14%] Built target mkembedconfig
[ 16%] Building C object tools/mkunity/CMakeFiles/mkunity.dir/mkunity.c.o
[ 17%] Linking C executable ../../Bin/Release/mkunity
[ 17%] Built target mkunity
[ 18%] Generating application-ti.cpp, application-ti.hpp
[ 19%] Generating configobject-ti.cpp, configobject-ti.hpp
[ 20%] Generating configuration-ti.cpp, configuration-ti.hpp
[ 22%] Generating datetime-ti.cpp, datetime-ti.hpp
[ 23%] Generating filelogger-ti.cpp, filelogger-ti.hpp
[ 24%] Generating function-ti.cpp, function-ti.hpp
[ 25%] Generating journaldlogger-ti.cpp, journaldlogger-ti.hpp
[ 27%] Generating logger-ti.cpp, logger-ti.hpp
[ 28%] Generating perfdatavalue-ti.cpp, perfdatavalue-ti.hpp
[ 29%] Generating streamlogger-ti.cpp, streamlogger-ti.hpp
[ 30%] Generating sysloglogger-ti.cpp, sysloglogger-ti.hpp
[ 32%] Generating base_unity.cpp
Scanning dependencies of target base
[ 33%] Building CXX object lib/base/CMakeFiles/base.dir/application-version.cpp.o
[ 34%] Building CXX object lib/base/CMakeFiles/base.dir/journaldlogger.cpp.o
[ 35%] Building CXX object lib/base/CMakeFiles/base.dir/base_unity.cpp.o
In file included from /root/icinga2/lib/base/base_unity.cpp:64:0:
/root/icinga2/lib/base/sysloglogger.cpp: In statischer Elementfunktion »static void icinga::SyslogHelper::StaticInitialize()«:
/root/icinga2/lib/base/sysloglogger.cpp:47:29: Fehler: »LOG_FTP« wurde in diesem Gültigkeitsbereich nicht definiert
  m_FacilityMap["LOG_FTP"] = LOG_FTP;
                             ^~~~~~~
/root/icinga2/lib/base/sysloglogger.cpp:47:29: Anmerkung: empfohlene Alternative: »LOG_ERR«
  m_FacilityMap["LOG_FTP"] = LOG_FTP;
                             ^~~~~~~
                             LOG_ERR
*** Error code 1
The following command caused the error:
cd /root/icinga2/lib/base && /usr/bin/c++  -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -DBOOST_FILESYSTEM_NO_DEPRECATED -D_GNU_SOURCE -I/usr -I/root/icinga2/third-party/nlohmann_json -I/root/icinga2/third-party/utf8cpp/source -I/root/icinga2 -I/root/icinga2/lib -I/root/icinga2/third-party/execvpe -I/root/icinga2/third-party/mmatch -I/root/icinga2/third-party/socketpair -g -pthread -Winvalid-pch -std=c++0x -O3 -DNDEBUG -o CMakeFiles/base.dir/base_unity.cpp.o -c /root/icinga2/lib/base/base_unity.cpp
make: Fatal error: Command failed for target `lib/base/CMakeFiles/base.dir/base_unity.cpp.o'
Current working directory /root/icinga2
*** Error code 1
The following command caused the error:
make -f lib/base/CMakeFiles/base.dir/build.make lib/base/CMakeFiles/base.dir/build
make: Fatal error: Command failed for target `lib/base/CMakeFiles/base.dir/all'
Current working directory /root/icinga2
*** Error code 1
The following command caused the error:
make -f CMakeFiles/Makefile2 all
make: Fatal error: Command failed for target `all'

To Reproduce

  1. install dependiesn like gcc or boost
  2. clone master @ 9ffcc80e9aaaa338cefb8f9c99d16ddd2caadbf9
  3. cmake -DICINGA2_WITH_MYSQL=OFF -DICINGA2_WITH_PGSQL=OFF -DICINGA2_WITH_ICINGADB=OFF -DICINGA2_WITH_LIVESTATUS=OFF -DICINGA2_WITH_COMPAT=OFF -DICINGA2_WITH_PERFDATA=OFF -DICINGA2_WITH_TESTS=OFF .
  4. make
  5. get error

Expected behavior

it should build without this error

Your Environment

Include as many relevant details about the environment you experienced the problem in

  • Version used (icinga2 --version): not applicable
  • Operating System and version: Oracle Solaris 11.4
  • Enabled features (icinga2 feature list): not applicable
  • Icinga Web 2 version and modules (System - About): not applicable
  • Config validation (icinga2 daemon -C): not applicable
  • GCC: gcc (GCC) 7.3.0
  • Boost: 1.79.0

Additional context

if i do as the compiler says and change LOG_FTP to LOG_ERR it works. But i have no idea what implication this could have 🤷

index c21445eca..3f9520267 100644
--- a/lib/base/sysloglogger.cpp
+++ b/lib/base/sysloglogger.cpp
@@ -44,7 +44,7 @@ void SyslogHelper::StaticInitialize()
        m_FacilityMap["LOG_AUTHPRIV"] = LOG_AUTHPRIV;
        m_FacilityMap["LOG_CRON"] = LOG_CRON;
        m_FacilityMap["LOG_DAEMON"] = LOG_DAEMON;
-       m_FacilityMap["LOG_FTP"] = LOG_FTP;
+       m_FacilityMap["LOG_FTP"] = LOG_ERR;
        m_FacilityMap["LOG_KERN"] = LOG_KERN;
        m_FacilityMap["LOG_LOCAL0"] = LOG_LOCAL0;
        m_FacilityMap["LOG_LOCAL1"] = LOG_LOCAL1;

rwaffen avatar Aug 15 '22 13:08 rwaffen