You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I originally discovered this issue while researching gazebosim/gz-sensors#62 and found that FindIgnOGRE2 fails to find the correct version of libOgreOverlay in both macOS/homebrew and Linux if CMAKE_PREFIX_PATH is set to /usr (Linux) or /usr/local (macOS homebrew). The issue should be fixed for macOS/homebrew by #125, which is more critical, since the homebrew bottles of ignition-rendering4 are broken without this fix. The issue persists for Linux however.
Background
Both ogre1.9 and ogre2.1 install component libraries named libOgreOverlay. For ogre1.9, an unversioned symbolic link is
installed directly into the lib folder, while in our debian libogre-2.1-dev and brew ogre2.1 packages, an unversioned symbolic
link is installed in lib/OGRE-2.1.
The FindIgnOGRE2 find module uses find_library to find Ogre component libraries with HINTS pointing to the lib/OGRE-2.1 subfolder, which is helpful but limited because the CMAKE_PREFIX_PATH is searched before the HINTS. While a workaround has been added for macOS in #125, it is still broken on Linux if CMAKE_PREFIX_PATH=/usr (see #125 (comment)).
How to reproduce
I've created a debugging branch on release-tools that sets CMAKE_PREFIX_PATH=/usr right before calling cmake .. for Linux builds:
Summary
I originally discovered this issue while researching gazebosim/gz-sensors#62 and found that
FindIgnOGRE2
fails to find the correct version oflibOgreOverlay
in both macOS/homebrew and Linux ifCMAKE_PREFIX_PATH
is set to/usr
(Linux) or/usr/local
(macOS homebrew). The issue should be fixed for macOS/homebrew by #125, which is more critical, since the homebrew bottles ofignition-rendering4
are broken without this fix. The issue persists for Linux however.Background
Both
ogre1.9
andogre2.1
install component libraries namedlibOgreOverlay
. Forogre1.9
, an unversioned symbolic link isinstalled directly into the
lib
folder, while in our debianlibogre-2.1-dev
and brewogre2.1
packages, an unversioned symboliclink is installed in
lib/OGRE-2.1
.The
FindIgnOGRE2
find module usesfind_library
to find Ogre component libraries withHINTS
pointing to thelib/OGRE-2.1
subfolder, which is helpful but limited because theCMAKE_PREFIX_PATH
is searched before theHINTS
. While a workaround has been added for macOS in #125, it is still broken on Linux ifCMAKE_PREFIX_PATH=/usr
(see #125 (comment)).How to reproduce
I've created a debugging branch on release-tools that sets
CMAKE_PREFIX_PATH=/usr
right before callingcmake ..
for Linux builds:I ran the
ignition_rendering-ci-ign-rendering4-bionic-amd64
build with this release-tools branch and confirmed that many ogre2 tests fail:The text was updated successfully, but these errors were encountered: