Skip to content

Use of IP_MULTICAST_IF makes the code not compatible with QEMU emulation #561

@traversaro

Description

@traversaro

In I tried to run some tests for a project that depends (transitively) on gz-transport in conda-forge/gz-sim-yarp-plugins-feedstock#14, and on linux aarch64 and ppc64le emulation using QEMU, the test fail with the following error:

Error setting socket option (IP_MULTICAST_IF).
Error setting socket option (IP_MULTICAST_IF).
Did you set the environment variable IGN_IP with a correct IP address? 
  [172.17.0.2] seems an invalid local IP address.
  Using 127.0.0.1 as hostname.
unknown file: Failure
C++ exception with description "vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)" thrown in the test body.

At least the first error is expected, as the IP_MULTICAST_IF option is not supported in QEMU (see https://gitlab.com/qemu-project/qemu/-/issues/1837). I do not care too much about running tests under QEMU, but I preferred to report this so that I have a clear issue to link in the place of the script where I skip tests on QEMU.

Desired behavior

Not sure, I wanted just to report the issue to have something to reference in downstream issues.

Alternatives considered

I did not considered any alternative.

Implementation suggestion

I do not have any implementation suggestion.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions