Subject: [dtn-users] Error in compiling DTN2

From: yuanp <[email-masked]>
Date: Thu, 28 Mar 2013 16:41:20 +0800

Hi all,
I am trying to install DTN2 in Ubuntu 10.04, but meet some error. The
vision of dtn2 is dtn-2.9.0x. I have also installed oasys-1.6.0x,
tcl8.5.10, db-5.1.29 and xerces-c-src_2_8_0.

When configure dtn2, I receive some error:

../servlib/bundling/GbofId.h:114: error: ‘dtn::EndpointID
dtn::GbofId::source_’ is private
conv_layers/ExternalConvergenceLayer.cc:1405: error: within this context
../servlib/bundling/GbofId.h:115: error: ‘dtn::BundleTimestamp
dtn::GbofId::creation_ts_’ is private
conv_layers/ExternalConvergenceLayer.cc:1406: error: within this context
../servlib/bundling/GbofId.h:115: error: ‘dtn::BundleTimestamp
dtn::GbofId::creation_ts_’ is private
conv_layers/ExternalConvergenceLayer.cc:1408: error: within this context
../servlib/bundling/GbofId.h:116: error: ‘bool
dtn::GbofId::is_fragment_’ is private
conv_layers/ExternalConvergenceLayer.cc:1410: error: within this context
../servlib/bundling/GbofId.h:117: error: ‘u_int32_t
dtn::GbofId::frag_length_’ is private
conv_layers/ExternalConvergenceLayer.cc:1413: error: within this context
../servlib/bundling/GbofId.h:117: error: ‘u_int32_t
dtn::GbofId::frag_length_’ is private
conv_layers/ExternalConvergenceLayer.cc:1415: error: within this context
../servlib/bundling/GbofId.h:118: error: ‘u_int32_t
dtn::GbofId::frag_offset_’ is private
conv_layers/ExternalConvergenceLayer.cc:1418: error: within this context
../servlib/bundling/GbofId.h:118: error: ‘u_int32_t
dtn::GbofId::frag_offset_’ is private
conv_layers/ExternalConvergenceLayer.cc:1420: error: within this context

Has anyone met this error? I am greatly appreciated for some help.

Regards!

---

From: Elwyn Davies <[email-masked]>
Date: Thu, 28 Mar 2013 12:55:29 +0000

Hi.

It looks as if you have turned on something that hasn't been used in a
while.  If you look at servlib/GbofId.h you will see that it isn't
surprising that you get these compilation errors.  

This function needs to be rewritten:
> BundleRef
> ECLLinkResource::get_outgoing_bundle(clmessage::bundle_attributes bundle_attribs)

to use the GbofId constructor:
> GbofId(EndpointID      source,
>            BundleTimestamp creation_ts,
>            bool            is_fragment,
>            u_int32_t       frag_length,
>            u_int32_t       frag_offset);

rather than trying to access the private data items in the GbofId instance.

I don't think the External Convergence Layer has seen much use for a
while - I presume you have a use for it - otherwise just turn it off
during configuration.  Please send in a patch if you succeed in fixing
it (it isn't a big problem).  If not I guess we'll just file the bug for
whan somebody else has a few minutes to fix it.

Regards,
Elwyn

On Thu, 2013-03-28 at 16:41 +0800, yuanp wrote:
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> https://www.irtf.org/mailman/listinfo/dtn-users