[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