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.625305
First Submitted: 2008-10-18 22:59
Last Updated: 2018-06-02 18:36

Dependencies (32)

Sources (2)

Latest Comments

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.

lennonwoo commented on 2018-03-05 04:20

@racko, it seem missing the dependence of gxlinfo or python-opengl package in my machine, so after I installed the package listed before, gazebo could be installed successfully.

But I can't reproduce the problem after I remove the gxlinfo & python-opengl and reinstall gazebo package.

Check https://bitbucket.org/osrf/gazebo/issues/2059/fail-to-build-current-gazebo-git for more detail discuss.

racko commented on 2018-03-02 18:04

Could you check the terminal output? I fear that CMakeError.log is not helping. I find

Determining if the function pthread_create exists in the pthread passed with the following output:

in CMakeOutput.log and

Determining if the pthread_create exist failed with the following output:

in CMakeError.log after a successful build.

lennonwoo commented on 2018-03-01 06:07

Hello,

Thanks for mantaining this package!

I try to use yaourt to install this package, but fall through minor issues when build gazebo.

The CMakeError.log as follows

Determining if the pthread_create exist failed with the following output:

Change Dir: /tmp/yaourt-tmp-lennon/aur-gazebo/src/gazebo-9.0.0/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_18ece/fast"

/usr/bin/make -f CMakeFiles/cmTC_18ece.dir/build.make CMakeFiles/cmTC_18ece.dir/build

make[1]: Entering directory '/tmp/yaourt-tmp-lennon/aur-gazebo/src/gazebo-9.0.0/build/CMakeFiles/CMakeTmp'

Building C object CMakeFiles/cmTC_18ece.dir/CheckSymbolExists.c.o

/usr/bin/cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -o CMakeFiles/cmTC_18ece.dir/CheckSymbolExists.c.o -c /tmp/yaourt-tmp-lennon/aur-gazebo/src/gazebo-9.0.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c

Linking C executable cmTC_18ece

/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_18ece.dir/link.txt --verbose=1

/usr/bin/cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -rdynamic CMakeFiles/cmTC_18ece.dir/CheckSymbolExists.c.o -o cmTC_18ece

CMakeFiles/cmTC_18ece.dir/CheckSymbolExists.c.o: In function `main':

CheckSymbolExists.c:(.text.startup+0x3): undefined reference to `pthread_create'

collect2: error: ld returned 1 exit status

make[1]: *** [CMakeFiles/cmTC_18ece.dir/build.make:98: cmTC_18ece] Error 1

make[1]: Leaving directory '/tmp/yaourt-tmp-lennon/aur-gazebo/src/gazebo-9.0.0/build/CMakeFiles/CMakeTmp'

make: *** [Makefile:126: cmTC_18ece/fast] Error 2

File /tmp/yaourt-tmp-lennon/aur-gazebo/src/gazebo-9.0.0/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: / /

include <pthread.h></pthread.h>

int main(int argc, char** argv) { (void)argv;

ifndef pthread_create

return ((int*)(&pthread_create))[argc];

else

(void)argc; return 0;

endif

CheckSymbolExists.c:(.text+0x1b): undefined reference to `pthread_create'

I guess add flag or find_package(Threads) in the CMakeLists.txt in the src directory should fix the problem, but it doesn't.

Is there someway to solve this issue. I have no idea how to search it by google now.

Best regards,

lennon

All comments