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

rviz_rendering compile failed and pytest NoneType #728

Closed
shanpenghui opened this issue Jun 8, 2019 · 1 comment
Closed

rviz_rendering compile failed and pytest NoneType #728

shanpenghui opened this issue Jun 8, 2019 · 1 comment

Comments

@shanpenghui
Copy link

I use ros2.repos in release-latest branch to get source and compile it and get following error:

Bug report

Required Info:

Steps to reproduce issue

I use this command to build

colcon build --symlink-install

After wait for a time, the compile stop and warning by these error:

Starting >>> builtin_interfaces
--- stderr: rviz_rendering                                                                                                                       
In file included from /usr/include/eigen3/Eigen/Core:316:0,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/sph/ros2_dashing_ws/src/ros2/rviz/rviz_rendering/include/rviz_rendering/objects/covariance_visual.hpp:37,
                 from /home/sph/ros2_dashing_ws/src/ros2/rviz/rviz_rendering/src/rviz_rendering/objects/covariance_visual.cpp:31:
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:60:39: error: ignoring attributes on template argument ‘__m128 {aka __vector(4) float}’ [-Werror=ignored-attributes]
 template<> struct is_arithmetic<__m128>  { enum { value = true }; };
                                       ^
/usr/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:61:40: error: ignoring attributes on template argument ‘__m128i {aka __vector(2) long long int}’ [-Werror=ignored-attributes]
 template<> struct is_arithmetic<__m128i> { enum { value = true }; };

/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:74:57: error: enum constant in boolean context [-Werror=int-in-bool-context]
     MayLinearVectorize = MightVectorize && MayLinearize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:78:41: error: enum constant in boolean context [-Werror=int-in-bool-context]
     MaySliceVectorize  = MightVectorize && DstHasDirectAccess
                          ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/rviz_rendering.dir/src/rviz_rendering/objects/covariance_visual.cpp.o] Error 1
make[1]: *** [CMakeFiles/rviz_rendering.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< rviz_rendering	[ Exited with code 2 ]
Aborted  <<< builtin_interfaces                                                                                          
Aborted  <<< ament_pclint
Aborted  <<< rttest
[32.877s] ERROR:colcon.colcon_core.event_reactor:Exception in event handler extension 'status': <colcon_core.executor.Job object at 0x7f3fd1c58048>
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/colcon_core/event_reactor.py", line 78, in _notify_observers
    retval = observer(event)
  File "/usr/lib/python3/dist-packages/colcon_notification/event_handler/status.py", line 109, in __call__
    progress = self._running[job].get('progress', [])
KeyError: <colcon_core.executor.Job object at 0x7f3fd1c58048>

[32.886s] ERROR:asyncio:Task was destroyed but it is pending!
task: <Task pending coro=<_fd2callback() done, defined at /usr/lib/python3/dist-packages/colcon_core/subprocess.py:220> wait_for=<Future finished result=None> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.5/asyncio/tasks.py:414]>
[32.886s] ERROR:asyncio:Task was destroyed but it is pending!
task: <Task pending coro=<_fd2callback() done, defined at /usr/lib/python3/dist-packages/colcon_core/subprocess.py:220> wait_for=<Future finished result=None> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.5/asyncio/tasks.py:414]>
[32.886s] ERROR:asyncio:Task was destroyed but it is pending!
task: <Task pending coro=<_fd2callback() done, defined at /usr/lib/python3/dist-packages/colcon_core/subprocess.py:220> wait_for=<Future finished result=None> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.5/asyncio/tasks.py:414]>
[32.886s] ERROR:asyncio:Task was destroyed but it is pending!
task: <Task pending coro=<_fd2callback() done, defined at /usr/lib/python3/dist-packages/colcon_core/subprocess.py:220> wait_for=<Future finished result=None> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.5/asyncio/tasks.py:414]>

Summary: 116 packages finished [32.7s]
  1 package failed: rviz_rendering
  3 packages aborted: ament_pclint builtin_interfaces rttest
  1 package had stderr output: rviz_rendering
  140 packages not processed

I try some methods to solve this problem, such as upgrade the eigen3 or change gcc/g++ from 5 to 7 .etc, but all falied.
And there is a problem that cannot solved is that pytest cannot work in this building workspace.After i install pytest 4.6, i enter the command pytest and it shows the error.

Traceback (most recent call last):
  File "/usr/local/bin/pytest", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/_pytest/config/__init__.py", line 63, in main
    config = _prepareconfig(args, plugins)
  File "/usr/local/lib/python3.5/dist-packages/_pytest/config/__init__.py", line 207, in _prepareconfig
    pluginmanager=pluginmanager, args=args
  File "/usr/local/lib/python3.5/dist-packages/pluggy/hooks.py", line 289, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "/usr/local/lib/python3.5/dist-packages/pluggy/manager.py", line 87, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/usr/local/lib/python3.5/dist-packages/pluggy/manager.py", line 81, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "/usr/local/lib/python3.5/dist-packages/pluggy/callers.py", line 203, in _multicall
    gen.send(outcome)
  File "/usr/local/lib/python3.5/dist-packages/_pytest/helpconfig.py", line 94, in pytest_cmdline_parse
    config = outcome.get_result()
  File "/usr/local/lib/python3.5/dist-packages/pluggy/callers.py", line 80, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/usr/local/lib/python3.5/dist-packages/pluggy/callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "/usr/local/lib/python3.5/dist-packages/_pytest/config/__init__.py", line 687, in pytest_cmdline_parse
    self.parse(args)
  File "/usr/local/lib/python3.5/dist-packages/_pytest/config/__init__.py", line 895, in parse
    self._preparse(args, addopts=addopts)
  File "/usr/local/lib/python3.5/dist-packages/_pytest/config/__init__.py", line 836, in _preparse
    self._consider_importhook(args)
  File "/usr/local/lib/python3.5/dist-packages/_pytest/config/__init__.py", line 784, in _consider_importhook
    self._mark_plugins_for_rewrite(hook)
  File "/usr/local/lib/python3.5/dist-packages/_pytest/config/__init__.py", line 806, in _mark_plugins_for_rewrite
    for name in _iter_rewritable_modules(package_files):
  File "/usr/local/lib/python3.5/dist-packages/_pytest/config/__init__.py", line 625, in _iter_rewritable_modules
    for fn in package_files:
  File "/usr/local/lib/python3.5/dist-packages/_pytest/config/__init__.py", line 803, in <genexpr>
    for file in dist.files
TypeError: 'NoneType' object is not iterable

I have to guess the compile error is caused by pytest error?Is anyone encounter same problem and give some help for me ? Thanks very much.Appreaciate that.

@dirk-thomas
Copy link
Member

The release-latest branch now contains ROS 2 Dashing which doesn't support Ubuntu Xenial (see REP 2000). Either choose to upgrade to Ubuntu Bionic or stick to the older ROS 2 release Crystal.

The exception in pytestis a regression in their latest releases 4.6.0 / 4.6.1 / 4.6.2 (see pytest-dev/pytest#5389).There should be a new release coming out soon - until then you can explicitly use an older version like 4.5.x.

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

2 participants