stevenlovegrove / Pangolin

Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
MIT License
2.39k stars 855 forks source link

why no binary packages? #905

Closed doctorcolossus closed 9 months ago

doctorcolossus commented 10 months ago

Hello! I am considering trying to package pangolin for Ubuntu 20.04 in an effort to streamline the installation process of ORB_SLAM3. However, I wanted to first ask whether there is any reason why this apparently not already been attempted by anyone. Is there some reason why it is particularly difficult? Would I regret even trying this? Thanks in advance.

christian-rauch commented 10 months ago

Do you mean something like a Debian or conda package? I published the pangolin package to the ROS repo (https://index.ros.org/p/pangolin/github-stevenlovegrove-Pangolin/). It should be available on humble after the next sync. Even without using ROS, you can add the ROS repo and use the binary Pangolin package after sourcing.

If you are interested in a conda package, I started creating a recipe here https://github.com/christian-rauch/staged-recipes/tree/pangolin.

doctorcolossus commented 10 months ago

Yep, I was thinking of making a Debian-style .deb package for Ubuntu, but my question was just generally whether anyone had made any package anywhere.

I don't really know anything about Pangolin myself except that it's a build dependency of ORB_SLAM3. ORB_SLAM3 is quite a pain to build, and has several other dependencies that also need to be built from source, so I was just thinking about how to simplify that. It seems like mostly people would want to use ORB_SLAM3 with ROS, and ROS is pretty Ubuntu-specific, so it's surprising to me that apparently no one has tried packaging that or its dependencies before.

I was able to build Pangolin eventually, but struggled for a while with: ninja: error: unknown target 'pypangolin_pip_install' ... and: # make: *** No rule to make target 'pypangolin_pip_install'. Stop. ... before correctly venturing that maybe I didn't need the Python installation to build ORB_SLAM3. And I just wonder how many other people have had to go through the same thing, and why apparently no one tried to package this or any of the other dependencies up.

But it's good to know about your ROS and conda efforts! Thank you. I do not use conda and wouldn't want to install it just for this though. And it looks like the ROS package still needs to be built from source via catkin, right? But they are good for reference. I was wondering about a binary package that could just be apt installed and boom. I found that someone made a FreeBSD package, but it's strange that there's none for Ubuntu.

christian-rauch commented 10 months ago

With "ROS repo" I meant the bloomed binary Debian packages in the apt repo (http://packages.ros.org/ros2/ubuntu). You can access the package from the ros2-testing pre-release repo: https://docs.ros.org/en/rolling/Installation/Testing.html. In fact, you could also download that one package directly from here: http://packages.ros.org/ros2-testing/ubuntu/pool/main/r/ros-humble-pangolin/.

christian-rauch commented 9 months ago

I am closing this as Debian packages are now available from the ROS bloom repo. If you need binary packages through other channels, I would suggest asking Linux distributions to package Pangolin.

doctorcolossus commented 9 months ago

Thank you!