-
Notifications
You must be signed in to change notification settings - Fork 86
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
Gazebo not building? (ogre1_9) #260
Comments
I am facing the same issue, gazebo and rviz are having this issue with ogre1_9, and by changing it to ogre it has to build from source. The strange thing is that I tested the example command
{
description = "A very basic flake";
inputs.nixros.url = "github:lopsided98/nix-ros-overlay";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, nixros, flake-utils }:
with nixpkgs.lib;
with flake-utils.lib;
eachSystem allSystems (system: let
pkgs = import nixpkgs {
inherit system;
overlays = [ nixros.overlays.default ];
};
in {
legacyPackages = pkgs.rosPackages;
devShells = {
teste = import ./teste.nix { inherit pkgs; };
};
}) // {
};
nixConfig = {
extra-substituters = [ "https://ros.cachix.org" ];
extra-trusted-public-keys = [ "ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo=" ];
};
}
# Run:
# roslaunch turtlebot3_gazebo turtlebot3_world.launch
# roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
{ pkgs ? import ../. {} }:
with pkgs;
with rosPackages.noetic;
with pythonPackages;
mkShell {
buildInputs = [
glibcLocales
(buildEnv { paths = [
rosbash
rostopic
roslaunch
std-msgs
ublox
navigation
joy
teleop-twist-keyboard
teleop-twist-joy
#teb-local-planner
twist-mux
rqt-tf-tree
#(rviz.override {ogre1_9 = ogre; })
diffbot-control
#turtlebot3-description
#turtlebot3-teleop
#turtlebot3-gazebo
#(gazebo.override { ogre1_9 = ogre; })
#(gazebo-plugins.gazebo.override { ogre1_9 = ogre; })
xacro
]; })
];
ROS_HOSTNAME = "localhost";
ROS_MASTER_URI = "http://localhost:11311";
TURTLEBOT3_MODEL = "burger";
} |
You are using a newer version of nixpkgs than I test with (https://github.com/lopsided98/nixpkgs/tree/nix-ros). I will try to fix this when I update nixpkgs, but last time I checked Gazebo fails at runtime with newer Ogre versions, see: #161 |
I changed the nixpkgs url to the one you mentioned, and it gave the same result of ogre1_9 being removed. But I saw that your lock file was last updated two months ago, so I changed the rev to the one in the lock file (github:lopside98/nixpkgs/61852b7faa8b47aad422adca0fea90fe007e9ead), and is now compiling from source, but I think it is using ogre1_9, so perhaps this can be used as a temporary fix in my case. |
Sorry, yeah, I forgot I updated it and never checked what new packages failed to build. |
Found the commits that removed ogre1_9: lopsided98/nixpkgs@40f52d9 for the nix file, and lopsided98/nixpkgs@ea97d50 for the alias, not sure why they did it. |
I assume that it was removed because nothing in nixpkgs uses it anymore. |
Found now another issue while building: collision with the ros-noetic-python-qt-binding. warning: Using saved setting for 'extra-substituters = https://ros.cachix.org' from ~/.local/share/nix/trusted-settings.json.
warning: Using saved setting for 'extra-trusted-public-keys = ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo=' from ~/.local/share/nix/trusted-settings.json.
warning: ignoring untrusted substituter 'https://ros.cachix.org'
error: builder for '/nix/store/fsfwgcw3r9xvwk7yjgc32swfysf3xigv-ros-env.drv' failed with exit code 255;
last 2 log lines:
> building
> error: collision between `/nix/store/a9yg3jax0mj9y07c6785wfhyz91v9bgr-ros-noetic-python-qt-binding-0.4.4-r1/lib/python3.10/site-packages/python_qt_binding/__pycache__/binding_helper.cpython-310.pyc' and `/nix/store/ljrswlz02fc1a7qvhjw8yhcxkcp4byka-ros-noetic-python-qt-binding-0.4.4-r1/lib/python3.10/site-packages/python_qt_binding/__pycache__/binding_helper.cpython-310.pyc'
For full logs, run 'nix log /nix/store/fsfwgcw3r9xvwk7yjgc32swfysf3xigv-ros-env.drv'.
error: 1 dependencies of derivation '/nix/store/6cpx9cpmnzm098xqalgl02xsgc2x3qcr-nix-shell-env.drv' failed to build nix log /nix/store/fsfwgcw3r9xvwk7yjgc32swfysf3xigv-ros-env.drv
@nix { "action": "setPhase", "phase": "buildPhase" }
building
error: collision between `/nix/store/a9yg3jax0mj9y07c6785wfhyz91v9bgr-ros-noetic-python-qt-binding-0.4.4-r1/lib/python3.10/site-packages/python_qt_binding/> The changes I did to the flake where (apart from adding rviz as a package): inputs = {
nixpkgs.url = "github:lopsided98/nixpkgs/61852b7faa8b47aad422adca0fea90fe007e9ead";
flake-utils.url = "github:numtide/flake-utils/3db36a8b464d0c4532ba1c7dda728f4576d6d073";
nixros.url = "github:lopsided98/nix-ros-overlay";
}; I really don't know how the collision is happening. |
I switched Gazebo to use Ogre 1.10, which allows it to build and run, but has the bug where adding multiple light sources causes it to freeze (discussed in #161). Gazebo fails to build with Ogre 13. I believe that collision occurs because rviz requires a patched version of Qt5, so you end up with two versions of |
Got it to get rviz from the cache, but now the issue is a mismatch with the qt lib versions rviz
[ INFO] [1682992662.770088495]: rviz version 1.14.19
[ INFO] [1682992662.770105880]: compiled against Qt version 5.15.8
[ INFO] [1682992662.770111971]: compiled against OGRE version 1.9.0 (Ghadamon)
Cannot mix incompatible Qt library (5.15.7) with this library (5.15.8)
Aborted (core dumped) Is there a way to specify the qt lib version of rviz, like how it was done for ogre? I could only find mentions of qt5 on the default.nix from rviz, but I am not sure where is the file of qt5. |
I think you must be mixing nixpkgs versions somehow. |
I think I found the source of the issue. I am running nixos with kde, and I think it is using qt-5.15.7. I ran strace on rviz and I saw that both qt-5.15.8 and qt-5.15.7 are being mentioned, with qt-5.15.7 appearing when it tries to grab configs from kde. Perhaps there is a way to isolate the nix develop for it to not try to search kde configs, which might be why it is loading qt-5.15.7. I also find these issues, which are probably related to this somehow: NixOS/nixpkgs#30551 and supercollider/supercollider#5777 |
I have similar problem as #437, my current solution is |
Tried to use the gazebo package from the overlay, but it wouldn't build, giving the error
ogre1_9 has been removed, use ogre instead
. Replacinggazebo
in my package list with(gazebo.override { ogre1_9 = ogre; })
worked, but then cachix didn't work, so it was building from source. Tried applying the overlay to nixpkgs 22.11 (the rest of my system is on unstable), and using the gazebo from that did build, but still from source, and when ran, gave an error about mismatched glibc versions (I believe it was expecting a newer version than it found). Any advice on what to do here? Is it a problem with the overlay or am I just doing something wrong?note: For debugging, I also tried applying the overlay to the version of nixpkgs in the flake for this repo, and I tried using the module. Both of them gave the same ogre1_9 error.
The text was updated successfully, but these errors were encountered: