Using alternatives instead of a conflict for libopencl1?

Vincent Danjean vdanjean at debian.org
Mon Apr 22 12:04:05 UTC 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Le 22/04/2013 12:41, Simon Richter a écrit :
> Hi,
> 
> I've just introduced "Beignet", which is Intel's Open Source OpenCL implementation for Ivy Bridge, into Debian. The library can be loaded either as a full OpenCL implementation or as an ICD driver, so I'd like to avoid two separate packages for both modes, which leaves the problem that I need to introduce a Conflicts: if I use the libOpenCL.so.1 name.

You will need two packages if you want to allow the (IMHO) most useful
layout: a (free) ICD loader such as ocl-icd and lots of ICD (amd, nvidia,
intel(s), pocl, ...)
  The ocl-icd loader allows to specify the ICD to use in a environment
variable, without the need to write a file into /etc/OpenCL/vendors.
It means that it is very useful to test development of ICDs without
being root. Other ICD loaders do not provide this feature and were not
free until now (I do not know for the Beignet's one).
  So, you need a separate package with only the ICD to allow to use
Beignet ICD with non-intel ICD loaders.

> Would it make sense in your opinion to have libOpenCL.so.1 managed via the alternatives subsystem instead?

  For what use case ? You can only have one libOpenCL.so.1 and it should
be compatible with all ICDs (else, they are buggy).

  I hope you do not suggest that Beignet introduces an libOpenCL.so.1
that is an OpenCL implementation instead of a ICD loader? I would oppose
this as this will break expectation of other applications: they depends
on a ICD and it will not work because the installed libOpenCL.so.1
ignores the ICDs...

  If you want a direct implementation of OpenCL without the cost of
the indirection of the ICD loader, please provide it with another
soname and/or into a private subdir (LD_LIBRARY_PATH or rpath should
then be used).


  For my information, if Intel provides an ICD loader with Beignet,
does it correctly use the libOpenCL.so.1 soname (instead of libOpenCL.so
as their previous one was doing?)
  And does it use versionned symbols as ocl-icd or amd ones (or no
symbols as nvidia one) ?

  Regards,
    Vincent

- -- 
Vincent Danjean          Adresse: Laboratoire d'Informatique de Grenoble
Téléphone:  +33 4 76 61 20 11            ENSIMAG - antenne de Montbonnot
Fax:        +33 4 76 61 20 99            ZIRST 51, avenue Jean Kuntzmann
Email: Vincent.Danjean at imag.fr           38330 Montbonnot Saint Martin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQIVAwUBUXUnMNT1zgD6DpudAQiLjA//W+xuP/kQiMrFSx9Xj3ZVMdHSDQ8OULkm
W1PLIXmnupbh6DE7WpuEqNyHAzM9C3rWYXs3U6CikX3eRObp99a7wzFomnnBZ3lT
BKK+s0+N0Ih4KfMEQv5P9BoFj2NnbSFKjc7v0ZY+I+2hmAbFiBt6vjZbPylx2x8d
3YOVTmR5MGYkY1s2D8qGyNPqW9sNQ9t3DDLxUQKyzwYHLHSE2ROd1323O6p5Hd+R
Y3UIrxMWhm2n+2xwpDKrEb/72KhmuQoh3hH8nG1JWyj/6vlRMD3mvSr6g8RMqILZ
lUYSEwBkFSBDCSiiN3P0g9Mf+Jbro1GZEhs3jJ+wct+b29xhj6FzzhMPSpajLPRM
DZwlSjFcP1nSd8yQx6R601yRJ6NfwQnaGbn7BxT02qnvZ0b09Z4BBjsZJ0xMoXm6
4AhDg/eGksFQKpj1mhQTQPCXrrfYAM71AmxiqwVl6ga0HaZOMbzG4GFqEcsJd24z
c5+N/Zc7QMyLL7hA+SpuQNNPkR28KXwZTUcCBJLUtDaa8c30Am7pzha+3eEOHDW4
GCspahfGVyk/1EbryoxsflGjVrJjVdqSUN3PEmUAIpk5NnOWuO7O7zjdTukmfyPU
IaPhS+KywjfcQGQPTkviaNlATpYEqhcbihRrGlCd1tCkpa86fmWcZy+NtYZxVQwq
rplD//WJwvk=
=CU8t
-----END PGP SIGNATURE-----



More information about the pkg-nvidia-devel mailing list