ros-melodic-arch / ros-melodic-desktop-full

ros-melodic-desktop-fullAUR package
2 stars 0 forks source link

trying to install melodic for the first time #2

Closed salehjg closed 5 years ago

salehjg commented 5 years ago

I am trying to install melodic for the first time on my archlinux. considering that I am new to the whole ROS platform and probably not aware of something obvious, this is the result of my very first try:

$ pacaur -S ros-melodic-desktop-full
:: Package ros-melodic-desktop-full not found in repositories, trying AUR...
:: resolving dependencies...
:: no results found for ignition-math=4 (dependency tree: ros-melodic-desktop-full ros-melodic-simulators ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros ros-melodic-gazebo-dev gazebo ignition-msgs ignition-math)
:: no results found for ignition-transport=4 (dependency tree: ros-melodic-desktop-full ros-melodic-simulators ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros ros-melodic-gazebo-dev gazebo ignition-transport)
:: no results found for sdformat=6 (dependency tree: ros-melodic-desktop-full ros-melodic-simulators ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros ros-melodic-gazebo-dev gazebo sdformat)
:: no results found for ignition-cmake>=2 (dependency tree: ros-melodic-desktop-full ros-melodic-simulators ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros ros-melodic-gazebo-dev gazebo ignition-msgs ignition-cmake)
:: no results found for ignition-math>=6 (dependency tree: ros-melodic-desktop-full ros-melodic-simulators ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros ros-melodic-gazebo-dev gazebo ignition-msgs ignition-math)

Is this related to the fact that the project is under development(according to the comment on AUR ) ?

jwhendy commented 5 years ago

I ran into this as well. There are versioned equivalents for each of those packages, but I'm not sure on the best way to update the affected PKGBUILDs. For example, you want ignition-transport-4, which will satisfy the dependency.

@bionade24 any input on the best way to get our PKGBUILDs to use the custom versioned packages in AUR?

jwhendy commented 5 years ago

For the interim, you can manually install the ignition-foo-n version of each dependency, get gazebo to build, then you should be good to go on the rest.

bionade24 commented 5 years ago

This is in AUR problem. In theory, pacman could handle this, if the old version is lying on the server. I think the only AUR compatible solution is hardcoding this. But it seems like pacaur isn't handling it very good, pikaur is already telling this with location before you can edit PKGBUILD files.

bionade24 commented 5 years ago

Just for information: gazebo isn't maintained by me, so I can't solve it.

jwhendy commented 5 years ago

I just retried my hack and am not not remembering what I did. I was starting from the bottom and trying to move up through the dependencies. It seems the versioned deps are not being picked up?

$ pacman -Qi ignition-cmake
Name            : ignition-cmake-0
Version         : 0.6.1-2
Description     : Provides modules that are used to find dependencies of ignition projects and generate cmake targets for consumers of ignition projects to link against.
Architecture    : any
URL             : http://ignitionrobotics.org/libs/cmake
Licenses        : Apache
Groups          : development
Provides        : ignition-cmake=0
Depends On      : cmake  pkg-config  ruby-ronn  doxygen
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 1469.00 KiB
Packager        : Unknown Packager
Build Date      : Mon 16 Sep 2019 09:09:55 AM CDT
Install Date    : Mon 16 Sep 2019 09:11:28 AM CDT
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : SHA-256 Sum

So, pacman knows ignition-cmake is installed a version =0. But:

$ aur sync ignition-math-4
==> Using [custom] repository
  -> ignition-cmake: (none) -> 2.1.0-3
  -> ignition-math-4: (none) -> 4.0.0-2
==> Retrieving package files
From https://aur.archlinux.org/ignition-cmake
 = [up to date]      master     -> origin/master
From https://aur.archlinux.org/ignition-math-4
 = [up to date]      master     -> origin/master
invalid node: ignition-cmake 2.1.0 (required: =0)

Not sure why it's going for ignition-cmake 2.1.0 instead of what's locally available?

jwhendy commented 5 years ago

Hmm. Must be something odd about aur sync vs. building locally. The process I just used now was:

That worked for me. It's too bad that not all of the above are required by gazebo directly, as it's not possible to just hard-code the -n versions of each package in the PKGBUILD. One would have to follow around each of these deps and make sure they all ask for the versioned package. It's not too bad... the process to build all deps took maybe 15min.

acxz commented 5 years ago

@salehjg I recommend you use yay. I have been using that AUR helper this whole time with ROS and it is working perfectly fine, including this issue.

For example the following command works fine for me: yay -Syu ros-melodic-desktop-full

Ideally, gazebo's maintainer should fix the issues in the gazebo PKGBUILD on his end, (and I have been asking him to (https://aur.archlinux.org/packages/gazebo/#comment-703476)) but he has not yet fixed it. I would recommend you try installing gazebo first, @salehjg and report issues you have to gazebo on their AUR page. After that continue install ros-melodic-desktop-full. In any case I recommend you use yay.

acxz commented 5 years ago

@salehjg Since the errors are directly related to the gazebo package, I am closing this issue. Please let us know if you still cannot install this package.

acxz commented 4 years ago

