Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Igorjan94 opened this issue Dec 5, 2016 · 2 comments
Open

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

Igorjan94 opened this issue Dec 5, 2016 · 2 comments

Comments

@Igorjan94
Copy link

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)

@amdei
Copy link

amdei commented Aug 4, 2017

Аналогично:

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

@evgkrsk
Copy link

evgkrsk commented Sep 6, 2018

ping?

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants