From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 6AF02138330 for ; Sun, 7 Jan 2018 03:51:15 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 355E6E08C9; Sun, 7 Jan 2018 03:51:09 +0000 (UTC) Received: from blaine.gmane.org (unknown [195.159.176.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C7392E083D for ; Sun, 7 Jan 2018 03:51:08 +0000 (UTC) Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1eY1x8-0003Wt-PT for gentoo-user@lists.gentoo.org; Sun, 07 Jan 2018 04:48:54 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: gentoo-user@lists.gentoo.org From: Grant Edwards Subject: [gentoo-user] Running 3rd-party Ubuntu apps on Gentoo Date: Sun, 7 Jan 2018 03:48:45 +0000 (UTC) Message-ID: X-Complaints-To: usenet@blaine.gmane.org User-Agent: slrn/1.0.2 (Linux) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org X-Archives-Salt: 08cf7808-6fe9-4f07-a1cc-9882225f77b6 X-Archives-Hash: 5da253b120d2475ae9364a38f38acc8a What's a good way to run 3rd party apps packaged for Ubuntu? There are a few third-party binary applications on which I depend. They're usually distributed as .rpm for RedHat and .deb for Ubuntu. AFAICT, Gentoo and Ubuntu library names generally match, while RedHat seems to slightly munge many (all?) library names. So, I've always had better luck with .deb than with .rpm. Usually I try unpacking the .deb file into it's own tree under /opt and then running the app. Sometimes it requires a shell wrapper to set LD_LIBRARY_PATH, sometimes the app is smart enough to locate it's libraries. This has always been a bit fragile. For example, one app I use frequently requires qt4 webkit. It works at the moment, but the qt4 webkit ebuild has been masked and is scheduled for removal. In other cases, the Gentoo libraries don't have quite the same features expected by the app. In cases like this I've ended up copying .so files from an Ubuntu machine into the app's directory in /opt. Figuring out which libraries you need to copy can be a bit tedious. It's simple enough to figure out when you're _missing_ a library, but incompatibilities can be very difficult to figure out. I'm looking for a more robust way to deal with this. I haven't tried any of these options yet... 1) Create a docker container for each of the apps and share the X server Unix domain socket with the container (they're almost always GUI apps). Will this stop working under Wayland since it doesn't support "remote" applications. [I really don't want to deal with a remote desktop -- I just want the app to open a window on my normal desktop.] 2) Install Ubuntu in a second partition and install the apps there. Then under Gentoo, mount that partition and run the app binaries in situ after setting LD_LIBRARY_PATH to make sure the app finds the Ubuntu libraries instead of the Gentoo ones. Or instead of setting LD_LIBRARY_PATH, run the apps in a chroot environment that shares the X11 Unix domain socket and some directories with the Gentoo portion? 3) Run the apps in a VM that's running Ubuntu using a TCP connection between the Ubuntu app (X11 client), and the X11 server on Gentoo. Booting up a VM each time I want to run one of the apps seems pretty heavyweight. Any other suggestions? -- Grant