Analytics fails to build: 'Metadata' in namespace 'RdKafka' does not name a type

Bug #1590782 reported by Filip Pytloun
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R3.0
Fix Committed
Undecided
Anish Mehta
Trunk
Fix Committed
Undecided
Anish Mehta
OpenContrail
New
Undecided
Unassigned

Bug Description

We are facing following issue during build of contrail-analytics from R3.0 branch on Ubuntu trusty. Using librdkafka-dev 0.8.6. Is this issue with older librdkafka? If so, there should be version requirement in Build-Depends.

g++ -o build/production/analytics/OpServerProxy.o -c -g -O3 -Wall -Werror -Wsign-compare -Wno-unused-local-typedefs -DLINUX -DUSE_CASSANDRA_CQL -Icontroller/src -Ibuild/include -Icontroller/lib -I/usr/include/python2.7 -I/usr/include/librdkafka -Ibuild/production/tools/sandesh/library/common -Itools/sandesh/library/common -Ibuild/production/io -Icontroller/src/io -Ibuild/production/database -Icontroller/src/database -Ibuild/production/database/cassandra/cql -Icontroller/src/database/cassandra/cql -Ibuild/production -Ibuild/production/http/client -Icontroller/src/http/client -Ibuild/production/discovery/client -Icontroller/src/discovery/client -Ibuild/production/analytics -Icontroller/src/analytics -Ibuild/production -Ibuild/production/base/sandesh -Icontroller/src/base/sandesh controller/src/analytics/OpServerProxy.cc
controller/src/analytics/OpServerProxy.cc: In member function 'bool OpServerProxy::OpServerImpl::KafkaTimer()':
controller/src/analytics/OpServerProxy.cc:498:36: error: 'Metadata' in namespace 'RdKafka' does not name a type
                     class RdKafka::Metadata *metadata;
                                    ^
controller/src/analytics/OpServerProxy.cc:498:54: error: invalid type in declaration before ';' token
                     class RdKafka::Metadata *metadata;
                                                      ^
