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

Set OGRE minimal version to 1.8. Warn on versions not supported (ign-rendering3) #376

Merged
merged 7 commits into from
Aug 24, 2021

Conversation

j-rivero
Copy link
Contributor

@j-rivero j-rivero commented Aug 10, 2021

Fix #375

Might require gazebosim/gz-cmake#175 to work

Flag USE_UNOFFICIAL_OGRE_VERSIONS disabled the warning for the
experienced users.

Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>
Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>
@j-rivero j-rivero requested a review from iche033 as a code owner August 10, 2021 17:51
@github-actions github-actions bot added the 🏰 citadel Ignition Citadel label Aug 10, 2021
@osrf-triage osrf-triage added this to Inbox in Core development Aug 10, 2021
@chapulina chapulina added the needs upstream release Blocked by a release of an upstream library label Aug 10, 2021
@chapulina chapulina moved this from Inbox to In review in Core development Aug 10, 2021
@codecov
Copy link

codecov bot commented Aug 10, 2021

Codecov Report

Merging #376 (e56de72) into ign-rendering3 (9341eb2) will increase coverage by 0.00%.
The diff coverage is n/a.

❗ Current head e56de72 differs from pull request most recent head 90ebd1e. Consider uploading reports for the commit 90ebd1e to get more accurate results
Impacted file tree graph

@@               Coverage Diff               @@
##           ign-rendering3     #376   +/-   ##
===============================================
  Coverage           53.34%   53.35%           
===============================================
  Files                 131      131           
  Lines               12036    12036           
