Package Details: gazebo 9.0.0-2

Git Clone URL: https://aur.archlinux.org/gazebo.git (read-only)
Package Base: gazebo
Description: A multi-robot simulator for outdoor environments
Upstream URL: http://gazebosim.org/
Licenses: Apache
Submitter: None
Maintainer: racko (GPereira)
Last Packager: GPereira
Votes: 22
Popularity: 0.577733
First Submitted: 2008-10-18 22:59
Last Updated: 2018-06-02 18:36

Dependencies (32)

Sources (2)

Latest Comments

LazyLucretia commented on 2018-06-23 12:34

@nicolino Your suggested workaround indeed lets gazebo build. However, I (probably like many other robotics researcher) was trying to install the ros-melodic-desktop-full package which includes gazebo. Unfortunately, downgrading ogre, boost and boost-libs breaks dependencies for ros-melodic-diff-drive-controller which is also a part of ros-melodic-desktop-full package.

nicolino commented on 2018-06-22 14:47

Hi,

I have found a workaround to make it compile and run. I will restrain to make any personal comment, but it is easy to understand where the problem lies.

I have managed to make it work with a combination of luck and downgrade.

Simply downgrade ogre and the combination of boost and boost-libs to the following versions:

Ogre: ogre-1.10.10-3-x86_64.pkg.tar.xz boost: boost-1.66.0-3-x86_64.pkg.tar.xz boost-libs: boost-libs-1.66.0-3-x86_64.pkg.tar.xz

It then works without any patch.

OF COURSE IT BREAKS BOOST DEPENDENCIES but if you are reading this it means you work with Gazebo, and it is probably a research project and you can handle, for a while, this stuff.

Best Regards

LazyLucretia commented on 2018-06-22 11:42

Currently, build fails on my machine with this error message:

[ 14%] Building CXX object gazebo/common/CMakeFiles/gazebo_common.dir/Console.cc.o
/home/umut/.cache/aurman/gazebo/src/gazebo-9.0.0/gazebo/common/Console.cc: In member function ‘void gazebo::common::FileLogger::Init(const string&, const string&)’:
/home/umut/.cache/aurman/gazebo/src/gazebo-9.0.0/gazebo/common/Console.cc:197:12: error: no match for ‘operator==’ (operand types are ‘boost::system::error_code’ and ‘int’)
     if (ec == 0)
         ~~~^~~~
/home/umut/.cache/aurman/gazebo/src/gazebo-9.0.0/gazebo/common/Console.cc:197:12: note: candidate: ‘operator==(int, int)’ <built-in>
/home/umut/.cache/aurman/gazebo/src/gazebo-9.0.0/gazebo/common/Console.cc:197:12: note:   no known conversion for argument 1 from ‘boost::system::error_code’ to ‘int’
In file included from /usr/include/boost/filesystem/path_traits.hpp:23,
                 from /usr/include/boost/filesystem/path.hpp:25,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /home/umut/.cache/aurman/gazebo/src/gazebo-9.0.0/gazebo/common/Console.cc:18:
