From nakano.hiroaki @ nttcom.co.jp Mon Jun 10 13:29:53 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Mon, 10 Jun 2013 13:29:53 +0900 Subject: [Ultramonkey-l7-develop 920] Re: =?iso-2022-jp?b?ZGViaWFuIHRlc3RpbmcbJEIkRyROJTMlcyVRJSQbKEI=?= =?iso-2022-jp?b?GyRCJWslKCVpITwbKEI=?= In-Reply-To: <51B1712D.4060909@nttcom.co.jp> References: <511126D8.60807@iwao.net> <5146D35D.5020704@nttcom.co.jp> <51B1712D.4060909@nttcom.co.jp> Message-ID: <51B55641.7070103@nttcom.co.jp> 中野@幕張です。 誰も返信ないので、自分の解釈でつくってみたパッチを 載せます。 パッチファイル自体はチケットへの添付およびbranchを 切ってのリポジトリ登録をするので、そちらからとって下さい。 MLはソースレビュー中心。 diff --git a/l7vsd/module/protocol/protocol_module_ip.cpp b/l7vsd/module/protocol/protocol_module_ip.cpp index 2d3ec46..397a5c7 100644 --- a/l7vsd/module/protocol/protocol_module_ip.cpp +++ b/l7vsd/module/protocol/protocol_module_ip.cpp @@ -324,7 +324,6 @@ protocol_module_base::check_message_result protocol_module_ip::check_parameter(c bool timeout_flag = false; bool reschedule_flag = false; bool no_reschedule_flag = false; - bool forward_checked = false; bool sorryuri_checked = false; bool stats_checked = false; @@ -447,11 +446,6 @@ protocol_module_base::check_message_result protocol_module_ip::check_parameter(c break; } } - //option string = "-F" - else if (*it == "-F" || *it == "--forwarded-for") { - //set forward flag ON - forward_checked = true; - } //option string = "-S" else if (*it == "-S" || *it == "--sorry-uri") { //set sorryURI flag OFF diff --git a/l7vsd/module/protocol/protocol_module_sessionless.cpp b/l7vsd/module/protocol/protocol_module_sessionless.cpp index d042afb..e44c90e 100644 --- a/l7vsd/module/protocol/protocol_module_sessionless.cpp +++ b/l7vsd/module/protocol/protocol_module_sessionless.cpp @@ -356,7 +356,6 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa //set check result true check_message_result check_result; check_result.flag = true; - bool forward_checked = false; bool sorryuri_checked = false; bool stats_checked = false; @@ -405,13 +404,8 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa vec_str_it it_end = args.end(); //loop option strings for (; it != it_end; ++it) { - //option string = "-F" - if (*it == "-F" || *it == "--forwarded-for") { - //set forward flag ON - forward_checked = true; - } //option string = "-S" - else if (*it == "-S" || *it == "--sorry-uri") { + if (*it == "-S" || *it == "--sorry-uri") { //set sorryURI flag OFF if (!sorryuri_checked) { //next item exist 余計なforwarded-forチェックは消し。 @@ -5657,11 +5651,6 @@ bool protocol_module_ip::put_data_into_sendbuffer( buffer_element.first += sendbuffer_rest_size; buffer_element.second -= sendbuffer_rest_size; sendbuffer_rest_size = 0; - - //add remain item - data_ptr->buffer_sequence.push_back(buffer_element); - //delete the item - data_ptr->buffer_sequence.pop_front(); break; } } 意味不明コードも消し。 diff --git a/l7vsd/module/protocol/protocol_module_ip.h b/l7vsd/module/protocol/protocol_module_ip.h index 50d064b..54af5f7 100644 --- a/l7vsd/module/protocol/protocol_module_ip.h +++ b/l7vsd/module/protocol/protocol_module_ip.h @@ -93,8 +93,8 @@ protected: hash = cl_endpoint.address().to_v4().to_ulong() * GOLDEN_RATIO_PRIME; } else { boost::asio::ip::address_v6::bytes_type v6_bytes = cl_endpoint.address().to_v6().to_bytes(); - boost::asio::ip::address_v4::bytes_type v4_bytes = {{v6_bytes[12], v6_bytes[13], v6_bytes[14], v6_bytes[15]}}; - boost::asio::ip::address_v4::address_v4 v4_address = boost::asio::ip::address_v4::address_v4(v4_bytes); + const boost::asio::ip::address_v4::bytes_type v4_bytes = {{v6_bytes[12], v6_bytes[13], v6_bytes[14], v6_bytes[15]}}; + boost::asio::ip::address_v4 v4_address(v4_bytes); hash = v4_address.to_ulong() * GOLDEN_RATIO_PRIME; } コンストラクタと変数定義を勘違いしたコードは修正。 diff --git a/l7vsd/src/l7vsadm.cpp b/l7vsd/src/l7vsadm.cpp index b63d573..fb38259 100644 --- a/l7vsd/src/l7vsadm.cpp +++ b/l7vsd/src/l7vsadm.cpp @@ -2957,9 +2957,8 @@ bool l7vs::l7vsadm::execute(int argc, char *argv[]) // Get l7vsadm execute file path from /proc/(pid)/exe (symbolic link) char l7vsadm_file_path[256]; - ssize_t retsize; memset(l7vsadm_file_path, 0, sizeof(l7vsadm_file_path)); - retsize = readlink("/proc/self/exe", l7vsadm_file_path, sizeof(l7vsadm_file_path)); + readlink("/proc/self/exe", l7vsadm_file_path, sizeof(l7vsadm_file_path)); // L7vsadm command conflict check. (Try l7vsadm execute file lock) file_lock lock(l7vsadm_file_path, l7vsadm_err); ファイルロックのエラー処理に任せるのでreadlinkのエラーチェックは省略。 diff --git a/l7vsd/src/logger_impl.cpp b/l7vsd/src/logger_impl.cpp index 0ab72b1..6336f5d 100644 --- a/l7vsd/src/logger_impl.cpp +++ b/l7vsd/src/logger_impl.cpp @@ -343,9 +343,8 @@ bool l7vs::LoggerImpl::init() } // get hostname - int ret = 0; char buff[HOST_NAME_MAX]; - ret = gethostname(buff, HOST_NAME_MAX); + gethostname(buff, HOST_NAME_MAX); hostname = buff; UMのホストネーム引けなくてもエラーにはしないようにする。 initialized = true; diff --git a/l7vsd/src/session_thread_control.cpp b/l7vsd/src/session_thread_control.cpp index df0c938..8a9b425 100644 --- a/l7vsd/src/session_thread_control.cpp +++ b/l7vsd/src/session_thread_control.cpp @@ -33,18 +33,19 @@ namespace l7vs // //! @brief create up down thread // -void session_thread_control::start_thread() +int session_thread_control::start_thread() { - int int_val; - upthread.reset(new boost::thread(&session_thread_control::upstream_run, this)); //! upstream thread create downthread.reset(new boost::thread(&session_thread_control::downstream_run, this)); //! downstream thread create //pthread_setschedparam int retval, sched_policy; sched_param scheduler_param; - int_val = pthread_getschedparam(upthread->native_handle(), &sched_policy, &scheduler_param); + retval = pthread_getschedparam(upthread->native_handle(), &sched_policy, &scheduler_param); + if (retval != 0) return retval; + if (SCHED_FIFO == sched_algorithm) { scheduler_param.__sched_priority = sched_priority; sched_policy = SCHED_FIFO; @@ -56,7 +57,9 @@ void session_thread_control::start_thread() } if (0 <= sched_algorithm) { retval = pthread_setschedparam(upthread->native_handle(), sched_algorithm, &scheduler_param); + if (retval != 0 ) return retval; retval = pthread_setschedparam(downthread->native_handle(), sched_algorithm, &scheduler_param); + if (retval != 0 ) return retval; } + return retval; } diff --git a/l7vsd/include/session_thread_control.h b/l7vsd/include/session_thread_control.h index fa830b7..29d15df 100644 --- a/l7vsd/include/session_thread_control.h +++ b/l7vsd/include/session_thread_control.h @@ -120,7 +120,7 @@ public: } //! create up down thread - void start_thread(); + int start_thread(); //! session shared ptr getter //! @return session shared ptr diff --git a/l7vsd/src/virtualservice_tcp.cpp b/l7vsd/src/virtualservice_tcp.cpp index bdb6bd6..c473186 100644 --- a/l7vsd/src/virtualservice_tcp.cpp +++ b/l7vsd/src/virtualservice_tcp.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include "virtualservice.h" #include "logger_enum.h" @@ -550,6 +551,8 @@ void l7vs::virtualservice_tcp::handle_accept(const l7vs::session_thread_control */ void l7vs::virtualservice_tcp::initialize(l7vs::error_code &err) { + int ret = 0; + if (unlikely(LOG_LV_DEBUG == Logger::getLogLevel(LOG_CAT_L7VSD_VIRTUALSERVICE))) { boost::format formatter("in_function: void virtualservice_tcp::initialize( " "l7vs::error_code& err )"); @@ -826,7 +829,16 @@ void l7vs::virtualservice_tcp::initialize(l7vs::error_code &err) session_thread_control *p_stc = new session_thread_control( sess, vsnic_cpumask, rsnic_cpumask, -1); - p_stc->start_thread(); + ret = p_stc->start_thread(); + if (ret == ESRCH) { + continue; + } else if (ret == EPERM) { + //Error + Logger::putLogError(LOG_CAT_L7VSD_VIRTUALSERVICE, 999, "Not super user authority", + __FILE__, __LINE__); + err.setter(true, "set pthread schedule parameter."); + throw; + } while (!pool_sessions.push(p_stc)) {} } catch (...) { Logger::putLogFatal( スレッドのパラメータ設定は、エラー処理を追加。 getとset共通のエラーであるESRCHは該当スレッドが落ちてたりしたときなので、 そのときは再度スレッドプールからスレッドをとって来るように。 setのときのEPERMはroot権限ないときなので、その旨をログ出力して例外を投げて エラー終了させる。 そのほかにはEINVALが返るともあるが、どうせSEGV時のエラーなのでcoreを吐くだろうと 思ってスルー。 diff --git a/l7vsd/src/virtualservice_base.cpp b/l7vsd/src/virtualservice_base.cpp index 94ab8a2..994c634 100644 --- a/l7vsd/src/virtualservice_base.cpp +++ b/l7vsd/src/virtualservice_base.cpp @@ -481,7 +481,7 @@ cpu_set_t l7vs::virtualservice_base::get_cpu_mask(std::string nic_name) map< size_t, string > cpu_nic_map; string buff; ifstream ifs("/proc/interrupts"); - unsigned int target_interrupt; + //unsigned int target_interrupt; size_t target_cpuid = 0; cpu_set_t mask; sched_getaffinity(0, sizeof(cpu_set_t), &mask); @@ -503,7 +503,8 @@ cpu_set_t l7vs::virtualservice_base::get_cpu_mask(std::string nic_name) algorithm::split(split_vec, buff, algorithm::is_any_of(":")); if (!split_vec.size()) return mask; // cannot split interrupt algorithm::trim(split_vec[0]); - target_interrupt = lexical_cast(split_vec[0]); + //target_interrupt = lexical_cast(split_vec[0]); + lexical_cast(split_vec[0]); for (size_t i = 0; i < cpu_nic_map.size(); ++i) { size_t start_position = 4 + (i * 11); size_t end_position = 11; ここは一応、使うかもしれないんでメモ代わりに残しておくことに。 (2013/06/07 14:35), 中野 宏朗 wrote: > 中野@幕張です。 > > この変更をv3.1.0に入れたいとのことですが、 > 修正方針にコメントとかないですかね? > > とくに、過去このコードを書いた人。 > > 単に消していいのかどうか、コードからだけじゃ意図が > 良くわかんないコードが多いんですよね・・・ > > # linux kernelのコードみたいに、各ファイルの冒頭copyrightに > # 会社名じゃなくて個人名書けよ、って思ってたり;P > > (2013/03/18 17:42), 中野 宏朗 wrote: >> 中野@幕張です。 >> >> そういえばこれはまだチケット発行してなかったですね。 >> v3.1.0には間に合わないかな? >> >> wheezyのgccは4.6になります。あ、でもバージョンアップ >> してるから4.7とかになってたりして。 >> >> fedoraだとfedora 16が4.6、17だと4.7系ですね。 >> v3.1.xの早いうちに対応したほうが良さそうです。 >> チケット発行しておきます。 >> >> 修正方針メモを投稿しておきます。 >> こんな感じでOK? >> >> ===================== >> diff --git a/l7vsd/module/protocol/protocol_module_ip.cpp b/l7vsd/module/protocol/protocol_module_ip.cpp >> index 2d3ec46..8c028d6 100644 >> --- a/l7vsd/module/protocol/protocol_module_ip.cpp >> +++ b/l7vsd/module/protocol/protocol_module_ip.cpp >> @@ -324,7 +324,7 @@ protocol_module_base::check_message_result protocol_module_ip::check_parameter(c >> bool timeout_flag = false; >> bool reschedule_flag = false; >> bool no_reschedule_flag = false; >> - bool forward_checked = false; >> + //bool forward_checked = false; >> bool sorryuri_checked = false; >> bool stats_checked = false; >> >> @@ -450,7 +450,7 @@ protocol_module_base::check_message_result protocol_module_ip::check_parameter(c >> //option string = "-F" >> else if (*it == "-F" || *it == "--forwarded-for") { >> //set forward flag ON >> - forward_checked = true; >> + //forward_checked = true; >> } >> //option string = "-S" >> else if (*it == "-S" || *it == "--sorry-uri") { >> check_parameterでのforwadedフラグチェックは意味無いからなくしていい。 >> >> @@ -5657,11 +5657,6 @@ bool protocol_module_ip::put_data_into_sendbuffer( >> buffer_element.first += sendbuffer_rest_size; >> buffer_element.second -= sendbuffer_rest_size; >> sendbuffer_rest_size = 0; >> - >> - //add remain item >> - data_ptr->buffer_sequence.push_back(buffer_element); >> - //delete the item >> - data_ptr->buffer_sequence.pop_front(); >> break; >> } >> } >> これは不明 >> >> diff --git a/l7vsd/module/protocol/protocol_module_ip.h b/l7vsd/module/protocol/protocol_module_ip.h >> index 50d064b..54af5f7 100644 >> --- a/l7vsd/module/protocol/protocol_module_ip.h >> +++ b/l7vsd/module/protocol/protocol_module_ip.h >> @@ -93,8 +93,8 @@ protected: >> hash = cl_endpoint.address().to_v4().to_ulong() * GOLDEN_RATIO_PRIME; >> } else { >> boost::asio::ip::address_v6::bytes_type v6_bytes = cl_endpoint.address().to_v6().to_bytes(); >> - boost::asio::ip::address_v4::bytes_type v4_bytes = {{v6_bytes[12], v6_bytes[13], v6_bytes[14], >> v6_bytes[15]}}; >> - boost::asio::ip::address_v4::address_v4 v4_address = >> boost::asio::ip::address_v4::address_v4(v4_bytes); >> + const boost::asio::ip::address_v4::bytes_type v4_bytes = {{v6_bytes[12], v6_bytes[13], >> v6_bytes[14], v6_bytes[15]}}; >> + boost::asio::ip::address_v4 v4_address(v4_bytes); >> hash = v4_address.to_ulong() * GOLDEN_RATIO_PRIME; >> 将来的には治したほうがいい。 >> >> } >> diff --git a/l7vsd/module/protocol/protocol_module_sessionless.cpp b/l7vsd/module/protocol/protocol_module_sessionless.cpp >> index d042afb..f655cec 100644 >> --- a/l7vsd/module/protocol/protocol_module_sessionless.cpp >> +++ b/l7vsd/module/protocol/protocol_module_sessionless.cpp >> @@ -356,7 +356,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa >> //set check result true >> check_message_result check_result; >> check_result.flag = true; >> - bool forward_checked = false; >> + //bool forward_checked = false; >> bool sorryuri_checked = false; >> bool stats_checked = false; >> >> @@ -408,7 +408,7 @@ protocol_module_base::check_message_result protocol_module_sessionless::check_pa >> //option string = "-F" >> if (*it == "-F" || *it == "--forwarded-for") { >> //set forward flag ON >> - forward_checked = true; >> + //forward_checked = true; >> } >> //option string = "-S" >> else if (*it == "-S" || *it == "--sorry-uri") { >> いらん。 >> >> diff --git a/l7vsd/src/l7vsadm.cpp b/l7vsd/src/l7vsadm.cpp >> index b63d573..951db90 100644 >> --- a/l7vsd/src/l7vsadm.cpp >> +++ b/l7vsd/src/l7vsadm.cpp >> @@ -2957,9 +2957,10 @@ bool l7vs::l7vsadm::execute(int argc, char *argv[]) >> >> // Get l7vsadm execute file path from /proc/(pid)/exe (symbolic link) >> char l7vsadm_file_path[256]; >> - ssize_t retsize; >> + //ssize_t retsize; >> memset(l7vsadm_file_path, 0, sizeof(l7vsadm_file_path)); >> - retsize = readlink("/proc/self/exe", l7vsadm_file_path, sizeof(l7vsadm_file_path)); >> + //retsize = readlink("/proc/self/exe", l7vsadm_file_path, sizeof(l7vsadm_file_path)); >> + readlink("/proc/self/exe", l7vsadm_file_path, sizeof(l7vsadm_file_path)); >> >> // L7vsadm command conflict check. (Try l7vsadm execute file lock) >> file_lock lock(l7vsadm_file_path, l7vsadm_err); >> この直後、ファイルパスでロックをかけようとして、ロックかけられなかったら >> エラー終了してるからここではエラーチェックしなくていいかも。 >> してもいいけど。 >> >> diff --git a/l7vsd/src/logger_impl.cpp b/l7vsd/src/logger_impl.cpp >> index 0ab72b1..9401d8f 100644 >> --- a/l7vsd/src/logger_impl.cpp >> +++ b/l7vsd/src/logger_impl.cpp >> @@ -343,9 +343,9 @@ bool l7vs::LoggerImpl::init() >> } >> >> // get hostname >> - int ret = 0; >> + //int ret = 0; >> char buff[HOST_NAME_MAX]; >> - ret = gethostname(buff, HOST_NAME_MAX); >> + gethostname(buff, HOST_NAME_MAX); >> hostname = buff; >> >> initialized = true; >> ここは一応hostnameが取れたかどうか判定してもいいんで無いか? >> 取れていなかった場合どうする?エラー終了? >> それともログ用ホスト名なし程度、無視する? >> >> diff --git a/l7vsd/src/session_thread_control.cpp b/l7vsd/src/session_thread_control.cpp >> index df0c938..2bd5e24 100644 >> --- a/l7vsd/src/session_thread_control.cpp >> +++ b/l7vsd/src/session_thread_control.cpp >> @@ -36,15 +36,17 @@ namespace l7vs >> void session_thread_control::start_thread() >> { >> >> - int int_val; >> + //int int_val; >> >> upthread.reset(new boost::thread(&session_thread_control::upstream_run, this)); //! upstream thread create >> downthread.reset(new boost::thread(&session_thread_control::downstream_run, this)); //! downstream thread create >> >> //pthread_setschedparam >> - int retval, sched_policy; >> + //int retval, sched_policy; >> + int sched_policy; >> sched_param scheduler_param; >> - int_val = pthread_getschedparam(upthread->native_handle(), &sched_policy, &scheduler_param); >> + //int_val = pthread_getschedparam(upthread->native_handle(), &sched_policy, &scheduler_param); >> + pthread_getschedparam(upthread->native_handle(), &sched_policy, &scheduler_param); >> if (SCHED_FIFO == sched_algorithm) { >> scheduler_param.__sched_priority = sched_priority; >> sched_policy = SCHED_FIFO; >> @@ -55,8 +57,10 @@ void session_thread_control::start_thread() >> sched_policy = SCHED_BATCH; >> } >> if (0 <= sched_algorithm) { >> - retval = pthread_setschedparam(upthread->native_handle(), sched_algorithm, &scheduler_param); >> - retval = pthread_setschedparam(downthread->native_handle(), sched_algorithm, &scheduler_param); >> + //retval = pthread_setschedparam(upthread->native_handle(), sched_algorithm, &scheduler_param); >> + //retval = pthread_setschedparam(downthread->native_handle(), sched_algorithm, &scheduler_param); >> + pthread_setschedparam(upthread->native_handle(), sched_algorithm, &scheduler_param); >> + pthread_setschedparam(downthread->native_handle(), sched_algorithm, &scheduler_param); >> } >> >> } >> pthread_getschedparamで返されるエラーはESRCHとEFAULTの二つ。EFAULTはSEGV。ESRCHはスレッドが無効または終了している。 >> これはエラー処理書いてもいいかもしれない。 >> setはEINVAL, EPERM, ESRCH, EFAULT。EINVALはパラメータ指定違い。EPERMはスーパーユーザ権限チェック。 >> これもESRCHはログだしてもいいかな。 >> >> diff --git a/l7vsd/src/virtualservice_base.cpp b/l7vsd/src/virtualservice_base.cpp >> index 94ab8a2..994c634 100644 >> --- a/l7vsd/src/virtualservice_base.cpp >> +++ b/l7vsd/src/virtualservice_base.cpp >> @@ -481,7 +481,7 @@ cpu_set_t l7vs::virtualservice_base::get_cpu_mask(std::string nic_name) >> map< size_t, string > cpu_nic_map; >> string buff; >> ifstream ifs("/proc/interrupts"); >> - unsigned int target_interrupt; >> + //unsigned int target_interrupt; >> size_t target_cpuid = 0; >> cpu_set_t mask; >> sched_getaffinity(0, sizeof(cpu_set_t), &mask); >> @@ -503,7 +503,8 @@ cpu_set_t l7vs::virtualservice_base::get_cpu_mask(std::string nic_name) >> algorithm::split(split_vec, buff, algorithm::is_any_of(":")); >> if (!split_vec.size()) return mask; // cannot split interrupt >> algorithm::trim(split_vec[0]); >> - target_interrupt = lexical_cast(split_vec[0]); >> + //target_interrupt = lexical_cast(split_vec[0]); >> + lexical_cast(split_vec[0]); >> for (size_t i = 0; i < cpu_nic_map.size(); ++i) { >> size_t start_position = 4 + (i * 11); >> size_t end_position = 11; >> これはsched afinity用の使われていないメソッド。 >> 呼び元のvirtualservice_tcpでifdefしてる。 >> そもそも、このメソッド自体が未完成。いまは手動でネットワークのキューにピンさしたら >> スケジューラ任せでよしなにしてくれる。 >> >> ===================== >> >> (2013/02/06 0:35), Hiroaki Nakano wrote: >>> たるすぴ@幕張です。 >>> >>> ultramonkey-l7-v3のmasterブランチをdebian testingで >>> コンパイルしてみたら、いくつかエラーが出ました。 >>> >>> どうやら、新しいg++では値を代入しても参照されない >>> 変数はエラーになるようです。 >>> あと、protocol_module_ip.hにへんなクラス宣言?がありました。 >>> >>> ----------- >>> protocol_module_ip.cpp: In member function 'virtual >>> l7vs::protocol_module_base::check_message_result >>> l7vs::protocol_module_ip::check_parameter(const >>> std::vector >&)': >>> protocol_module_ip.cpp:327:14: error: variable 'forward_checked' set but >>> not used [-Werror=unused-but-set-variable] >>> cc1plus: all warnings being treated as errors >>> make[4]: *** [protocol_module_ip.lo] エラー 1 >>> >>> libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../.. -g -O2 >>> -fno-strict-aliasing -Wall -Werror -fPIC -pthread -I../../include >>> -I../../logger -I../../parameter -DMAX_BUFFER_SIZE=4096 -g -O2 -MT >>> protocol_module_ip.lo -MD -MP -MF .deps/protocol_module_ip.Tpo -c >>> protocol_module_ip.cpp -fPIC -DPIC -o .libs/protocol_module_ip.o >>> protocol_module_sessionless.cpp: In member function 'virtual >>> l7vs::protocol_module_base::check_message_result >>> l7vs::protocol_module_sessionless::check_parameter(const >>> std::vector >&)': >>> protocol_module_sessionless.cpp:359:14: error: variable >>> 'forward_checked' set but not used [-Werror=unused-but-set-variable] >>> In file included from protocol_module_ip.cpp:33:0: >>> protocol_module_ip.h: In member function 'unsigned int >>> l7vs::protocol_module_ip::l7vs_ip_service_calc_hash(const endpoint&)': >>> protocol_module_ip.h:97:25: error: >>> 'boost::asio::ip::address_v4::address_v4' names the constructor, not the >>> type >>> protocol_module_ip.h:97:65: error: expected ';' before 'v4_address' >>> protocol_module_ip.h:97:127: error: statement cannot resolve address of >>> overloaded function >>> protocol_module_ip.h:98:32: error: 'v4_address' was not declared in this >>> scope >>> In file included from protocol_module_ip.cpp:33:0: >>> protocol_module_ip.h:96:65: error: unused variable 'v4_bytes' >>> [-Werror=unused-variable] >>> cc1plus: all warnings being treated as errors >>> make[4]: *** [protocol_module_sessionless.lo] エラー 1 >>> make[4]: *** 未完了のジョブを待っています.... >>> cc1plus: all warnings being treated as errors >>> make[4]: *** [protocol_module_ip.lo] エラー 1 >>> >>> >>> l7vsadm.cpp: In member function ‘bool l7vs::l7vsadm::execute(int, char**)’: >>> l7vsadm.cpp:2960:17: error: variable ‘retsize’ set but not used >>> [-Werror=unused-but-set-variable] >>> cc1plus: all warnings being treated as errors >>> make[3]: *** [l7vsadm-l7vsadm.o] エラー 1 >>> >>> g++ -DHAVE_CONFIG_H -I. -I../.. -O2 -fno-strict-aliasing -g -Wall >>> -Werror -pthread -I../include -I../include >>> -DL7VS_MODULE_PATH="\"/usr/lib64/l7vs\"" -DMAX_BUFFER_SIZE=4096 >>> -DPARAMETER_FILE="\"/etc/l7vs/l7vs.cf\"" >>> -DL7VS_CONFIG_SOCK_PATH="\"/var/run/l7vs\"" -DLOGGER_PROCESS_VSD >>> -DNETSNMP_NO_INLINE -DVERSION=\"3.0.4\" -g -O2 -MT >>> l7vsd-protocol_module_control.o -MD -MP -MF >>> .deps/l7vsd-protocol_module_control.Tpo -c -o >>> l7vsd-protocol_module_control.o `test -f 'protocol_module_control.cpp' >>> || echo './'`protocol_module_control.cpp >>> session_thread_control.cpp: In member function ‘void >>> l7vs::session_thread_control::start_thread()’: >>> session_thread_control.cpp:39:24: error: variable ‘int_val’ set but not >>> used [-Werror=unused-but-set-variable] >>> session_thread_control.cpp:45:16: error: variable ‘retval’ set but not >>> used [-Werror=unused-but-set-variable] >>> cc1plus: all warnings being treated as errors >>> make[3]: *** [l7vsd-session_thread_control.o] エラー 1 >>> make[3]: *** 未完了のジョブを待っています.... >>> >>> >>> g++ -DHAVE_CONFIG_H -I. -I../.. -O2 -fno-strict-aliasing -g -Wall >>> -Werror -pthread -I../include -I../include >>> -DL7VS_MODULE_PATH="\"/usr/lib64/l7vs\"" -DMAX_BUFFER_SIZE=4096 >>> -DPARAMETER_FILE="\"/etc/l7vs/l7vs.cf\"" >>> -DL7VS_CONFIG_SOCK_PATH="\"/var/run/l7vs\"" -DLOGGER_PROCESS_VSD >>> -DNETSNMP_NO_INLINE -DVERSION=\"3.0.4\" -g -O2 -MT >>> l7vsd-virtualservice_udp.o -MD -MP -MF >>> .deps/l7vsd-virtualservice_udp.Tpo -c -o l7vsd-virtualservice_udp.o >>> `test -f 'virtualservice_udp.cpp' || echo './'`virtualservice_udp.cpp >>> virtualservice_base.cpp: In member function ‘cpu_set_t >>> l7vs::virtualservice_base::get_cpu_mask(std::string)’: >>> virtualservice_base.cpp:484:33: error: variable ‘target_interrupt’ set >>> but not used [-Werror=unused-but-set-variable] >>> cc1plus: all warnings being treated as errors >>> make[3]: *** [l7vsd-virtualservice_base.o] エラー 1 >>> make[3]: *** 未完了のジョブを待っています.... >>> >>> >>> logger_a-logger_impl.o -MD -MP -MF >>> .deps/libl7vsd_logger_a-logger_impl.Tpo -c -o >>> libl7vsd_logger_a-logger_impl.o `test -f 'logger_impl.cpp' || echo >>> './'`logger_impl.cpp >>> logger_impl.cpp: In member function ‘virtual bool l7vs::LoggerImpl::init()’: >>> logger_impl.cpp:346:20: error: variable ‘ret’ set but not used >>> [-Werror=unused-but-set-variable] >>> cc1plus: all warnings being treated as errors >>> make[3]: *** [libl7vsd_logger_a-logger_impl.o] エラー 1 >>> make[3]: *** 未完了のジョブを待っています.... >>> ---------------------------------------------------- >>> >>> 使っていない変数はコメントにしたり消したりして、 >>> 変な宣言のところを直したパッチを作ったので添付しておきます。 >>> # 必要な変数だったのなら、処理が漏れていることになるね。 >>> >>> >>> >>> >>> _______________________________________________ >>> Ultramonkey-l7-develop mailing list >>> Ultramonkey-l7-develop @ lists.sourceforge.jp >>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop >>> >> > -- 中野 宏朗 (NAKANO Hiroaki) NTTコムウェア 品質生産性技術本部 技術SE部 基盤ソフトSE・OSS部門 OSS・DB技術担当 Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En From nakano.hiroaki @ nttcom.co.jp Mon Jun 10 13:56:59 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Mon, 10 Jun 2013 13:56:59 +0900 Subject: [Ultramonkey-l7-develop 921] Re: =?iso-2022-jp?b?Ym9vc3QgMS41MCAbJEIwSjlfQlAxfk1RJVElQyVBGyhC?= In-Reply-To: <20130426172505.126ead5552a042e488a9ed24@nttcom.co.jp> References: <20130426172505.126ead5552a042e488a9ed24@nttcom.co.jp> Message-ID: <51B55C9B.1050907@nttcom.co.jp> 中野@幕張です。 どもです。 これ、boost1.50以前(1.49とか)だとTIME_UTC_のほうが エラーになったりするのかな? # いやまあ、試せばすむんだけどw バージョン間で書き方かわるなら、ifdefでわけないと いけないですね。 ・・・めんどいなぁw RHEL7になると、boostバージョンも1.50以上になるのかな? systemdのこともあるし、RHEL7対応しようとするとどうしても configureでの判定とifdefでのコード分けやMakefileでの インストールファイル分けが必要になるか〜。 RHEL6とRHEL5でコンパイル通るか試してみます。 とりあえずTIME_UTC_fixブランチ作ってそこに 置いておこう。 通ったらv3.1.0-develにマージして、通らなかったら ifdefをブランチで作ろう。 チケット発行はできる? (2013/04/26 17:25), Shinya TAKEBAYASHI wrote: > 皆様へ > > > 竹林です. > > ultramonkey-l7 3.0.4 を > > ・debian squeeze > ・gcc 4.4.5 > ・boost 1.53.0 > > でビルドしようとしたところ,boost::TIME_UTC が undefined だと > エラーが返ってきたので,修正するためのパッチを書きました. > > boost 1.50 以降では,boost::TIME_UTC_ にする必要がありました. > > パッチはこちらです. > http://chopapp.com/#xg0kxukp > > コメント書けますので,よろしくお願いします. > > ------------------------------------------------------ > Shinya TAKEBAYSAHI > E-mail: takebayashi.shinya @ nttcom.co.jp > ------------------------------------------------------ > > _______________________________________________ > Ultramonkey-l7-develop mailing list > Ultramonkey-l7-develop @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > > > -- 中野 宏朗 (NAKANO Hiroaki) NTTコムウェア 品質生産性技術本部 技術SE部 基盤ソフトSE・OSS部門 OSS・DB技術担当 Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En From takebayashi.shinya @ nttcom.co.jp Mon Jun 10 14:13:04 2013 From: takebayashi.shinya @ nttcom.co.jp (Shinya TAKEBAYASHI) Date: Mon, 10 Jun 2013 14:13:04 +0900 Subject: [Ultramonkey-l7-develop 922] Re: =?iso-2022-jp?b?Ym9vc3QgMS41MCAbJEIwSjlfQlAxfk1RJVElQyVBGyhC?= In-Reply-To: <51B55C9B.1050907@nttcom.co.jp> References: <20130426172505.126ead5552a042e488a9ed24@nttcom.co.jp> <51B55C9B.1050907@nttcom.co.jp> Message-ID: <20130610141304.edfca69fc79e547c992ab705@nttcom.co.jp> 竹林です. おつかれさまです. > これ、boost1.50以前(1.49とか)だとTIME_UTC_のほうが > エラーになったりするのかな? > # いやまあ、試せばすむんだけどw はい,エラーになります. C11 で TIME_UTC が入って名前がかぶったため, boost 側が名前を変えることで回避しているようです. https://svn.boost.org/trac/boost/ticket/6940 C11 の TIME_UTC を使ってもいけるかもしれませんが, リグレッションテストの手間がかかりますので,既存の boost の TIME_UTC の実装をそのまま使うようにした方が良いかと思います. > バージョン間で書き方かわるなら、ifdefでわけないと > いけないですね。 先日投稿したパッチでは,boost のバージョンによって切り替えるように if - else - endif ディレクティブで分けてあります. BOOST_VERSION の 105000 が 1.50 を表しています. 1.50 以上の場合は boost::TIME_UTC_ が使われ, 1.49 以下は boost::TIME_UTC です. > チケット発行はできる? はい,このメールを送ったら発行します. よろしくお願いします. 中野 宏朗 wrote in message <51B55C9B.1050907 @ nttcom.co.jp> *** Subject: [Ultramonkey-l7-develop 921] Re: boost 1.50 以降対応用パッチ *** Date: Mon, 10 Jun 2013 13:56:59 +0900 > 中野@幕張です。 > どもです。 > > これ、boost1.50以前(1.49とか)だとTIME_UTC_のほうが > エラーになったりするのかな? > # いやまあ、試せばすむんだけどw > > バージョン間で書き方かわるなら、ifdefでわけないと > いけないですね。 > > ・・・めんどいなぁw > > RHEL7になると、boostバージョンも1.50以上になるのかな? > systemdのこともあるし、RHEL7対応しようとするとどうしても > configureでの判定とifdefでのコード分けやMakefileでの > インストールファイル分けが必要になるか〜。 > > RHEL6とRHEL5でコンパイル通るか試してみます。 > とりあえずTIME_UTC_fixブランチ作ってそこに > 置いておこう。 > 通ったらv3.1.0-develにマージして、通らなかったら > ifdefをブランチで作ろう。 > > チケット発行はできる? > > (2013/04/26 17:25), Shinya TAKEBAYASHI wrote: > > 皆様へ > > > > > > 竹林です. > > > > ultramonkey-l7 3.0.4 を > > > > ・debian squeeze > > ・gcc 4.4.5 > > ・boost 1.53.0 > > > > でビルドしようとしたところ,boost::TIME_UTC が undefined だと > > エラーが返ってきたので,修正するためのパッチを書きました. > > > > boost 1.50 以降では,boost::TIME_UTC_ にする必要がありました. > > > > パッチはこちらです. > > http://chopapp.com/#xg0kxukp > > > > コメント書けますので,よろしくお願いします. > > > > ------------------------------------------------------ > > Shinya TAKEBAYSAHI > > E-mail: takebayashi.shinya @ nttcom.co.jp > > ------------------------------------------------------ > > > > _______________________________________________ > > Ultramonkey-l7-develop mailing list > > Ultramonkey-l7-develop @ lists.sourceforge.jp > > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > > > > > > > > -- > 中野 宏朗 (NAKANO Hiroaki) > NTTコムウェア 品質生産性技術本部 技術SE部 > 基盤ソフトSE・OSS部門 OSS・DB技術担当 > Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 > Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En > > _______________________________________________ > Ultramonkey-l7-develop mailing list > Ultramonkey-l7-develop @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > > ------------------------------------------------------ NTT コムウェア 株式会社 品質生産性技術本部 技術 SE 部 基盤ソフト SE・OSS 推進部門 竹林 信哉 TEL: 043-211-2392(ext. +26-8185) E-mail: takebayashi.shinya @ nttcom.co.jp ------------------------------------------------------ From nakano.hiroaki @ nttcom.co.jp Mon Jun 10 14:29:31 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Mon, 10 Jun 2013 14:29:31 +0900 Subject: [Ultramonkey-l7-develop 923] Re: =?iso-2022-jp?b?Ym9vc3QgMS41MCAbJEIwSjlfQlAxfk1RJVElQyVBGyhC?= In-Reply-To: <20130610141304.edfca69fc79e547c992ab705@nttcom.co.jp> References: <20130426172505.126ead5552a042e488a9ed24@nttcom.co.jp> <51B55C9B.1050907@nttcom.co.jp> <20130610141304.edfca69fc79e547c992ab705@nttcom.co.jp> Message-ID: <51B5643B.3030107@nttcom.co.jp> 中野@幕張です。 (2013/06/10 14:13), Shinya TAKEBAYASHI wrote: > 竹林です. > おつかれさまです. > > >> これ、boost1.50以前(1.49とか)だとTIME_UTC_のほうが >> エラーになったりするのかな? >> # いやまあ、試せばすむんだけどw > > はい,エラーになります. > > C11 で TIME_UTC が入って名前がかぶったため, > boost 側が名前を変えることで回避しているようです. > > https://svn.boost.org/trac/boost/ticket/6940 > > C11 の TIME_UTC を使ってもいけるかもしれませんが, > リグレッションテストの手間がかかりますので,既存の boost の > TIME_UTC の実装をそのまま使うようにした方が良いかと思います. なるほどね。 boostのままのほうがいいのは同意。 >> バージョン間で書き方かわるなら、ifdefでわけないと >> いけないですね。 > > 先日投稿したパッチでは,boost のバージョンによって切り替えるように > if - else - endif ディレクティブで分けてあります. > > BOOST_VERSION の 105000 が 1.50 を表しています. > > 1.50 以上の場合は boost::TIME_UTC_ が使われ, > 1.49 以下は boost::TIME_UTC です. おお。失礼しました。 助かるヽ(´ー`)ノ わざわざconfigureで判定させなくても、そのまま BOOST_VERSIONってのが使えるのか。いや、すでに configureでboostの情報あつめてMakefileで使える ようにしてあるのか。 >> チケット発行はできる? > > はい,このメールを送ったら発行します. > > よろしくお願いします. らぢゃ('◇')ゞ ブランチ作ったら、パッチのコミットログにチケット番号 と概説、Signedに竹林さんメアドをのっけておきます。 # Kernelみたいにconfirmed: に自分の名前いれるか。 ## このへん、git guiでぽちっと出来たらなw > 中野 宏朗 wrote in message <51B55C9B.1050907 @ nttcom.co.jp> > *** Subject: [Ultramonkey-l7-develop 921] Re: boost 1.50 以降対応用パッチ > *** Date: Mon, 10 Jun 2013 13:56:59 +0900 > >> 中野@幕張です。 >> どもです。 >> >> これ、boost1.50以前(1.49とか)だとTIME_UTC_のほうが >> エラーになったりするのかな? >> # いやまあ、試せばすむんだけどw >> >> バージョン間で書き方かわるなら、ifdefでわけないと >> いけないですね。 >> >> ・・・めんどいなぁw >> >> RHEL7になると、boostバージョンも1.50以上になるのかな? >> systemdのこともあるし、RHEL7対応しようとするとどうしても >> configureでの判定とifdefでのコード分けやMakefileでの >> インストールファイル分けが必要になるか〜。 >> >> RHEL6とRHEL5でコンパイル通るか試してみます。 >> とりあえずTIME_UTC_fixブランチ作ってそこに >> 置いておこう。 >> 通ったらv3.1.0-develにマージして、通らなかったら >> ifdefをブランチで作ろう。 >> >> チケット発行はできる? >> >> (2013/04/26 17:25), Shinya TAKEBAYASHI wrote: >>> 皆様へ >>> >>> >>> 竹林です. >>> >>> ultramonkey-l7 3.0.4 を >>> >>> ・debian squeeze >>> ・gcc 4.4.5 >>> ・boost 1.53.0 >>> >>> でビルドしようとしたところ,boost::TIME_UTC が undefined だと >>> エラーが返ってきたので,修正するためのパッチを書きました. >>> >>> boost 1.50 以降では,boost::TIME_UTC_ にする必要がありました. >>> >>> パッチはこちらです. >>> http://chopapp.com/#xg0kxukp >>> >>> コメント書けますので,よろしくお願いします. >>> >>> ------------------------------------------------------ >>> Shinya TAKEBAYSAHI >>> E-mail: takebayashi.shinya @ nttcom.co.jp >>> ------------------------------------------------------ >>> >>> _______________________________________________ >>> Ultramonkey-l7-develop mailing list >>> Ultramonkey-l7-develop @ lists.sourceforge.jp >>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop >>> >>> >>> >> >> -- >> 中野 宏朗 (NAKANO Hiroaki) >> NTTコムウェア 品質生産性技術本部 技術SE部 >> 基盤ソフトSE・OSS部門 OSS・DB技術担当 >> Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 >> Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En >> >> _______________________________________________ >> Ultramonkey-l7-develop mailing list >> Ultramonkey-l7-develop @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop >> >> > > > ------------------------------------------------------ > NTT コムウェア 株式会社 品質生産性技術本部 技術 SE 部 > 基盤ソフト SE・OSS 推進部門 > > 竹林 信哉 > > TEL: 043-211-2392(ext. +26-8185) > E-mail: takebayashi.shinya @ nttcom.co.jp > ------------------------------------------------------ > > > -- 中野 宏朗 (NAKANO Hiroaki) NTTコムウェア 品質生産性技術本部 技術SE部 基盤ソフトSE・OSS部門 OSS・DB技術担当 Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En From takebayashi.shinya @ nttcom.co.jp Mon Jun 10 15:07:47 2013 From: takebayashi.shinya @ nttcom.co.jp (Shinya TAKEBAYASHI) Date: Mon, 10 Jun 2013 15:07:47 +0900 Subject: [Ultramonkey-l7-develop 924] Re: =?iso-2022-jp?b?Ym9vc3QgMS41MCAbJEIwSjlfQlAxfk1RJVElQyVBGyhC?= In-Reply-To: <51B5643B.3030107@nttcom.co.jp> References: <20130426172505.126ead5552a042e488a9ed24@nttcom.co.jp> <51B55C9B.1050907@nttcom.co.jp> <20130610141304.edfca69fc79e547c992ab705@nttcom.co.jp> <51B5643B.3030107@nttcom.co.jp> Message-ID: <20130610150747.23a202c7072311ce82bae9b8@nttcom.co.jp> たけばやし@幕張です. お疲れ様です. チケット発行しました. http://sourceforge.jp/ticket/browse.php?group_id=1951&tid=31545 添付ファイルとしてパッチを付けています. よろしくお願い致します. 中野 宏朗 wrote in message <51B5643B.3030107 @ nttcom.co.jp> *** Subject: [Ultramonkey-l7-develop 923] Re: boost 1.50 以降対応用パッチ *** Date: Mon, 10 Jun 2013 14:29:31 +0900 > 中野@幕張です。 > > (2013/06/10 14:13), Shinya TAKEBAYASHI wrote: > > 竹林です. > > おつかれさまです. > > > > > >> これ、boost1.50以前(1.49とか)だとTIME_UTC_のほうが > >> エラーになったりするのかな? > >> # いやまあ、試せばすむんだけどw > > > > はい,エラーになります. > > > > C11 で TIME_UTC が入って名前がかぶったため, > > boost 側が名前を変えることで回避しているようです. > > > > https://svn.boost.org/trac/boost/ticket/6940 > > > > C11 の TIME_UTC を使ってもいけるかもしれませんが, > > リグレッションテストの手間がかかりますので,既存の boost の > > TIME_UTC の実装をそのまま使うようにした方が良いかと思います. > > なるほどね。 > boostのままのほうがいいのは同意。 > > >> バージョン間で書き方かわるなら、ifdefでわけないと > >> いけないですね。 > > > > 先日投稿したパッチでは,boost のバージョンによって切り替えるように > > if - else - endif ディレクティブで分けてあります. > > > > BOOST_VERSION の 105000 が 1.50 を表しています. > > > > 1.50 以上の場合は boost::TIME_UTC_ が使われ, > > 1.49 以下は boost::TIME_UTC です. > > おお。失礼しました。 > 助かるヽ(´ー`)ノ > > わざわざconfigureで判定させなくても、そのまま > BOOST_VERSIONってのが使えるのか。いや、すでに > configureでboostの情報あつめてMakefileで使える > ようにしてあるのか。 > > >> チケット発行はできる? > > > > はい,このメールを送ったら発行します. > > > > よろしくお願いします. > > らぢゃ('◇')ゞ > > ブランチ作ったら、パッチのコミットログにチケット番号 > と概説、Signedに竹林さんメアドをのっけておきます。 > > # Kernelみたいにconfirmed: に自分の名前いれるか。 > ## このへん、git guiでぽちっと出来たらなw > > > 中野 宏朗 wrote in message <51B55C9B.1050907 @ nttcom.co.jp> > > *** Subject: [Ultramonkey-l7-develop 921] Re: boost 1.50 以降対応用パッチ > > *** Date: Mon, 10 Jun 2013 13:56:59 +0900 > > > >> 中野@幕張です。 > >> どもです。 > >> > >> これ、boost1.50以前(1.49とか)だとTIME_UTC_のほうが > >> エラーになったりするのかな? > >> # いやまあ、試せばすむんだけどw > >> > >> バージョン間で書き方かわるなら、ifdefでわけないと > >> いけないですね。 > >> > >> ・・・めんどいなぁw > >> > >> RHEL7になると、boostバージョンも1.50以上になるのかな? > >> systemdのこともあるし、RHEL7対応しようとするとどうしても > >> configureでの判定とifdefでのコード分けやMakefileでの > >> インストールファイル分けが必要になるか〜。 > >> > >> RHEL6とRHEL5でコンパイル通るか試してみます。 > >> とりあえずTIME_UTC_fixブランチ作ってそこに > >> 置いておこう。 > >> 通ったらv3.1.0-develにマージして、通らなかったら > >> ifdefをブランチで作ろう。 > >> > >> チケット発行はできる? > >> > >> (2013/04/26 17:25), Shinya TAKEBAYASHI wrote: > >>> 皆様へ > >>> > >>> > >>> 竹林です. > >>> > >>> ultramonkey-l7 3.0.4 を > >>> > >>> ・debian squeeze > >>> ・gcc 4.4.5 > >>> ・boost 1.53.0 > >>> > >>> でビルドしようとしたところ,boost::TIME_UTC が undefined だと > >>> エラーが返ってきたので,修正するためのパッチを書きました. > >>> > >>> boost 1.50 以降では,boost::TIME_UTC_ にする必要がありました. > >>> > >>> パッチはこちらです. > >>> http://chopapp.com/#xg0kxukp > >>> > >>> コメント書けますので,よろしくお願いします. > >>> > >>> ------------------------------------------------------ > >>> Shinya TAKEBAYSAHI > >>> E-mail: takebayashi.shinya @ nttcom.co.jp > >>> ------------------------------------------------------ > >>> > >>> _______________________________________________ > >>> Ultramonkey-l7-develop mailing list > >>> Ultramonkey-l7-develop @ lists.sourceforge.jp > >>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > >>> > >>> > >>> > >> > >> -- > >> 中野 宏朗 (NAKANO Hiroaki) > >> NTTコムウェア 品質生産性技術本部 技術SE部 > >> 基盤ソフトSE・OSS部門 OSS・DB技術担当 > >> Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 > >> Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En > >> > >> _______________________________________________ > >> Ultramonkey-l7-develop mailing list > >> Ultramonkey-l7-develop @ lists.sourceforge.jp > >> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > >> > >> > > > > > > ------------------------------------------------------ > > NTT コムウェア 株式会社 品質生産性技術本部 技術 SE 部 > > 基盤ソフト SE・OSS 推進部門 > > > > 竹林 信哉 > > > > TEL: 043-211-2392(ext. +26-8185) > > E-mail: takebayashi.shinya @ nttcom.co.jp > > ------------------------------------------------------ > > > > > > > > -- > 中野 宏朗 (NAKANO Hiroaki) > NTTコムウェア 品質生産性技術本部 技術SE部 > 基盤ソフトSE・OSS部門 OSS・DB技術担当 > Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 > Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En > > _______________________________________________ > Ultramonkey-l7-develop mailing list > Ultramonkey-l7-develop @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > > ------------------------------------------------------ NTT コムウェア 株式会社 品質生産性技術本部 技術 SE 部 基盤ソフト SE・OSS 推進部門 竹林 信哉 TEL: 043-211-2392(ext. +26-8185) E-mail: takebayashi.shinya @ nttcom.co.jp ------------------------------------------------------ From nakano.hiroaki @ nttcom.co.jp Mon Jun 10 16:27:19 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Mon, 10 Jun 2013 16:27:19 +0900 Subject: [Ultramonkey-l7-develop 925] Re: =?iso-2022-jp?b?Ym9vc3QgMS41MCAbJEIwSjlfQlAxfk1RJVElQyVBGyhC?= In-Reply-To: <20130610150747.23a202c7072311ce82bae9b8@nttcom.co.jp> References: <20130426172505.126ead5552a042e488a9ed24@nttcom.co.jp> <51B55C9B.1050907@nttcom.co.jp> <20130610141304.edfca69fc79e547c992ab705@nttcom.co.jp> <51B5643B.3030107@nttcom.co.jp> <20130610150747.23a202c7072311ce82bae9b8@nttcom.co.jp> Message-ID: <51B57FD7.7090108@nttcom.co.jp> 中野@幕張です。 RHEL6でのコンパイルに成功しました。 本家ブランチ"TIME_UTC_fix"に取り込みました。 (2013/06/10 15:07), Shinya TAKEBAYASHI wrote: > たけばやし@幕張です. > お疲れ様です. > > > チケット発行しました. > > http://sourceforge.jp/ticket/browse.php?group_id=1951&tid=31545 > > 添付ファイルとしてパッチを付けています. > よろしくお願い致します. > > > 中野 宏朗 wrote in message <51B5643B.3030107 @ nttcom.co.jp> > *** Subject: [Ultramonkey-l7-develop 923] Re: boost 1.50 以降対応用パッチ > *** Date: Mon, 10 Jun 2013 14:29:31 +0900 > >> 中野@幕張です。 >> >> (2013/06/10 14:13), Shinya TAKEBAYASHI wrote: >>> 竹林です. >>> おつかれさまです. >>> >>> >>>> これ、boost1.50以前(1.49とか)だとTIME_UTC_のほうが >>>> エラーになったりするのかな? >>>> # いやまあ、試せばすむんだけどw >>> >>> はい,エラーになります. >>> >>> C11 で TIME_UTC が入って名前がかぶったため, >>> boost 側が名前を変えることで回避しているようです. >>> >>> https://svn.boost.org/trac/boost/ticket/6940 >>> >>> C11 の TIME_UTC を使ってもいけるかもしれませんが, >>> リグレッションテストの手間がかかりますので,既存の boost の >>> TIME_UTC の実装をそのまま使うようにした方が良いかと思います. >> >> なるほどね。 >> boostのままのほうがいいのは同意。 >> >>>> バージョン間で書き方かわるなら、ifdefでわけないと >>>> いけないですね。 >>> >>> 先日投稿したパッチでは,boost のバージョンによって切り替えるように >>> if - else - endif ディレクティブで分けてあります. >>> >>> BOOST_VERSION の 105000 が 1.50 を表しています. >>> >>> 1.50 以上の場合は boost::TIME_UTC_ が使われ, >>> 1.49 以下は boost::TIME_UTC です. >> >> おお。失礼しました。 >> 助かるヽ(´ー`)ノ >> >> わざわざconfigureで判定させなくても、そのまま >> BOOST_VERSIONってのが使えるのか。いや、すでに >> configureでboostの情報あつめてMakefileで使える >> ようにしてあるのか。 >> >>>> チケット発行はできる? >>> >>> はい,このメールを送ったら発行します. >>> >>> よろしくお願いします. >> >> らぢゃ('◇')ゞ >> >> ブランチ作ったら、パッチのコミットログにチケット番号 >> と概説、Signedに竹林さんメアドをのっけておきます。 >> >> # Kernelみたいにconfirmed: に自分の名前いれるか。 >> ## このへん、git guiでぽちっと出来たらなw >> >>> 中野 宏朗 wrote in message <51B55C9B.1050907 @ nttcom.co.jp> >>> *** Subject: [Ultramonkey-l7-develop 921] Re: boost 1.50 以降対応用パッチ >>> *** Date: Mon, 10 Jun 2013 13:56:59 +0900 >>> >>>> 中野@幕張です。 >>>> どもです。 >>>> >>>> これ、boost1.50以前(1.49とか)だとTIME_UTC_のほうが >>>> エラーになったりするのかな? >>>> # いやまあ、試せばすむんだけどw >>>> >>>> バージョン間で書き方かわるなら、ifdefでわけないと >>>> いけないですね。 >>>> >>>> ・・・めんどいなぁw >>>> >>>> RHEL7になると、boostバージョンも1.50以上になるのかな? >>>> systemdのこともあるし、RHEL7対応しようとするとどうしても >>>> configureでの判定とifdefでのコード分けやMakefileでの >>>> インストールファイル分けが必要になるか〜。 >>>> >>>> RHEL6とRHEL5でコンパイル通るか試してみます。 >>>> とりあえずTIME_UTC_fixブランチ作ってそこに >>>> 置いておこう。 >>>> 通ったらv3.1.0-develにマージして、通らなかったら >>>> ifdefをブランチで作ろう。 >>>> >>>> チケット発行はできる? >>>> >>>> (2013/04/26 17:25), Shinya TAKEBAYASHI wrote: >>>>> 皆様へ >>>>> >>>>> >>>>> 竹林です. >>>>> >>>>> ultramonkey-l7 3.0.4 を >>>>> >>>>> ・debian squeeze >>>>> ・gcc 4.4.5 >>>>> ・boost 1.53.0 >>>>> >>>>> でビルドしようとしたところ,boost::TIME_UTC が undefined だと >>>>> エラーが返ってきたので,修正するためのパッチを書きました. >>>>> >>>>> boost 1.50 以降では,boost::TIME_UTC_ にする必要がありました. >>>>> >>>>> パッチはこちらです. >>>>> http://chopapp.com/#xg0kxukp >>>>> >>>>> コメント書けますので,よろしくお願いします. >>>>> >>>>> ------------------------------------------------------ >>>>> Shinya TAKEBAYSAHI >>>>> E-mail: takebayashi.shinya @ nttcom.co.jp >>>>> ------------------------------------------------------ >>>>> >>>>> _______________________________________________ >>>>> Ultramonkey-l7-develop mailing list >>>>> Ultramonkey-l7-develop @ lists.sourceforge.jp >>>>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop >>>>> >>>>> >>>>> >>>> >>>> -- >>>> 中野 宏朗 (NAKANO Hiroaki) >>>> NTTコムウェア 品質生産性技術本部 技術SE部 >>>> 基盤ソフトSE・OSS部門 OSS・DB技術担当 >>>> Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 >>>> Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En >>>> >>>> _______________________________________________ >>>> Ultramonkey-l7-develop mailing list >>>> Ultramonkey-l7-develop @ lists.sourceforge.jp >>>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop >>>> >>>> >>> >>> >>> ------------------------------------------------------ >>> NTT コムウェア 株式会社 品質生産性技術本部 技術 SE 部 >>> 基盤ソフト SE・OSS 推進部門 >>> >>> 竹林 信哉 >>> >>> TEL: 043-211-2392(ext. +26-8185) >>> E-mail: takebayashi.shinya @ nttcom.co.jp >>> ------------------------------------------------------ >>> >>> >>> >> >> -- >> 中野 宏朗 (NAKANO Hiroaki) >> NTTコムウェア 品質生産性技術本部 技術SE部 >> 基盤ソフトSE・OSS部門 OSS・DB技術担当 >> Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 >> Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En >> >> _______________________________________________ >> Ultramonkey-l7-develop mailing list >> Ultramonkey-l7-develop @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop >> >> > > > ------------------------------------------------------ > NTT コムウェア 株式会社 品質生産性技術本部 技術 SE 部 > 基盤ソフト SE・OSS 推進部門 > > 竹林 信哉 > > TEL: 043-211-2392(ext. +26-8185) > E-mail: takebayashi.shinya @ nttcom.co.jp > ------------------------------------------------------ > > > -- 中野 宏朗 (NAKANO Hiroaki) NTTコムウェア 品質生産性技術本部 技術SE部 基盤ソフトSE・OSS部門 OSS・DB技術担当 Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En