controller/src/analytics/OpServerProxy.cc:500:57: error: 'class RdKafka::Producer' has no member named 'metadata'
                     RdKafka::ErrorCode err = producer_->metadata(true, NULL,
                                                         ^
controller/src/analytics/OpServerProxy.cc:506:267: error: request for member 'orig_broker_id' in '* metadata', which is of non-class type 'int'
                         LOG(ERROR, "Metadata for " << metadata->orig_broker_id() <<
                                                                                                                                                                                                                                                                           ^
controller/src/analytics/OpServerProxy.cc:506:304: error: request for member 'orig_broker_name' in '* metadata', which is of non-class type 'int'
                         LOG(ERROR, "Metadata for " << metadata->orig_broker_id() <<
                                                                                                                                                                                                                                                                                                                ^
scons: *** [build/production/analytics/OpServerProxy.o] Error 1

Tags: analytics
Revision history for this message
Raj Reddy (rajreddy) wrote : Re: [Bug 1590782] [NEW] Analytics fails to build: 'Metadata' in namespace 'RdKafka' does not name a type
Download full text (6.6 KiB)

Can you pick 0.9.0-0contrail0 from
https://launchpad.net/~opencontrail/+archive/ubuntu/ppa

regards,
Raj

> On Jun 9, 2016, at 6:43 AM, Filip Pytloun <email address hidden> wrote:
>
> Public bug reported:
>
> We are facing following issue during build of contrail-analytics from
> R3.0 branch on Ubuntu trusty. Using librdkafka-dev 0.8.6. Is this issue
> with older librdkafka? If so, there should be version requirement in
> Build-Depends.
>
> g++ -o build/production/analytics/OpServerProxy.o -c -g -O3 -Wall -Werror -Wsign-compare -Wno-unused-local-typedefs -DLINUX -DUSE_CASSANDRA_CQL -Icontroller/src -Ibuild/include -Icontroller/lib -I/usr/include/python2.7 -I/usr/include/librdkafka -Ibuild/production/tools/sandesh/library/common -Itools/sandesh/library/common -Ibuild/production/io -Icontroller/src/io -Ibuild/production/database -Icontroller/src/database -Ibuild/production/database/cassandra/cql -Icontroller/src/database/cassandra/cql -Ibuild/production -Ibuild/production/http/client -Icontroller/src/http/client -Ibuild/production/discovery/client -Icontroller/src/discovery/client -Ibuild/production/analytics -Icontroller/src/analytics -Ibuild/production -Ibuild/production/base/sandesh -Icontroller/src/base/sandesh controller/src/analytics/OpServerProxy.cc
> controller/src/analytics/OpServerProxy.cc: In member function 'bool OpServerProxy::OpServerImpl::KafkaTimer()':
> controller/src/analytics/OpServerProxy.cc:498:36: error: 'Metadata' in namespace 'RdKafka' does not name a type
> class RdKafka::Metadata *metadata;
> ^
> controller/src/analytics/OpServerProxy.cc:498:54: error: invalid type in declaration before ';' token
> class RdKafka::Metadata *metadata;
> ^
> controller/src/analytics/OpServerProxy.cc:500:57: error: 'class RdKafka::Producer' has no member named 'metadata'
> RdKafka::ErrorCode err = producer_->metadata(true, NULL,
> ^
> controller/src/analytics/OpServerProxy.cc:506:267: error: request for member 'orig_broker_id' in '* metadata', which is of non-class type 'int'
> LOG(ERROR, "Metadata for " << metadata->orig_broker_id() <<
> ^
> controller/src/analytics/OpServerProxy.cc:506:304: error: request for member 'orig_broker_name' in '* metadata', which is of non-class type 'int'
> LOG(ERROR, "Metadata for " << metadata->orig_broker_id() <<
> ^
> scons: *** [build/production/analytics/OpServerProxy.o] Error 1
>
> ** Affects: ope...

Read more...

Changed in juniperopenstack:
assignee: nobody → Raj Reddy (rajreddy)
tags: added: analytics
Changed in juniperopenstack:
importance: Undecided → High
Raj Reddy (rajreddy)
Changed in juniperopenstack:
assignee: Raj Reddy (rajreddy) → Anish Mehta (amehta00)
Revision history for this message
Filip Pytloun (fpytloun) wrote :
Download full text (3.2 KiB)

Ok so it seems it works only with 0.9 and newer.
But I tried With latest librdkafka backported from Debian unstable (0.9.1) and following error will occur:

g++ -o build/production/analytics/vizd -Wl,--whole-archive -lbase -lcpuinfo -l:librdkafka.a -l:librdkafka++.a -Wl,--no-whole-archive -g build/production/analytics/collector_uve_types.o build/production/analytics/collector_uve_constants.o build/production/analytics/collector_uve_html.o build/production/analytics/analytics_types.o build/production/analytics/analytics_constants.o build/production/analytics/analytics_html.o build/production/analytics/redis_types.o build/production/analytics/redis_constants.o build/production/analytics/redis_html.o build/production/analytics/uflow_types.o build/production/analytics/uflow_constants.o build/production/analytics/uflow_html.o build/production/analytics/sflow_types.o build/production/analytics/sflow_constants.o build/production/analytics/sflow_html.o build/production/analytics/viz_types.o build/production/analytics/viz_constants.o build/production/analytics/viz_html.o build/production/analytics/viz_collector.o build/production/analytics/ruleeng.o build/production/analytics/collector.o build/production/analytics/vizd_table_desc.o build/production/analytics/viz_message.o build/production/analytics/generator.o build/production/analytics/redis_connection.o build/production/analytics/redis_processor_vizd.o build/production/analytics/options.o build/production/analytics/stat_walker.o build/production/analytics/protobuf_collector.o build/production/analytics/protobuf_server.o build/production/analytics/sflow.o build/production/analytics/sflow_generator.o build/production/analytics/sflow_collector.o build/production/analytics/sflow_parser.o build/production/analytics/ipfix_collector.o build/production/analytics/protobuf_schema.pb.o build/production/analytics/main.o build/production/analytics/buildinfo.o build/production/analytics/db_handler.o build/production/analytics/OpServerProxy.o build/production/analytics/syslog_collector.o build/production/analytics/parser_util.o -Lbuild/lib -Lbuild/production/sandesh -Lcontroller/src/sandesh -Lbuild/production/analytics/ruleparser -Lcontroller/src/analytics/ruleparser -Lbuild/production/discovery/client -Lcontroller/src/discovery/client -Lbuild/production/http/client -Lcontroller/src/http/client -Lbuild/production/xml -Lcontroller/src/xml -Lbuild/production/database -Lcontroller/src/database -Lbuild/production/base -Lcontroller/src/base -Lbuild/production/io -Lcontroller/src/io -Lbuild/production/net -Lcontroller/src/net -lcassandra_cql -lcassandra -lgendb -lcpuinfo -lds -lio -lsandesh -lhttpc -lhttp -lhttp_parser -lcurl -lruleparser -lxml -lprocess_info -lbase -lio -lz -lnet -lipfix -lmisc -lsandeshvns -lpugixml -lhiredis -lprotobuf -lzookeeper_client -lzookeeper_mt -lboost_filesystem -lboost_program_options -lboost_system -llog4cplus -lpthread -ltbb -lboost_python -lpython2.7 -lrt
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/librdkafka.a(rdkafka_transport.o): undefined reference to symbol 'SSL_get_verify_result@@OPENSSL_1.0.0'
//lib/x86_64-linux-gnu/libssl.so.1.0.0: error adding symbol...

Read more...

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/21111
Submitter: Filip Pytloun (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/21112
Submitter: Filip Pytloun (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/21116
Submitter: Anish Mehta (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R3.0

Review in progress for https://review.opencontrail.org/21117
Submitter: Anish Mehta (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/21112
Submitter: Filip Pytloun (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/21117
Committed: http://github.org/Juniper/contrail-packages/commit/3a41315dbf834492d9d08c27f298ab60a5dc4c2f
Submitter: Zuul
Branch: R3.0

commit 3a41315dbf834492d9d08c27f298ab60a5dc4c2f
Author: Anish Mehta <email address hidden>
Date: Mon Jun 13 09:09:25 2016 -0700

Setting librdkafka build dependency for version 0.9.0.
Fixes-Bug:1590782

Change-Id: Ie92d59415102a6c136c040569f952648f587018e

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/21116
Committed: http://github.org/Juniper/contrail-packages/commit/b4c1e035e0192e1622dd0508e31f47b7c7009f69
Submitter: Zuul
Branch: master

commit b4c1e035e0192e1622dd0508e31f47b7c7009f69
Author: Anish Mehta <email address hidden>
Date: Mon Jun 13 09:09:25 2016 -0700

Setting librdkafka build dependency for version 0.9.0.
Fixes-Bug:1590782

Change-Id: Ie92d59415102a6c136c040569f952648f587018e

Revision history for this message
Filip Pytloun (fpytloun) wrote :

My fix still wasn't merged.
Or does build of R3.0 contrail with kafka work for you on Ubuntu Trusty?

Revision history for this message
Raj Reddy (rajreddy) wrote : Re: [Bug 1590782] Analytics fails to build: 'Metadata' in namespace 'RdKafka' does not name a type
Download full text (3.9 KiB)

Why do you need your changes?
The below issue is because the librdkafka version is different and the changes committed address the same..

-Raj

> On Jun 27, 2016, at 11:54 PM, Filip Pytloun <email address hidden> wrote:
>
> My fix still wasn't merged.
> Or does build of R3.0 contrail with kafka work for you on Ubuntu Trusty?
>
> --
> You received this bug notification because you are a member of Contrail
> Systems engineering, which is subscribed to Juniper Openstack.
> https://bugs.launchpad.net/bugs/1590782
>
> Title:
> Analytics fails to build: 'Metadata' in namespace 'RdKafka' does not
> name a type
>
> Status in Juniper Openstack:
> Fix Committed
> Status in Juniper Openstack r3.0 series:
> Fix Committed
> Status in Juniper Openstack trunk series:
> Fix Committed
> Status in OpenContrail:
> New
>
> Bug description:
> We are facing following issue during build of contrail-analytics from
> R3.0 branch on Ubuntu trusty. Using librdkafka-dev 0.8.6. Is this
> issue with older librdkafka? If so, there should be version
> requirement in Build-Depends.
>
> g++ -o build/production/analytics/OpServerProxy.o -c -g -O3 -Wall -Werror -Wsign-compare -Wno-unused-local-typedefs -DLINUX -DUSE_CASSANDRA_CQL -Icontroller/src -Ibuild/include -Icontroller/lib -I/usr/include/python2.7 -I/usr/include/librdkafka -Ibuild/production/tools/sandesh/library/common -Itools/sandesh/library/common -Ibuild/production/io -Icontroller/src/io -Ibuild/production/database -Icontroller/src/database -Ibuild/production/database/cassandra/cql -Icontroller/src/database/cassandra/cql -Ibuild/production -Ibuild/production/http/client -Icontroller/src/http/client -Ibuild/production/discovery/client -Icontroller/src/discovery/client -Ibuild/production/analytics -Icontroller/src/analytics -Ibuild/production -Ibuild/production/base/sandesh -Icontroller/src/base/sandesh controller/src/analytics/OpServerProxy.cc
> controller/src/analytics/OpServerProxy.cc: In member function 'bool OpServerProxy::OpServerImpl::KafkaTimer()':
> controller/src/analytics/OpServerProxy.cc:498:36: error: 'Metadata' in namespace 'RdKafka' does not name a type
> class RdKafka::Metadata *metadata;
> ^
> controller/src/analytics/OpServerProxy.cc:498:54: error: invalid type in declaration before ';' token
> class RdKafka::Metadata *metadata;
> ^
> controller/src/analytics/OpServerProxy.cc:500:57: error: 'class RdKafka::Producer' has no member named 'metadata'
> RdKafka::ErrorCode err = producer_->metadata(true, NULL,
> ^
> controller/src/analytics/OpServerProxy.cc:506:267: error: request for member 'orig_broker_id' in '* metadata', which is of non-class type 'int'
> LOG(ERROR, "Metadata for " << metadata->orig_broker_id() <<
> ...

Read more...

Revision history for this message
Filip Pytloun (fpytloun) wrote :

Because it won't build with newer librdkafka unless linked with crypto and sasl2.

Revision history for this message
Raj Reddy (rajreddy) wrote :
Download full text (3.9 KiB)

Hi Filip,

Did you try with 0.9.0-0contrail0?
Our build m/c don’t have crypto or sasl2 installed and builds go through fine..

-Raj

> On Jun 30, 2016, at 1:44 AM, Filip Pytloun <email address hidden> wrote:
>
> Because it won't build with newer librdkafka unless linked with crypto
> and sasl2.
>
> --
> You received this bug notification because you are a member of Contrail
> Systems engineering, which is subscribed to Juniper Openstack.
> https://bugs.launchpad.net/bugs/1590782
>
> Title:
> Analytics fails to build: 'Metadata' in namespace 'RdKafka' does not
> name a type
>
> Status in Juniper Openstack:
> Fix Committed
> Status in Juniper Openstack r3.0 series:
> Fix Committed
> Status in Juniper Openstack trunk series:
> Fix Committed
> Status in OpenContrail:
> New
>
> Bug description:
> We are facing following issue during build of contrail-analytics from
> R3.0 branch on Ubuntu trusty. Using librdkafka-dev 0.8.6. Is this
> issue with older librdkafka? If so, there should be version
> requirement in Build-Depends.
>
> g++ -o build/production/analytics/OpServerProxy.o -c -g -O3 -Wall -Werror -Wsign-compare -Wno-unused-local-typedefs -DLINUX -DUSE_CASSANDRA_CQL -Icontroller/src -Ibuild/include -Icontroller/lib -I/usr/include/python2.7 -I/usr/include/librdkafka -Ibuild/production/tools/sandesh/library/common -Itools/sandesh/library/common -Ibuild/production/io -Icontroller/src/io -Ibuild/production/database -Icontroller/src/database -Ibuild/production/database/cassandra/cql -Icontroller/src/database/cassandra/cql -Ibuild/production -Ibuild/production/http/client -Icontroller/src/http/client -Ibuild/production/discovery/client -Icontroller/src/discovery/client -Ibuild/production/analytics -Icontroller/src/analytics -Ibuild/production -Ibuild/production/base/sandesh -Icontroller/src/base/sandesh controller/src/analytics/OpServerProxy.cc
> controller/src/analytics/OpServerProxy.cc: In member function 'bool OpServerProxy::OpServerImpl::KafkaTimer()':
> controller/src/analytics/OpServerProxy.cc:498:36: error: 'Metadata' in namespace 'RdKafka' does not name a type
> class RdKafka::Metadata *metadata;
> ^
> controller/src/analytics/OpServerProxy.cc:498:54: error: invalid type in declaration before ';' token
> class RdKafka::Metadata *metadata;
> ^
> controller/src/analytics/OpServerProxy.cc:500:57: error: 'class RdKafka::Producer' has no member named 'metadata'
> RdKafka::ErrorCode err = producer_->metadata(true, NULL,
> ^
> controller/src/analytics/OpServerProxy.cc:506:267: error: request for member 'orig_broker_id' in '* metadata', which is of non-class type 'int'
> LOG(ERROR, "Metadata for " << metadata->orig_broker_id() <<
> ...

Read more...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.