icinga2
icinga2 copied to clipboard
Compile error on Solaris 11.4
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
- install dependiesn like gcc or boost
- clone master @ 9ffcc80e9aaaa338cefb8f9c99d16ddd2caadbf9
- 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 .
- make
- 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;