===============================================
+ Hits                 6421     6422    +1     
+ Misses               5615     5614    -1     
Impacted Files Coverage Δ
...e/ignition/rendering/base/BaseGaussianNoisePass.hh 100.00% <0.00%> (+3.33%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9341eb2...90ebd1e. Read the comment docs.

CMakeLists.txt Outdated

if (OGRE_FOUND)
IGN_BUILD_WARNING("Ogre 1.x versions greater than 1.9 are not officially supported."
"The software might compile and event work but support from upstream"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

event - > even

support from upstream could be reduced to accept patches for newer versions

To confirm, I think this means we will provided limited support in the form of accepting patches for newer versions but not actively develop against them right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To confirm, I think this means we will provided limited support in the form of accepting patches for newer versions but not actively develop against them right?

Eh yes, that is my idea but you Ian or @chapulina probably have it clearer in your mind. Please feel free to reformulate to somehow explain that we won't fix bug on other versions of Ogre but we accept all kind of patches to make it happen.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it. A couple of minor suggestions are: event -> even, and accept -> accepting

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done c57a8e5

Changelog.md Outdated Show resolved Hide resolved
CMakeLists.txt Outdated
endif()
endif()

ign_find_package(IgnOGRE VERSION 1.9.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can skip looking for 1.9.0 if 1.10 is found?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about this 90ebd1e ?

CMakeLists.txt Outdated

if (OGRE_FOUND)
IGN_BUILD_WARNING("Ogre 1.x versions greater than 1.9 are not officially supported."
"The software might compile and event work but support from upstream"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it. A couple of minor suggestions are: event -> even, and accept -> accepting

Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>
@j-rivero j-rivero enabled auto-merge (squash) August 24, 2021 18:13
@j-rivero j-rivero disabled auto-merge August 24, 2021 18:13
@j-rivero j-rivero merged commit 99c08c5 into ign-rendering3 Aug 24, 2021
Core development automation moved this from In review to Done Aug 24, 2021
@j-rivero j-rivero deleted the jrivero/ogre_warn_versions branch August 24, 2021 18:14
@chapulina
Copy link
Contributor

Since this was merged, there are confusing status messages about IgnOgre, i.e.

https://build.osrfoundation.org/job/ignition_rendering-ci-ign-rendering3-bionic-amd64/49/consoleFull

-- Looking for IgnOGRE - not found

...

-- Looking for IgnOGRE - found
...

   -- Missing dependency [IgnOGRE] (Components: RTShaderSystem, Terrain, Overlay)
Call Stack (most recent call first):
Full snippet

-- Looking for IgnOGRE - not found

-- Checking for module 'OGRE-RTShaderSystem >= 1.9'
--   Found OGRE-RTShaderSystem , version 1.9.0
-- Checking for module 'OGRE-Terrain >= 1.9'
--   Found OGRE-Terrain , version 1.9.0
-- Checking for module 'OGRE-Overlay >= 1.9'
--   Found OGRE-Overlay , version 1.9.0
-- Looking for IgnOGRE - found

-- Boost version: 1.65.1
-- -- Finding OGRE 2.1
-- Looking for IgnOGRE2 - found

CUDA_TOOLKIT_ROOT_DIR not found or specified
-- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) 
-- optix library not found.  Please locate before proceeding.
-- OptiX headers (optix.h and friends) not found.  Please locate before proceeding.
-- optix Prime library not found.  Please locate before proceeding.
-- Could NOT find OptiX (missing: OptiX_FOUND) (Required is at least version "3.8.0")
-- Looking for OptiX - not found

CMake Warning at /usr/share/cmake/ignition-cmake2/cmake2/IgnConfigureBuild.cmake:53 (message):
   CONFIGURATION WARNINGS:
   -- Missing dependency [IgnOGRE] (Components: RTShaderSystem, Terrain, Overlay)
Call Stack (most recent call first):
  CMakeLists.txt:154 (ign_configure_build)

But then it looks like the ogre component is correctly built and installed.

Might require gazebosim/gz-cmake#175 to work

@j-rivero , is that going to improve the messages so that they're less misleading?


https://github.com/osrf/buildfarmer/issues/224

@scpeters
Copy link
Member

Since this was merged, there are confusing status messages about IgnOgre, i.e.

https://build.osrfoundation.org/job/ignition_rendering-ci-ign-rendering3-bionic-amd64/49/consoleFull

-- Looking for IgnOGRE - not found

...

-- Looking for IgnOGRE - found
...

   -- Missing dependency [IgnOGRE] (Components: RTShaderSystem, Terrain, Overlay)
Call Stack (most recent call first):

Full snippet
But then it looks like the ogre component is correctly built and installed.

Might require ignitionrobotics/ign-cmake#175 to work

@j-rivero , is that going to improve the messages so that they're less misleading?

osrf/buildfarmer#224

in addition to the confusion of the messages, it's generating a cmake warning that makes the build unstable:

@chapulina
Copy link
Contributor

I think this also broke downstream Windows builds, which are installing Ogre 1.12.9:

https://build.osrfoundation.org/job/ign_gui-pr-win/996/consoleFull#console-section-10

 BEGIN SECTION: install external dependency ogre
"VCPKG_HEAD is 2021.05.12"
The vpckg directory is not using the expected snapshot 2020.11
Failed in windows_library with error #0.
Computing installation plan...
The following packages are already installed:
    ogre[assimp,core,freeimage,overlay,zziplib]:x64-windows -> 1.12.9#5
Package ogre:x64-windows is already installed

Total elapsed time: 14.3 us

The package ogre:x64-windows provides CMake targets:

    find_package(OGRE CONFIG REQUIRED)
    # Note: 6 target(s) were omitted.
    target_link_libraries(main PRIVATE OgreMain OgreBites OgrePaging OgreVolume)

# END SECTION
Applied user-wide integration for this vcpkg root.

All MSBuild C++ projects can now #include any installed libraries.
Linking will be handled automatically.
Installing new libraries will make them instantly available.

CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake"

...

-- Looking for IgnOGRE - not found

-- Looking for IgnOGRE - not found

@j-rivero
Copy link
Contributor Author

@j-rivero , is that going to improve the messages so that they're less misleading?

osrf/buildfarmer#224

I'm not sure. I've merged gazebosim/gz-cmake#175 to see if things are working as expected on Windows. Not that if we are using an unsupported versions of Ogre in our CI then:

  1. Seems weird that our own CI uses an unsupported version, we might need to rethink about it
  2. As a workaround, we can enable -DUSE_UNOFFICAL_OGRE_VERSIONS:ON to get rid of the warning

Failure was not the intended result in any case of this PR, we need to consider it as a bug and resolved as soon as we can.

@scpeters
Copy link
Member

is this new USE_UNOFFICAL_OGRE_VERSIONS in use anywhere yet? can we fix the spelling to USE_UNOFFICIAL_OGRE_VERSIONS?

@j-rivero
Copy link
Contributor Author

is this new USE_UNOFFICAL_OGRE_VERSIONS in use anywhere yet? can we fix the spelling to USE_UNOFFICIAL_OGRE_VERSIONS?

I did not use it anywhere. It should be fixed, I'll open a PR.

@traversaro
Copy link
Contributor

Sorry for being a bit late to the party. : ) However, I was trying to debug some probably related regression in conda-forge/libignition-rendering4-feedstock#19 (comment) , and I was trying to understand how to use the new USE_UNOFFICIAL_OGRE_VERSIONS option, and I may be wrong, but it seems that if USE_UNOFFICIAL_OGRE_VERSIONS is ON, then find_package(IgnOgre <..>) is never invoked? Is that the case, or I am missing something obvious?

@j-rivero
Copy link
Contributor Author

j-rivero commented Oct 4, 2021

Sorry for being a bit late to the party. : ) However, I was trying to debug some probably related regression in conda-forge/libignition-rendering4-feedstock#19 (comment) , and I was trying to understand how to use the new USE_UNOFFICIAL_OGRE_VERSIONS option, and I may be wrong, but it seems that if USE_UNOFFICIAL_OGRE_VERSIONS is ON, then find_package(IgnOgre <..>) is never invoked? Is that the case, or I am missing something obvious?

ouch #453

@j-rivero j-rivero removed this from Done in Core development May 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏰 citadel Ignition Citadel needs upstream release Blocked by a release of an upstream library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants