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

libignition-rendering4 v6_6.0.0 #19

Merged
merged 34 commits into from
Oct 7, 2021

Conversation

regro-cf-autotick-bot
Copy link
Contributor

It is very likely that the current package version for this feedstock is out of date.
Notes for merging this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
    Checklist before merging this PR:
  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Note that the bot will stop issuing PRs if more than 3 Version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.

NEW: If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our new bot automerge feature to your feedstock!

If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot.
The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. If you would like a local version of this bot, you might consider using rever. Rever is a tool for automating software releases and forms the backbone of the bot's conda-forge PRing capability. Rever is both conda (conda install -c conda-forge rever) and pip (pip install re-ver) installable.
Finally, feel free to drop us a line if there are any issues!
This PR was generated by https://github.com/regro/autotick-bot/actions/runs/1293598365, please use this URL for debugging

Dependency Analysis

Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add bot: inspection: false to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis of the source code shows a discrepancy between the library's imports and the package's stated requirements in the meta.yaml.

Packages found by inspection but not in the meta.yaml:

  • pyopengl

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@traversaro
Copy link
Contributor

Blocked by conda-forge/libignition-math4-feedstock#18 .

@traversaro traversaro closed this Oct 3, 2021
@traversaro traversaro reopened this Oct 3, 2021
@traversaro
Copy link
Contributor

There is some interesting build failures when using ogre1.10 only on Linux and macOS (not on Windows):

[ 77%] Building CXX object ogre/src/CMakeFiles/ignition-rendering6-ogre.dir/OgreCOMVisual.cc.o
In file included from /Users/runner/miniforge3/conda-bld/libignition-rendering6_1633293895514/work/ogre/src/OgreCOMVisual.cc:18:
In file included from /Users/runner/miniforge3/conda-bld/libignition-rendering6_1633293895514/work/ogre/include/ignition/rendering/ogre/OgreCOMVisual.hh:24:
In file included from /Users/runner/miniforge3/conda-bld/libignition-rendering6_1633293895514/work/ogre/include/ignition/rendering/ogre/OgreIncludes.hh:68:
/Users/runner/miniforge3/conda-bld/libignition-rendering6_1633293895514/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/OGRE/Terrain/OgreTerrainPaging.h:33:10: fatal error: 'OgrePagedWorldSection.h' file not found
#include "OgrePagedWorldSection.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [ogre/src/CMakeFiles/ignition-rendering6-ogre.dir/build.make:104: ogre/src/CMakeFiles/ignition-rendering6-ogre.dir/OgreCOMVisual.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2847: ogre/src/CMakeFiles/ignition-rendering6-ogre.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Traceback (most recent call last):

@traversaro
Copy link
Contributor

I think there is some regression related to gazebosim/gz-rendering#376 . I reverted it that part for now in our recipe.

@traversaro
Copy link
Contributor

traversaro commented Oct 4, 2021

I think there is some regression related to ignitionrobotics/ign-rendering#376 . I reverted it that part for now in our recipe.

The failures could also be related to ignition-cmake 2.9.0 and some related changes:

In particular in that changes there is a lot of code that is conditional on:

  • Ogre version >= 1.11
  • Being on Windows or not
  • Paging component

All aspects related to the failures of this PR.

@traversaro
Copy link
Contributor

traversaro commented Oct 4, 2021

Reverting to finding ogre like:

ign_find_package(IgnOGRE VERSION 1.8.0
  COMPONENTS ${ign_ogre_components}
  REQUIRED_BY ogre
  PRIVATE_FOR ogre)

Results in compilation working fine, but tests on macOS failing tests failing like:

