[Mesa-dev] [PATCH v2] gallium/targets: don't leave an empty target directory(ies)

Damien Grassart damien at grassart.com
Sun Mar 5 21:56:29 UTC 2017


This breaks make install for me as well.

Does this patch make sense for XvMC since by default it gets installed to
'${libdir}' (while VDPAU goes to '${libdir}/vdpau' by default)? Should
there be a check to make sure ${dest_dir} isn't ${libdir}?

Thanks,
-Damien

On Sun, Mar 5, 2017 at 3:11 PM Andy Furniss <adf.lists at gmail.com> wrote:

> Emil Velikov wrote:
> > Some drivers do not support certain targets - for example nouveau
> > doesn't do VAAPI, while freedreno doesn't do of the video backends.
> >
> > As such if we enter vdpau when building freedreno/ilo/etc, a vdpau/
> > folder will be created, empty library will be build and almost
> > immediately removed. Thus keeping an empty vdpau/ folder around.
> >
> > There are two ways to fix this.
> >
> >  * add substantial tracking in configure/makefiles so that we never end
> > up in targets/vdpau
> >  Downsides:
> > Error prone, as the configure checks and the 'include
> > gallium/drivers/foo/Automake.inc' can easily get out of sync.
> >
> >  * remove the folder, if empty, alongside the empty library.
> >  Downsides:
> > In the latter case vdpau/ might be empty before the mesa build has
> > started, yet we'll remove it either way.
> >
> > This patch implements the latter option, as the downside isn't that
> > significant, plus the patch is way shorter ;-)
> >
> > v2: use has_drivers to track since TARGET_DRIVERS can contain space,
> > hence neither string comparison nor -n/-z works correctly.
>
> This breaks make install on my setup.
>
>   ./autogen.sh --prefix=/usr --sysconfdir=/etc --enable-texture-float
> --enable-opencl --enable-omx --with-egl-platforms=x11,drm
> --with-gallium-drivers=radeonsi,swrast --enable-gbm
> --enable-shared-glapi --enable-glx-tls --with-dri-drivers= && make -j5
>
> ....
>
> make install
>
> ....
>
> Making install in state_trackers/xvmc
> make[4]: Entering directory
> '/mnt/sdb1/Gits/mesa/src/gallium/state_trackers/xvmc'
> make[5]: Entering directory
> '/mnt/sdb1/Gits/mesa/src/gallium/state_trackers/xvmc'
> make[5]: Nothing to be done for 'install-exec-am'.
> make[5]: Nothing to be done for 'install-data-am'.
> make[5]: Leaving directory
> '/mnt/sdb1/Gits/mesa/src/gallium/state_trackers/xvmc'
> make[4]: Leaving directory
> '/mnt/sdb1/Gits/mesa/src/gallium/state_trackers/xvmc'
> Making install in targets/xvmc
> make[4]: Entering directory '/mnt/sdb1/Gits/mesa/src/gallium/targets/xvmc'
> make[5]: Entering directory '/mnt/sdb1/Gits/mesa/src/gallium/targets/xvmc'
> make[5]: Nothing to be done for 'install-exec-am'.
>   /bin/mkdir -p '/usr/lib'
>   /bin/sh ../../../../libtool   --mode=install /usr/bin/install -c
> libXvMCgallium.la '/usr/lib'
> libtool: install: /usr/bin/install -c .libs/libXvMCgallium.so.1.0.0
> /usr/lib/libXvMCgallium.so.1.0.0
> libtool: install: (cd /usr/lib && { ln -s -f libXvMCgallium.so.1.0.0
> libXvMCgallium.so.1 || { rm -f libXvMCgallium.so.1 && ln -s
> libXvMCgallium.so.1.0.0 libXvMCgallium.so.1; }; })
> libtool: install: (cd /usr/lib && { ln -s -f libXvMCgallium.so.1.0.0
> libXvMCgallium.so || { rm -f libXvMCgallium.so && ln -s
> libXvMCgallium.so.1.0.0 libXvMCgallium.so; }; })
> libtool: install: /usr/bin/install -c .libs/libXvMCgallium.lai
> /usr/lib/libXvMCgallium.la
> libtool: finish: PATH="/sbin:/bin:/usr/sbin:/usr/bin:/sbin" ldconfig -n
> /usr/lib
> ----------------------------------------------------------------------
> Libraries have been installed in:
>     /usr/lib
>
> If you ever happen to want to link against installed libraries
> in a given directory, LIBDIR, you must either use libtool, and
> specify the full pathname of the library, or use the '-LLIBDIR'
> flag during linking and do at least one of the following:
>     - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
>       during execution
>     - add LIBDIR to the 'LD_RUN_PATH' environment variable
>       during linking
>     - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
>     - have your system administrator add LIBDIR to '/etc/ld.so.conf'
>
> See any operating system documentation about shared libraries for
> more information, such as the ld(1) and ld.so(8) manual pages.
> ----------------------------------------------------------------------
> make  install-data-hook
> make[6]: Entering directory '/mnt/sdb1/Gits/mesa/src/gallium/targets/xvmc'
>    GEN      install-data-hook
> /bin/sh: line 16: test: -eq: unary operator expected
> rm: cannot remove ‘//usr/lib’: Directory not empty
> Makefile:1059: recipe for target 'install-data-hook' failed
> make[6]: *** [install-data-hook] Error 1
> make[6]: Leaving directory '/mnt/sdb1/Gits/mesa/src/gallium/targets/xvmc'
> Makefile:987: recipe for target 'install-data-am' failed
> make[5]: *** [install-data-am] Error 2
> make[5]: Leaving directory '/mnt/sdb1/Gits/mesa/src/gallium/targets/xvmc'
> Makefile:939: recipe for target 'install-am' failed
> make[4]: *** [install-am] Error 2
> make[4]: Leaving directory '/mnt/sdb1/Gits/mesa/src/gallium/targets/xvmc'
> Makefile:600: recipe for target 'install-recursive' failed
> make[3]: *** [install-recursive] Error 1
> make[3]: Leaving directory '/mnt/sdb1/Gits/mesa/src/gallium'
> Makefile:856: recipe for target 'install-recursive' failed
> make[2]: *** [install-recursive] Error 1
> make[2]: Leaving directory '/mnt/sdb1/Gits/mesa/src'
> Makefile:1013: recipe for target 'install' failed
> make[1]: *** [install] Error 2
> make[1]: Leaving directory '/mnt/sdb1/Gits/mesa/src'
> Makefile:644: recipe for target 'install-recursive' failed
> make: *** [install-recursive] Error 1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170305/7d3da890/attachment.html>


More information about the mesa-dev mailing list