From nakano.hiroaki @ nttcom.co.jp Mon Dec 9 11:26:20 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Mon, 09 Dec 2013 11:26:20 +0900 Subject: [Ultramonkey-l7-develop 1014] UM-L7 on fedora19 Message-ID: <52A52A4C.2050603@nttcom.co.jp> 中野@幕張です。 RHEL7対応を見据えて、fedora19でv3.1.0-1を動かしてみました。 まず、コンパイルが通りませんでしたw 以前竹林さんが作ってくれたTIME_UTC絡みの変更を、他のところ にもやらなくてはいけませんでした。 というか、ひょっとして送ってくれた変更をv3.1.0に取り込むときに 漏れてたかな?・・・ あと、なぜかpthread.soをロードしてくれなくて、リンカエラーでました。 configure.inにpthreadライブラリチェックも入れてみたんですが、変わらず。 とりあえず、configure実行時にLIBS="-lpthread"をつけて凌いでいます。 configure.inに何か書けば行けそうな気がしますが、まだ見つけられていません。 いまのdiffです。添付はチケットにでも。 diff --git a/configure.in b/configure.in index 16e0674..348d933 100644 --- a/configure.in +++ b/configure.in @@ -27,6 +27,8 @@ AC_CHECK_LIB(boost_system-mt, main, :, [AC_MSG_ERROR( l7vsd require boost library. )] ) AC_CHECK_LIB([netsnmp], main, :, [AC_MSG_ERROR( l7vsd require netsnmp library. )] ) +AC_CHECK_LIB([pthread], main, :, + [AC_MSG_ERROR( l7vsd require pthread library. )] ) # Checks for header files. AC_CHECK_HEADERS([limits.h unistd.h]) diff --git a/l7vsd/src/tcp_session.cpp b/l7vsd/src/tcp_session.cpp index 1333c88..92ae51a 100644 --- a/l7vsd/src/tcp_session.cpp +++ b/l7vsd/src/tcp_session.cpp @@ -840,7 +840,11 @@ void tcp_session::up_thread_run() } if (!server_connected_flag && server_connect_time_out != 0) { boost::xtime now_time; +#if BOOST_VERSION >= 105000 + boost::xtime_get(&now_time, boost::TIME_UTC_); +#else boost::xtime_get(&now_time, boost::TIME_UTC); +#endif if ((now_time.sec - client_connected_time.sec) > server_connect_time_out) { // timeout detect. boost::system::error_code error_code; client_socket.close(error_code); @@ -1139,7 +1143,11 @@ void tcp_session::up_thread_client_accept(const TCP_PROCESS_TYPE_TAG process_typ this, boost::asio::placeholders::error)); } else { - boost::xtime_get(&client_connected_time, boost::TIME_UTC); +#if BOOST_VERSION >= 105000 + boost::xtime_get(&start_handshake_time, boost::TIME_UTC_); +#else + boost::xtime_get(&start_handshake_time, boost::TIME_UTC); +#endif upthread_status = UPTHREAD_ACTIVE; } up_thread_next_call_function = up_thread_function_array[func_tag]; あと、systemdの設定ファイルも書いてみました。 一応、起動と停止はできました。 -- l7vsd.service -- [Unit] Description=UltraMonkey-L7 loadbalancing daemon After=syslog.target network.target nss-lookup.service [Service] Type=oneshot # LimitNOFILE=65536 EnvironmentFile=/etc/l7vs/l7vs.cf ExecStart=/usr/sbin/l7vsd ExecStop=/bin/kill $MAINPID RemainAfterExit=yes [Install] WantedBy=multi-user.target -- l7directord.service -- [Unit] Description=UltraMonkey-L7 healthcheck daemon After=syslog.target network.target nss-lookup.service [Service] Type=forking EnvironmentFile=/etc/ha.d/conf/l7directord.cf ExecStart=/usr/sbin/l7directord start ExecReload=/usr/sbin/l7directord reload ExecStop=/usr/sbin/l7directord stop PIDFile=/var/run/l7directord.l7directord.pid [Install] WantedBy=multi-user.target -- 中野 宏朗 (NAKANO Hiroaki)