yandex-load / phantom

I/O engine with some modules

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Не собирается

Igorjan94 opened this issue · comments

pd/base/config.C: В функции-члене «const pd::string_t* pd::config::environ_t::item_t::lookup(const pd::string_t&) const»:
pd/base/config.C:104:4: ошибка: nonnull argument «this» compared to NULL [-Werror=nonnull-compare]
    if(!this)
    ^~

При комментировании в opts.mk флага -Werror сборка идет дальше, однако некоторое время спустя падает уже с реальной ошибкой:

./pd/base/config_named_list.H:30:44: ошибка: «pd::config::ctor_base_t<phantom::io_client::proto_t>* pd::list_item_t<pd::config::ctor_base_t<phantom::io_client::proto_t> >::next» is protected within this context
   for(x_t *item = list; item; item = item->next)
                                      ~~~~~~^~~~

В попытке поменять "ну вдруг" видимость на паблик, возникает похожая ошибка, но дальше "дебажить" меня уже не хватило

Arch x86_64, 4.8.11-1
gcc 6.2.1 20160830 (GCC)

commented

Аналогично:

g++ -c -g -O3 -std=gnu++0x -fvisibility=hidden -fvisibility-inlines-hidden -fno-default-inline -fno-omit-frame-pointer -fno-common -fsigned-char -Wall -W -Wsign-promo -Woverloaded-virtual -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -isystem . -isystem ./pd/fixinclude -D_GNU_SOURCE=1  -Wundef  -MD -MF deps/phantom%io_client%io_client.s.o.d -fPIC phantom/io_client/io_client.C -o phantom/io_client/io_client.s.o
In file included from ./pd/base/config.H:9:0,
                 from ./phantom/scheduler.H:14,
                 from phantom/io_client/link.H:11,
                 from phantom/io_client/io_client.C:7:
./pd/base/config_named_list.H: In instantiation of ‘static x_t& pd::config::named_list_item_t<x_t>::find(const pd::string_t&, const pd::in_t::ptr_t&) [with x_t = pd::config::ctor_base_t<phantom::io_client::proto_t>]’:
./pd/base/config.H:360:26:   required from ‘bool pd::config::binding_t<conf_t>::type_t<x_t>::parse_item(const pd::string_t&, pd::in_t::ptr_t&, conf_t&) const [with x_t = phantom::io_client::proto_t; conf_t = phantom::io_client_t::config_t]’
phantom/io_client/io_client.C:142:1:   required from here
./pd/base/config_named_list.H:30:44: error: ‘pd::config::ctor_base_t<phantom::io_client::proto_t>* pd::list_item_t<pd::config::ctor_base_t<phantom::io_client::proto_t> >::next’ is protected within this context
   for(x_t *item = list; item; item = item->next)
                                      ~~~~~~^~~~
In file included from ./phantom/obj.H:11:0,
                 from ./phantom/scheduler.H:9,
                 from phantom/io_client/link.H:11,
                 from phantom/io_client/io_client.C:7:
./pd/base/list.H:18:7: note: declared protected here
  x_t *next, **me;
       ^~~~
In file included from ./pd/base/config.H:9:0,
                 from ./phantom/scheduler.H:14,
                 from phantom/io_client/link.H:11,
                 from phantom/io_client/io_client.C:7:
./pd/base/config_named_list.H: In instantiation of ‘static x_t& pd::config::named_list_item_t<x_t>::find(const pd::string_t&, const pd::in_t::ptr_t&) [with x_t = pd::config::ctor_base_t<phantom::io_client::links_t>]’:
./pd/base/config.H:360:26:   required from ‘bool pd::config::binding_t<conf_t>::type_t<x_t>::parse_item(const pd::string_t&, pd::in_t::ptr_t&, conf_t&) const [with x_t = phantom::io_client::links_t; conf_t = phantom::io_client_t::config_t]’
phantom/io_client/io_client.C:142:1:   required from here
./pd/base/config_named_list.H:30:44: error: ‘pd::config::ctor_base_t<phantom::io_client::links_t>* pd::list_item_t<pd::config::ctor_base_t<phantom::io_client::links_t> >::next’ is protected within this context
   for(x_t *item = list; item; item = item->next)
                                      ~~~~~~^~~~
In file included from ./phantom/obj.H:11:0,
                 from ./phantom/scheduler.H:9,
                 from phantom/io_client/link.H:11,
                 from phantom/io_client/io_client.C:7:
./pd/base/list.H:18:7: note: declared protected here
  x_t *next, **me;
       ^~~~
In file included from ./pd/base/config.H:9:0,
                 from ./phantom/scheduler.H:14,
                 from phantom/io_client/link.H:11,
                 from phantom/io_client/io_client.C:7:
./pd/base/config_named_list.H: In instantiation of ‘static x_t& pd::config::named_list_item_t<x_t>::find(const pd::string_t&, const pd::in_t::ptr_t&) [with x_t = pd::config::enum_t<pd::log::level_t>::item_t]’:
./pd/base/config_enum.H:84:36:   required from ‘static void pd::config::helper_t<pd::config::enum_t<val_t> >::parse(pd::in_t::ptr_t&, pd::config::enum_t<val_t>&) [with val_t = pd::log::level_t]’
./pd/base/config.H:213:69:   required from ‘void pd::config::value_parser_t<val_t>::parse_value(pd::in_t::ptr_t&) [with val_t = pd::config::enum_t<pd::log::level_t>]’
phantom/io_client/io_client.C:142:1:   required from here
./pd/base/config_named_list.H:30:44: error: ‘pd::config::enum_t<pd::log::level_t>::item_t* pd::list_item_t<pd::config::enum_t<pd::log::level_t>::item_t>::next’ is protected within this context
   for(x_t *item = list; item; item = item->next)
                                      ~~~~~~^~~~
In file included from ./phantom/obj.H:11:0,
                 from ./phantom/scheduler.H:9,
                 from phantom/io_client/link.H:11,
                 from phantom/io_client/io_client.C:7:
./pd/base/list.H:18:7: note: declared protected here
  x_t *next, **me;
       ^~~~
In file included from ./pd/base/config.H:9:0,
                 from ./phantom/scheduler.H:14,
                 from phantom/io_client/link.H:11,
                 from phantom/io_client/io_client.C:7:
./pd/base/config_named_list.H:31:46: error: ‘pd::string_t pd::config::named_list_item_t<pd::config::enum_t<pd::log::level_t>::item_t>::name’ is protected within this context
    if(string_t::cmp_eq<ident_t>(_name, item->name)) return *item;
                                        ~~~~~~^~~~
./pd/base/config_named_list.H:19:11: note: declared protected here
  string_t name;
           ^~~~
make: *** [phantom/io_client/io_client.s.o] Error 1
opts.mk:48: recipe for target 'phantom/io_client/io_client.s.o' failed

ping?

Аналогично с gcc7