2021-10-04T15:42:37.4423990Z       Start  1: UNIT_ArrowVisual_TEST
2021-10-04T15:42:40.0987940Z  1/76 Test  #1: UNIT_ArrowVisual_TEST .................***Exception: SegFault  2.73 sec
2021-10-04T15:42:40.1002540Z [==========] Running 2 tests from 1 test case.
2021-10-04T15:42:40.1047910Z [----------] Global test environment set-up.
2021-10-04T15:42:40.1056740Z [----------] 2 tests from ArrowVisual/ArrowVisualTest
2021-10-04T15:42:40.1065720Z [ RUN      ] ArrowVisual/ArrowVisualTest.ArrowVisual/ogre
2021-10-04T15:42:40.1068440Z �[1;31m[Err] [OgreRenderEngine.cc:465] �[0m�[1;31mUnable to load Ogre Plugin[�[0m�[1;31m$PREFIX/lib/OGRE/libRenderSystem_GL�[0m�[1;31m]. Rendering will not be possible.�[0m�[1;31mMake sure you have installed OGRE properly.�[0m
2021-10-04T15:42:40.1071500Z �[1;31m[Err] [OgreRenderEngine.cc:508] �[0m�[1;31munable to find OpenGL rendering system. OGRE is probably installed incorrectly. Double check the OGRE cmake output, and make sure OpenGL is enabled.�[0m�[1;31m�[0m
2021-10-04T15:42:40.1072650Z 
2021-10-04T15:42:40.1381570Z       Start  2: check_UNIT_ArrowVisual_TEST
2021-10-04T15:42:40.2151560Z  2/76 Test  #2: check_UNIT_ArrowVisual_TEST ...........   Passed    0.08 sec
2021-10-04T15:42:45.5931940Z 
2021-10-04T15:42:45.5933180Z The following tests FAILED:
2021-10-04T15:42:45.5935640Z 	  1 - UNIT_ArrowVisual_TEST (SEGFAULT)

Interestingly, the same test pass fine (at least for ogre 1.12, that was the one that was working fine even when 1.10 had compilation problems) before the revert of the find_package(IgnOgre) changes.

@traversaro
Copy link
Contributor

As a compromise before the unpatched version (in which tests were passing on macOS with ogre 1.12) I tried to search passing as VERSION of find_package(IgnOgre ..) 1.10 .

@traversaro
Copy link
Contributor

traversaro commented Oct 6, 2021

So, small recap after all the experiments in CI. Compilation or tests are failing either on linux_64_ogre1.10, osx osx_64_ogre1.10, osx_64_ogre1.12 depending on the CMake code. I do not report the results on osx_arm64_ogre1.1* as those are cross-compilation jobs whose compilation fails whenever the equivalent osx_64 job fail, and for which tests are not running. linux_64_ogre1.12 and windows jobs always succeed (note that the code path for FindIgnOGRE in ign-cmake is completly different between Windows and not-Windows: https://github.com/ignitionrobotics/ign-cmake/blob/ignition-cmake2_2.9.0/cmake/FindIgnOGRE.cmake#L62, so this could explain that).

CMake code linux_64_ogre1.10 osx_64_ogre1.10 osx_64_ogre1.12 Example jobs
ign_find_package(IgnOGRE VERSION 1.10 QUIET), also followed by a second call with the longer signature ❌, fatal error: 'OgrePagedWorldSection.h' file not found ❌, fatal error: 'OgrePagedWorldSection.h' file not found ❌, fatal error: 'OgrePagedWorldSection.h' file not found https://github.com/conda-forge/libignition-rendering4-feedstock/runs/3794212621
ign_find_package(IgnOGRE VERSION 1.10 COMPONENTS ${ign_ogre_components} REQUIRED_BY ogre PRIVATE_FOR ogre), both called one or two times, and with version 1.10 or 1.8.0 ✔️ ❌, test not passing ❌, test not passing https://github.com/conda-forge/libignition-rendering4-feedstock/runs/3796117501

@traversaro
Copy link
Contributor

traversaro commented Oct 7, 2021

Even after the fix backported from gazebosim/gz-rendering#454, the macOS tests are segfaulting. However, also the tests in Linux seems to be passing but in a strange way. It seems that they are try to test only the disabled engines (ogre2 and optix) and they silently fail, without actually testing ogre:

2021-10-06T20:23:08.6521451Z       Start 27: UNIT_Light_TEST
2021-10-06T20:23:08.6524342Z 
2021-10-06T20:23:08.6528997Z 27: Test command: $SRC_DIR/build/bin/UNIT_Light_TEST "--gtest_output=xml:$SRC_DIR/build/test_results/UNIT_Light_TEST.xml"
2021-10-06T20:23:08.6533669Z 27: Test timeout computed to be: 240
2021-10-06T20:23:08.6901375Z 27: [==========] Running 2 tests from 1 test case.
2021-10-06T20:23:08.6903015Z 27: [----------] Global test environment set-up.
2021-10-06T20:23:08.6903778Z 27: [----------] 2 tests from Light/LightTest
2021-10-06T20:23:08.6926958Z 27: [ RUN      ] Light/LightTest.Light/ogre2
2021-10-06T20:23:08.6928030Z 27: �[1;31m[Err] [RenderEngineManager.cc:461] �[0m�[1;31mFailed to load plugin [�[0m�[1;31mogre2�[0m�[1;31m] : couldn't find shared library.�[0m�[1;31m�[0m
2021-10-06T20:23:08.6928662Z 27: [       OK ] Light/LightTest.Light/ogre2 (1 ms)
2021-10-06T20:23:08.6929012Z 27: [ RUN      ] Light/LightTest.Light/optix
2021-10-06T20:23:08.6929765Z 27: �[1;31m[Err] [RenderEngineManager.cc:461] �[0m�[1;31mFailed to load plugin [�[0m�[1;31moptix�[0m�[1;31m] : couldn't find shared library.�[0m�[1;31m�[0m
2021-10-06T20:23:08.6930290Z 27: [       OK ] Light/LightTest.Light/optix (0 ms)
2021-10-06T20:23:08.6930806Z 27: [----------] 2 tests from Light/LightTest (1 ms total)
2021-10-06T20:23:08.6931140Z 27: 
2021-10-06T20:23:08.6931565Z 27: [----------] Global test environment tear-down
2021-10-06T20:23:08.6931937Z 27: [==========] 2 tests from 1 test case ran. (1 ms total)
2021-10-06T20:23:08.6932260Z 27: [  PASSED  ] 2 tests.
2021-10-06T20:23:08.6932619Z 27/76 Test #27: UNIT_Light_TEST .......................   Passed    0.04 sec

This would explain why the test suite was passing fine on all old releases.

@traversaro
Copy link
Contributor

Even after the fix backported from ignitionrobotics/ign-rendering#454, the macOS tests are segfaulting. However, also the tests in Linux seems to be passing but in a strange way. It seems that they are try to test only the disabled engines (ogre2 and optix) and they silently fail, without actually testing ogre. This would explain why the test suite was passing fine on all old releases.

It seems that this is expected as the render engines to tests are hardcoded: https://github.com/ignitionrobotics/ign-rendering/blob/ign-rendering6/test/test_config.h.in#L14 .

To specify other render engines, it is possible to use the RENDER_ENGINE_VALUES env variable: https://github.com/ignitionrobotics/ign-rendering/blob/7b9ac811c6f6489935681047987291c4cb938b6b/tutorials/02_install.md#testing .

@traversaro
Copy link
Contributor

Great, progress. Now also Windows and Linux fail. : )

Windows fail with errors like:

2021-10-07T08:16:05.2373939Z  5/39 Test  #5: UNIT_Camera_TEST .................***Failed    0.14 sec
2021-10-07T08:16:05.2375104Z [==========] Running 5 tests from 1 test case.
2021-10-07T08:16:05.2375856Z [----------] Global test environment set-up.
2021-10-07T08:16:05.2376389Z [----------] 5 tests from Camera/CameraTest
2021-10-07T08:16:05.2377028Z [ RUN      ] Camera/CameraTest.ViewProjectionMatrix/ogre
2021-10-07T08:16:05.2377865Z unknown file: error: SEH exception with code 0xc0000005 thrown in the test body.
2021-10-07T08:16:05.2378971Z [  FAILED  ] Camera/CameraTest.ViewProjectionMatrix/ogre, where GetParam() = "ogre" (28 ms)
2021-10-07T08:16:05.2379697Z [ RUN      ] Camera/CameraTest.RenderTexture/ogre
2021-10-07T08:16:05.2381231Z �[31m[Err] [%SRC_DIR%\ogre\src\OgreRenderEngine.cc:399] �[m�[31mUnable to create Ogre root�[m�[31m
2021-10-07T08:16:05.2382021Z �[munknown file: error: SEH exception with code 0xc0000005 thrown in the test body.
2021-10-07T08:16:05.2382720Z [  FAILED  ] Camera/CameraTest.RenderTexture/ogre, where GetParam() = "ogre" (2 ms)
2021-10-07T08:16:05.2383489Z [ RUN      ] Camera/CameraTest.TrackFollow/ogre
2021-10-07T08:16:05.2384557Z �[31m[Err] [%SRC_DIR%\ogre\src\OgreRenderEngine.cc:399] �[m�[31mUnable to create Ogre root�[m�[31m
2021-10-07T08:16:05.2385325Z �[munknown file: error: SEH exception with code 0xc0000005 thrown in the test body.
2021-10-07T08:16:05.2386261Z [  FAILED  ] Camera/CameraTest.TrackFollow/ogre, where GetParam() = "ogre" (1 ms)
2021-10-07T08:16:05.2387086Z [ RUN      ] Camera/CameraTest.AddRemoveRenderPass/ogre
2021-10-07T08:16:05.2387758Z �[31m[Err] [%SRC_DIR%\ogre\src\OgreRenderEngine.cc:399] �[m�[31mUnable to create Ogre root�[m�[31m
2021-10-07T08:16:05.2388533Z �[munknown file: error: SEH exception with code 0xc0000005 thrown in the test body.
2021-10-07T08:16:05.2389324Z [  FAILED  ] Camera/CameraTest.AddRemoveRenderPass/ogre, where GetParam() = "ogre" (2 ms)
2021-10-07T08:16:05.2390015Z [ RUN      ] Camera/CameraTest.VisibilityMask/ogre
2021-10-07T08:16:05.2390724Z �[31m[Err] [%SRC_DIR%\ogre\src\OgreRenderEngine.cc:399] �[m�[31mUnable to create Ogre root�[m�[31m
2021-10-07T08:16:05.2391445Z �[munknown file: error: SEH exception with code 0xc0000005 thrown in the test body.
2021-10-07T08:16:05.2393739Z [  FAILED  ] Camera/CameraTest.VisibilityMask/ogre, where GetParam() = "ogre" (2 ms)
2021-10-07T08:16:05.2394638Z [----------] 5 tests from Camera/CameraTest (35 ms total)

Linux fails (but silently passes) with errors like:

71: [Msg] Loading plugin [ignition-rendering-ogre]
71: Error while loading the library [$PREFIX/lib/ign-rendering-6/engine-plugins/libignition-rendering-ogre.so]: libGL.so.1: cannot open shared object file: No such file or directory
71: [Err] [RenderEngineManager.cc:470] Failed to load plugin [ignition-rendering-ogre] : couldn't load library on path [$PREFIX/lib/ign-rendering-6/engine-plugins/libignition-rendering-ogre.so].
71: [Dbg] [Utils_TEST.cc:50] Engine 'ogre' is not supported

This is probably just some yum packages related to libgl missing in the test machine.

@traversaro
Copy link
Contributor

This is probably just some yum packages related to libgl missing in the test machine.

See https://conda-forge.org/docs/maintainer/knowledge_base.html#libgl .

@traversaro
Copy link
Contributor

@conda-forge-admin please rerender

@traversaro
Copy link
Contributor

traversaro commented Oct 7, 2021

So, we finally reached a point in which all the tests are failing. However, especially the Linux tests are clearly failing because the display can't be opened, and this is kind of expected on a CI environment in which Xvfb is not running (see conda-forge/conda-forge.github.io#399). So, at this point I think it make sense to disable the test suite, and just check manually if the examples are working.

First of all, I tested on macOS the examples\simple_demo and it seems to be working fine (thanks to the backport of gazebosim/gz-rendering#454 ) :
Screenshot 2021-10-07 at 12 42 00

@traversaro
Copy link
Contributor

Apparently, the simple_demo example is not supported on Windows. However, in general the library is working on Linux and macOS, so this is already a progress w.r.t. to the existing situation, so I think it make sense to disable the tests, and merge the PR.

@traversaro
Copy link
Contributor

@conda-forge-admin please rerender

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

Successfully merging this pull request may close these issues.

3 participants