problem for installation on Cygwin

Asked by AustinWu on 2009-09-10

Hi:

   When I install openWNS-SDK on Cygwin, some errors appear:

In file included from modules/dll/wimac/src/ACKSwitch.cpp:43:
include/WIMAC/services/ConnectionManager.hpp:252: error: `wns::smartPtr<wimac::C
onnectionIdentifier> wimac::service::ConnectionManager::getBasicConnectionFor(in
t32_t)' and 'wns::smartPtr<wimac::ConnectionIdentifier> wimac::service::Connection
Manager::getBasicConnectionFor(long int)' cannot be overloaded
scons: ***[.build/dbg/openwns-wimac/src/ACKSwitch.o] Error 1

Could you please help me on this?
Thank you very much,
Austin.

Question information

Language:
English Edit question
Status:
Answered
For:
openWNS SDK Edit question
Assignee:
No assignee Edit question
Last query:
2009-09-10
Last reply:
2009-09-11

Hi,

it seems that Cygwin cannot chokes on the function overloading here and does not properly handle the typedefs for
wimac::StationID and wimac::ConnectionIdentifier::CID . Function overloading in C++ assures that, if you have methods defined which have the same name but different parameters, the correct method is invoked. This does not work here because the compiler thinks

wns::smartPtr<wimac::ConnectionIdentifier> wimac::service::ConnectionManager::getBasicConnectionFor(StationdID)
wns::smartPtr<wimac::ConnectionIdentifier> wimac::service::ConnectionManager::getBasicConnectionFor(CID)

are the same functions. At least this is what I think is happening here. Can you try to verify this? Maybe you rename both of the methods. You then need to change the callers to call the correct method. If this does not work then there is another problem. Let me know what is the result of this.

Regards,
  Daniel

Hi,

this is a known issue. It can not be easily fixed since data types would
have to be changes consistently in the whole WiMAC module. Since WiMAC
is being refactored anyways currently this will also be solved, but will
take a while.

If you do not intend to use the WiMAX simulator module edit
config/projects.py and disable the lines "wimac, wimac_addon,
wimac_tests" at THE VERY BOTTOM list.

openWNS will compile under CygWin but this is pretty much it. A lot of
required Python modules are not availbale for CygWin and can not be
easily installed. Therefore also the WLAN module WiFiMAC and the channel
and mobility model RISE / OFDMAPhy can not be used under CygWin. This
could possibly be fixed by excluding channel models requiring the
missing Python modules. Still the powerful result browsing tool Wrowser
and the result database can not be used with CygWin. The beginners
tutorial is therefore not possible under CygWin.

I would highly suggest to put up a Ubuntu 8.10 Linux system to use with
openWNS.

Greats,

Maciej

Daniel Bültmann wrote:
> Question #82374 on openWNS SDK changed:
> https://answers.launchpad.net/openwns-sdk/+question/82374
>
> Status: Open => Answered
>
> Daniel Bültmann proposed the following answer:
> Hi,
>
> it seems that Cygwin cannot chokes on the function overloading here and does not properly handle the typedefs for
> wimac::StationID and wimac::ConnectionIdentifier::CID . Function overloading in C++ assures that, if you have methods defined which have the same name but different parameters, the correct method is invoked. This does not work here because the compiler thinks
>
> wns::smartPtr<wimac::ConnectionIdentifier> wimac::service::ConnectionManager::getBasicConnectionFor(StationdID)
> wns::smartPtr<wimac::ConnectionIdentifier> wimac::service::ConnectionManager::getBasicConnectionFor(CID)
>
> are the same functions. At least this is what I think is happening here.
> Can you try to verify this? Maybe you rename both of the methods. You
> then need to change the callers to call the correct method. If this does
> not work then there is another problem. Let me know what is the result
> of this.
>
> Regards,
> Daniel
>
>

Can you help with this problem?

Provide an answer of your own, or ask AustinWu for more information if necessary.

To post a message you must log in.