On Thursday, 14 May 2020 06:13:33 BST Dale wrote: > François-Xavier Carton wrote: > > Hi, > > > > Is there a way of installing packages in a different prefix while still > > using system packages? I've tried setting EPREFIX, however doing that > > will install all dependencies in the prefix, even if there are already > > installed in the system. > > > > I was hoping to install some packages in user directories, but I also > > don't want to duplicate the packages installed globally. For example, > > most packages eventually depend on gcc, which I definitely don't want to > > compile twice. So ideally, only dependencies that are not installed > > globally should be pulled in. > > > > I was not able to find a way of doing that, but I feel like it shouldn't > > be too hard, because EPREFIX almost does what I want. Does someone know > > if it's possible without too much tweaking? > > > > Thanks, > > -François-Xavier > > I'm clueless on EPREFIX but if you want to avoid compiling a package > twice, would the -k option help? If you have portage set to save the > binaries you compiled before, it would install from that instead of > compiling things twice. > > Just thought I'd mention just in case it would help. > > Dale > > :-) :-) The whole concept of EPREFIX is predicated on installing a Gentoo system within a different path/filesystem than the / of the host installation and being able to run it as a non-root user. As I understand it, using libraries from the main system and potentially altering them in the process is not going to work without changing Gentoo's eprefix intended design. It should be possible to change the prefix paths selectively, in particular the LD_LIBRARY_PATH to link binaries from within the prefix to libraries in the host system, but I'm not sure what privileges are needed to install/run such a hybrid linkage and how an update of the host system will break installed packages within the EPREFIX and vice versa. We're talking of a Frankenstein build here with the potential of install operations on one system would be breaking the other, including portage itself. With containerisation of applications there may be easier ways to achieve what François-Xavier is looking for. I am thinking of running sandboxed applications in the likes of flatpack, snap, zero-install, appimage and whatever else may have been devised lately. However, with these systems you end up using what's already been developed and any static libraries their devs considered desirable. If you want a bespoke installation optimised for your hardware and chosen compilation flags, then you are probably looking to develop a containerised application for your own use. Someone more knowledgeable in both Gentoo's EPREFIX project and containerised apps should chime in soon to offer more helpful advice.