[oi-dev] pkgdepend can not find existing file

Alan Coopersmith alan.coopersmith at oracle.com
Wed Mar 23 21:54:54 UTC 2016


On 03/23/16 12:33 PM, Till Wegmüller wrote:
> Hi
>
> While Packaging mate-screensaver i stumbled upon a funny error message
>
> pkgdepend says:
>
>  >/root/workspace/oi-userland/components/mate/mate-screensaver/build/manifest-i386-mate-screensaver.depend has unresolved dependency '
>  >    depend type=require fmri=__TBD pkg.debug.depend.file=libGL.so.1 \
>  > pkg.debug.depend.reason=usr/libexec/mate-screensaver-gl-helper \
>  >        pkg.debug.depend.type=elf \
>  >        pkg.debug.depend.path=lib \
>  >        pkg.debug.depend.path=usr/lib'.
>
> So as far as i understand it it cannot find libGL.so.1
> Funny is that, this file exists in /usr/lib

It's not saying that it can't find the file, but rather that it cannot find a
package containing /lib/libGL.so.1 or /usr/lib/libGL.so.1 (as either a link or
a file).

> Side note usr/lib/libGL is linked to usr/lib/GL/libGL which is linked to
> var/run/opengl/lib/libGL which finaly links to usr/lib/mesa/libGL.
> Why do those links not directly link to usr/lib/mesa/libGL?

Because the ogl-select runtime service sets the links to the nvidia or mesa
version as needed for the system.   This is also why they're not packaged -
the package can't set the link differently based on the hardware installed
on the system.

This is why xscreensaver has a workaround for this in its manifest:

# pkgdepend can't follow the runtime generated symlinks to libGL
set name=pkg.depend.bypass-generate value=libGL\.so\.1

[... all the files in the package ...]

# Second half of workaround for pkgdepend not handling libGL's magic properly
depend type=require fmri=__TBD pkg.debug.depend.file=usr/lib/mesa/libGL.so.1

https://hg.java.net/hg/solaris-userland~gate/file/0416d82f7f55/components/desktop/xscreensaver/xscreensaver-hacks-gl.p5m

-- 
	-Alan Coopersmith-              alan.coopersmith at oracle.com
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc




More information about the oi-dev mailing list