Something messed up in linux emulation

Theron theron.tarigo at gmail.com
Sun Jun 10 20:31:58 UTC 2018


> I think you miss my point. I know how to install linux-c7-libpng. My 
> concern is why this whole set of ports was not already installed.
Sorry to have been unclear.  I meant to suggest that linux-c7-libpng was 
already "installed" i.e. registered as such, but that its files were 
missing due to some other problem.
> I kept adding one port after another, but I have no idea where that 
> ends. The ports  system should install all dependencies automatically. 
> Since only a single linux emulation port is a dependency, I guessed 
> that linux-c7-gtk2 is the culprit, bu reinstalling it generated that 
> odd message:
> Installing linux-c7-gtk2-2.24.31...
> /compat/linux/usr/bin/gtk-query-immodules-2.0-32: error while loading
> shared libraries: libpng15.so.15: cannot open shared object file: No such
> file or directory
>
> Looking at linux-c7-gtk2, I see "USE_LINUX=      atk gdkpixbuf2 pango 
> xorglibs". I have already re-installed atk and pango, but the others 
> are not installed. Since pkg shows that these are not installed, I 
> would have expected that building linux-c7-gtk2 to have installed 
> them. /usr/ports/Mk/Uses/linux.mk <http://linux.mk> states "# 
> USE_LINUX     List of Linux packages to depend on." So I am baffled as 
> to why these ports are not being installed. (I have tried both 
> portmaster(8) and a simple make(1).) Clearly something is broken here 
> and it looks a lot like the ports system, mabey linux.mk 
> <http://linux.mk>.
>
Deleting /compat/linux/usr/lib/libpng15.so.15* (but leaving 
linux-c7-libpng "installed", although damaged) and then installing 
linux-c7-gtk2 seems to reproduce the behavior you are seeing.  If I 
remove linux-c7-libpng completely, by 'pkg remove' or 'make deinstall', 
then a 'make install' for linux-c7-gtk2 installs the libpng as expected.

On your system, is the Linux libpng port not installed at all, or is 
there some possibility the installation is damaged?

The linux gtk2 has a USE_LINUX for gdkpixbuf2, which in turn has a 
USE_LINUX for png.  While ideally installing a port would check for all 
needed files, this doesn't seem to work, at least for the Linux ports.



More information about the freebsd-emulation mailing list