@ftmzhrsckldr what Linux Distribution are you running? This is the development website for the Arch Linux (not ubuntu or debian) packages of ROS-melodic. On Arch Linux you need to run the following command: ‘yay -S ROS-melodic-desktop-full’ If you are having trouble with the ‘apt-get’ version of this command I am afraid we cannot help. The best place to go for this would be posting on ROS Answers. https://answers.ros.org/questions/ Sorry about that and hope you get your issue resolved quickly.

bionade24 commented 4 years ago

I tried all ways. But I couldn't install the package.

sudo apt-get install ros-melodic-desktop-full

The following packages have unmet dependencies:   ros-melodic-desktop-full: Dependencies: ros-melodic-desktop but will not be installed                              Dependencies: ros-melodic-perception but won't be installed                              Dependencies: ros-melodic-simulators but will not be installed                              Dependencies: ros-melodic-urdf-sim-tutorial but will not be installed E: Problems could not be solved, you have bad packages kept.

Even though this is the wrong page to seek help for Ubuntu/Debian , some short help here: Try to install ROS with aptitude: sudo aptitude install ros-melodic-desktop-full. Aptitude will try to solve the deps for you.

trusktr commented 4 years ago

Is there a difference between how some AUR helpers like yay handle dependencies compared to others like pamac? Or why does ros gazebo install work with yay but not pamac?

acxz commented 4 years ago

So technically only makepkg is supported by ArchLinux, but having an AUR helper is pretty nice since it resolves all the deps, etc. Some AUR helpers are more accurate and less buggy, i.e. they mimic pacman to a closer degree. In my experience (and the communities as well going by the number of votes yay has on the AUR) yay is the best one out there. I highly recommend you use yay since that is also how I do my testing with these packages.

bionade24 commented 4 years ago

yay and pikaur, if you dislike the first for some reasons, are the best maintained and most often updated package managers. Both should work.

ftmzhrsckldr commented 4 years ago

Her yolu denedim. Ama paketi yükleyemedim.

sudo apt-get install ros-melodic-desktop-full

Aşağıdaki paketlerin karşılanmayan bağımlılıkları vardır:   ros-melodik-masaüstü-dolu: Bağımlılıklar: ros-melodik-masaüstü ancak yüklenmeyecek                              Bağımlılıklar: ros-melodik-algı ama yüklenmeyecek                              Bağımlılıklar: ros-melodik-simülatörler ama olmayacak yüklenecek                              Bağımlılıklar: ros-melodik-urdf-sim-öğretici ancak yüklenmeyecek E: Sorunlar çözülemedi, kötü paketler var.

Bu Ubuntu / Debian, burada bazı kısa yardım için yardım aramak için yanlış sayfa olmasına rağmen: yetenek ile ROS yüklemeyi deneyin: sudo aptitude install ros-melodic-desktop-full. Yetenek sizin için depileri çözmeye çalışacaktır.

Yes it worked thank you

salehjg commented 4 years ago

might be useful for ppl reading this issue: https://gist.github.com/salehjg/ed06147e25ab10e2c34f46860f1a65d5

bionade24 commented 4 years ago

@salehjg Could you please put it into the Arch wiki?

acxz commented 4 years ago

Some of that information is actually outdated.

bionade24 commented 4 years ago

I detected that my ROS_PYTHON_VERSION always gets sat to 2, even though I have export ROS_PYTHON_VERSION=3 in my .zshenv. Anyone experiencing the same issue or know how to solve this?

jwhendy commented 4 years ago

I detected that my ROS_PYTHON_VERSION always gets sat to 2

How do you know? Googling around led me to this wiki, which has essentially the same thing as a step:

cd ~/underlay_ws
export ROS_PYTHON_VERSION=3
rosdep install --from-paths ./src --ignore-src

It works for me manually checking, which is why it would be helpful to know how you diagnosed it as being rest.

$ echo $ROS_PYTHON_VERSION
2
$ export ROS_PYTHON_VERSION=3
$ echo $ROS_PYTHON_VERSION
3
jwhendy commented 4 years ago

Also, I used a variant of this to get catkin build using python3. My version defaulted as 2 above, so it also made me want to add the question: "what is the downside of having it set to 2?" I've not had any negative outcomes yet.

bionade24 commented 4 years ago

Maybe I wasn't clear enough. It gets resetted with every shell start. I added the -DCMAKE flag, of course, too. On one of my machines roscore fails to start with some xml parsing problem if the value is 2, on the other one it doesn't affect anything.

bionade24 commented 4 years ago

Found it : /opt/ros/melodic/etc/catkin/profile.d/1.ros_python_version.sh

jwhendy commented 4 years ago

That seems like your profile isn't sourced, no? Or you think the ros_python_version.sh is overwriting your manually written shell command? Do you source /opt/ros stuff after you export?

bionade24 commented 4 years ago

That seems like your profile isn't sourced, no? Or you think the ros_python_version.sh is overwriting your manually written shell command? Do you source /opt/ros stuff after you export?

Yes, I have this in my .zshenv file, which gets sourced very early, but the ROS related stuff is on the end.