LINUX.ORG.RU

libMesaOpenCL - что это за недоразумение?

 ,


0

2

Почему бы не назваться просто libOpenCL? Чтобы не воевать с проприетарным, как libGL? Так эту проблему решили с помощью /etc/OpenCL/vendors!

У меня даже clinfo не компилится:

rpmbuild --rebuild clinfo-2.0.15.03.24-3.1.src.rpm
error: Failed build dependencies:
	pkgconfig(OpenCL) is needed by clinfo-2.0.15.03.24-3.1.x86_64

Может, это я накосячил, и грамотно написаный pc-файл заставит приложение видеть нестандартную либу без необходимости переименовывать её. А разрабам не придётся добавлять поддержку эксклюзивно для Месы. А у мейнтейнеров не будет головной боли с «юзер поменял открытый драйвер на закрытый - отвалилось всё OpenCL-ное». Но что-то я в этом сомневаюсь.

★★★★★

Последнее исправление: ZenitharChampion (всего исправлений: 1)

В чем проблема то? Линковаться нужно только с libOpenCL, вендорские либы загружаются в рантайме и называться могут как угодно. Поиск имеющихся имплементаций идет по файлам в /etc/OpenCL/vendors/.

Подозреваю, что для libOpenCL есть отдельный пакет, либо можно собрать: https://www.khronos.org/registry/cl/icd/2.0/opengl-icd-2.0.5.0.tgz

anonymous
()
$ pkgfile libOpenCL.so
extra/ocl-icd
community/cuda
multilib/lib32-ocl-icd

У зюзи должен быть аналог этой команды.

yurikoles ★★★
()
Ответ на: комментарий от anonymous

Проблема может быть например в репозитории Debian из 40000 пакетов. Какой-то процент из них компилируется с OpenCL. Header-ов недостаточно, надо ещё либу. Ну не проприетарную же брать - возьмут libMesaOpenCL.so.1! А пользователь первым делом установит проприетарный драйвер, и его софт скажет «file not found».

> Подозреваю, что для libOpenCL есть отдельный пакет

Ищу...

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от i_gnatenko_brain

Спасибо! Всё заработало. Кошмар, как же всё не очевидно... Сначала я узнал что опенсорсная реализация OpenCL называется Clover, но пакета нет! Тогда я узнал что библиотека - в Mesa. --enable-opencl и --enable-opencl-icd - а теперь мы хотим GCC 4.7, libclc и libomxil-bellagio. А ещё LLVM версии не ниже 3.5, а у меня 3.4. А LLVM 3.5 хочет binutils >= 2.1.90. Ах да, ещё Clover хочет libdrm 2.4.56.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Не-дауны выполняюьт перечисленное так: emerge mesa

anonymous
()
Ответ на: комментарий от ZenitharChampion

Пожалуйста, оставь эту проблему на совести раз-раб-отчиков Debian.
Хотя, я помню как некоторые пакеты Ubuntu тянули за собой mesa, но не libgl1-mesa-glx, qt кажется.

yurikoles ★★★
()
Ответ на: комментарий от ZenitharChampion

А для того, чтобы полностью работал OpenGL 4[.1] нужен clang-3.7.
Welcome to freedesktop.org!

yurikoles ★★★
()
Ответ на: комментарий от ZenitharChampion

Откуда они столько тыщ пакетов придумали ?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.