Bug 1031321

Summary: kyotocabinet fails to build with GCC 7
Product: [openSUSE] openSUSE Tumbleweed Reporter: Martin Liška <martin.liska>
Component: BasesystemAssignee: Cristian Rodríguez <crrodriguez>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1030236    

Description Martin Liška 2017-03-28 12:04:17 UTC
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/kyotocabinet/standard/x86_64

[   72s] In file included from kcdbext.cc:16:0:
[   72s] kcdbext.h: In member function 'char* kyotocabinet::IndexDB::get(const char*, size_t, size_t*)':
[   72s] kcdbext.h:1281:14: error: invalid conversion from 'char' to 'char*' [-fpermissive]
[   72s]        return '\0';
[   72s]               ^~~~
[   73s] kcprototest.cc: In instantiation of 'void proctran(const char*, int64_t, int32_t, int32_t)::ThreadTran::run() [with PROTODB = kyotocabinet::ProtoDB<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, 17>]':
[   73s] kcprototest.cc:2056:5:   required from 'int32_t proctran(const char*, int64_t, int32_t, int32_t) [with PROTODB = kyotocabinet::ProtoDB<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, 17>; int32_t = int; int64_t = long int]'
[   73s] kcprototest.cc:315:62:   required from here
[   73s] kcprototest.cc:1975:43: warning: enum constant in boolean context [-Wint-in-bool-context]
[   73s]                  if (!cur->get_value(&key) && kc::BasicDB::Error::NOREC) {
[   73s]                      ~~~~~~~~~~~~~~~~~~~~~~^~~~~
[   73s] kcprototest.cc: In instantiation of 'void proctran(const char*, int64_t, int32_t, int32_t)::ThreadTran::run() [with PROTODB = kyotocabinet::ProtoDB<std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, 16>]':
[   73s] kcprototest.cc:2056:5:   required from 'int32_t proctran(const char*, int64_t, int32_t, int32_t) [with PROTODB = kyotocabinet::ProtoDB<std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, 16>; int32_t = int; int64_t = long int]'
[   73s] kcprototest.cc:317:62:   required from here
[   73s] kcprototest.cc:1975:43: warning: enum constant in boolean context [-Wint-in-bool-context]
[   73s] In file included from kclangc.cc:17:0:
[   73s] kcdbext.h: In member function 'char* kyotocabinet::IndexDB::get(const char*, size_t, size_t*)':
[   73s] kcdbext.h:1281:14: error: invalid conversion from 'char' to 'char*' [-fpermissive]
[   73s]        return '\0';
[   73s]               ^~~~

Can be tested in openSUSE:Factory:Staging:Gcc7 project.
Comment 1 Cristian Rodríguez 2017-04-04 03:50:11 UTC
Fixed in request id 485007.