/usr/include/boost/system/error_code.hpp:611:17: note: candidate: ‘bool boost::system::operator==(const boost::system::error_code&, const boost::system::error_condition&)’
     inline bool operator==( const error_code & code,
                 ^~~~~~~~
/usr/include/boost/system/error_code.hpp:611:17: note:   no known conversion for argument 2 from ‘int’ to ‘const boost::system::error_condition&’
/usr/include/boost/system/error_code.hpp:624:17: note: candidate: ‘bool boost::system::operator==(const boost::system::error_condition&, const boost::system::error_code&)’
     inline bool operator==( const error_condition & condition,
                 ^~~~~~~~
/usr/include/boost/system/error_code.hpp:624:17: note:   no known conversion for argument 1 from ‘boost::system::error_code’ to ‘const boost::system::error_condition&’
/usr/include/boost/system/error_code.hpp:526:26: note: candidate: ‘bool boost::system::operator==(const boost::system::error_code&, const boost::system::error_code&)’
       inline friend bool operator==( const error_code & lhs,
                          ^~~~~~~~
/usr/include/boost/system/error_code.hpp:526:26: note:   no known conversion for argument 2 from ‘int’ to ‘const boost::system::error_code&’
make[2]: *** [gazebo/common/CMakeFiles/gazebo_common.dir/build.make:193: gazebo/common/CMakeFiles/gazebo_common.dir/Console.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1544: gazebo/common/CMakeFiles/gazebo_common.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

1CatchMe1 commented on 2018-06-20 06:16

@GPereira Could you put patches, please?

fanjiang commented on 2018-06-07 14:03

@rochus Tried to compile on Arch Linux with your patch today. Found out that Gazebo still needs one patch in gazebo/rendering/RenderEngine.cc at line 427:

+++
#if (OGRE_VERSION >= ((1 << 16) | (11 << 8) | 0))
    plugins.push_back(path+"/Codec_EXR");
    plugins.push_back(path+"/Codec_FreeImage");
#endif

    plugins.push_back(path+"/RenderSystem_GL");
    plugins.push_back(path+"/Plugin_ParticleFX");
    plugins.push_back(path+"/Plugin_BSPSceneManager");
    plugins.push_back(path+"/Plugin_OctreeSceneManager");

Plus you need to use asp export ogre to get the PKGBUILD of Ogre 1.11 and change the cmake options:

  cmake .. \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DOGRE_BUILD_DEPENDENCIES=FALSE \
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    -DOpenGL_GL_PREFERENCE=GLVND \
    -DOGRE_BUILD_PLUGIN_FREEIMAGE=TRUE

Confirmed that Gazebo 9.0.0 works seamlessly after these patches.

rochus commented on 2018-06-03 07:13

GPereira, I believe that ogre and ogre3d are the same. It appears that aur/ogre3d is ogre locked to version 1.10.11, the other ogre packages have their corresponding version number in the package name (e.g. aur/ogre-1.8, aur/ogre1.9, etc.).

The issue with gazebo and ogre is, that ogre 1.11 introduced several API breaking changes. I tried to follow all the changes in the ogre documentation and apply them to gazebo. I came up with the following PKGBUILD and patch file, with which gazebo compiles fine (excepted for a vast list of deprecation warnings, which I ignored). I didn't have any time yet to test if the compiled version runs fine at all, I was merely interested in compiling it.

PKGBUILD: https://gist.github.com/rochus/547b26bc85a39195e3d1833280798855 ogre-1.11.patch: https://gist.github.com/rochus/003b156bcc8368c8c353be12b748986e gazebo issue: https://bitbucket.org/osrf/gazebo/issues/2475/gazebo9-compile-error-with-ogre111

GPereira commented on 2018-06-02 18:37

Nimoab, is ogre being replaced for ogre3d? is that it? Their website leads to that conclusion but I am not so sure

Nimoab commented on 2018-05-14 03:00

@al3xst I solved that problem by installing the AUR ogre3d package (https://aur.archlinux.org/packages/ogre3d/) and modifying the dependency in the gazebo's PKGBUILD. Also, the ogre3d package had to be compiled without the C++11 support. After rebuilding everythin, I also had a shadow issue. In the end I solved my problem compiling the ogre3d package with these options (don't know if they're all necessary though, especially TESTS and SAMPLES are certainly not, but I wanted to make sure Ogre was working properly before compiling gazebo):

cmake -G"Unix Makefiles" \
        -DOpenGL_GL_PREFERENCE="GLVND" \
        -DOGRE_BUILD_SAMPLES=ON \
        -DOGRE_BUILD_DEPENDENCIES=OFF \
        -DOGRE_BUILD_TESTS=ON \
        -DOGRE_BUILD_COMPONENT_RTSHADERSYSTEM=ON \
        -DOGRE_BUILD_COMPONENT_VOLUME=ON \
        -DOGRE_BUILD_TOOLS=ON \
        -DOGRE_CONFIG_DOUBLE=OFF \
        -DOGRE_INSTALL_SAMPLES=OFF \
        -DOGRE_CONFIG_THREAD_PROVIDER=std \
        -DOGRE_USE_STD11=OFF \
        -DCMAKE_INSTALL_PREFIX=/usr \
        "../${_pkgname}-$pkgver/"

ffmpeg also got updated this morning and I had a similar problem, but with libavcodec.so.57. I coudln't rebuild the gazebo package this time because the name of some constant changed in avcodec.

To rebuild gazebo, I had to patch and rebuild the package ignition-common first, then I could patch and rebuild gazebo

Here are the patches I made:

Hope it helps.

al3xst commented on 2018-05-08 19:54

ogre got updated to version 1.11 but gazebo tries to load explicitly version 1.10.11 of all ogre libraries, so gazebo fails to start right now.

racko commented on 2018-03-05 19:50

Interesting. Thanks for the feedback.

All comments