Bug 2756 - libOpenCL package
: libOpenCL package
Status: CONFIRMED
Product: Desktop Features
Classification: ROSA Desktop
Component: All
: unspecified
: x86_64 Linux
: Normal normal
: ---
Assigned To: ROSA Linux Bugs
: ROSA Linux Bugs
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-10-09 11:57 MSD by ra oeai
Modified: 2015-05-15 12:45 MSD (History)
3 users (show)

See Also:
RPM Package:
ISO-related:
Bad POT generating:
Upstream:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ra oeai 2013-10-09 11:57:26 MSD
openCL can work without fglrx- or nvidia-

it is needed sometimes for some programs
Comment 1 ra oeai 2013-10-29 00:47:19 MSK
current fglrx-opencl and nvidia-opencl doesn't provide a link to /lib/libopencl.so
this causes software to not use it most probably
i'm trying to build an opencl program with installed fglrx-opencl and it is not finding that lib
will try to propose a spec fix maybe, but i'm not quite sure on how this should differ for x64 vs x32
Comment 2 ra oeai 2013-10-29 00:50:50 MSK
and i didn't find it in abf, so maybe that's why i cannot find it with requires spec?
Comment 3 Denis Silakov 2013-10-29 11:34:36 MSK
In ABF, opencl packages are built as part of corresponding drivers - e.g., fglrx-opencl isa part of fglrx project:

https://abf.rosalinux.ru/import/fglrx/blob/rosa2012.1/fglrx.spec#L305

As for your initial question - opencl implementation always depends on particular hardware and thus on particular driver. I think that the correct resolution of your problem is just to add some provides to fglrx-opencl and nvidia-*-opencl to rely on. There is no need to add a symlink. Instead, the packages should adjust ldconfig path to look into their private directories; and as far as I can see, this is already implemented in post scripts. So if you install fglrx-opencl, you should be able to launch any program that uses libOpenCL.so.1.

Though feel free to suggest your improvements to our packages, it seems that there are not so many people dealing with OpenCL in ROSA atm.
Comment 4 Aleksandr Kazantcev 2013-10-29 11:39:54 MSK
One question - you try use 32 bit opencl in 64 bit system? But our hardware blobs non-installed in another arch - you may not install 32 bit blobs in 64 bit system. If answer for question is 'yes', why you need use 32 bit libs in 64 bit?
Comment 5 ra oeai 2013-10-29 12:39:01 MSK
no, i'm trying to use 64bit opencl,
and i got a problem with ld in abf, 
i don't know how to adjust ldconfig in spec
here's the build of package itself with error
https://abf.rosalinux.ru/build_lists/1372558

i've been trying to add fglrx, but don't know how to enable fglrx-opencl after that and how to include the path of fglrx-opencl into ldconfig, i thought i could use some libdir options but it didn't work for me.

and as for the initial question thre was a problem when i was using not fglrx-driver and vega-strike i don't remember already the 3d app maybe same luxrener was telling about no-opencl, while i was using opencl-lib without fgrlx before, that was an open source driver that actually can use opencl too.
Comment 6 Denis Silakov 2013-10-29 13:32:32 MSK
(In reply to comment #5)
> no, i'm trying to use 64bit opencl,
> and i got a problem with ld in abf, 
> i don't know how to adjust ldconfig in spec
> here's the build of package itself with error
> https://abf.rosalinux.ru/build_lists/1372558
> 

But this particular problem has nothing to do with opencl. You should somehow add '-lpthread' to ld command line. A fix for this depends on particular package, but in general something like this will help before cmake:

export LDFLAGS='-lpthread'

Note hat you can also try to use %cmake macro instead of direct call to this program.
Comment 7 ra oeai 2013-10-29 14:31:53 MSK
can i add with export fglrx-opencl? 
since there's no such package, i was trying to add fglrx first with no success
and the problem for me was on how to add fglrx, then fglrx-opencl and then tell to use it in build
Comment 8 Denis Silakov 2015-03-31 23:55:27 MSD
As far as I understand, the real problem is that we don't have libOpenCL.so in our fglrx-devel package. For example, in proprietary nvidia*-devel packages, we do have such a symlink (and that packages require nvidia*-cuda-opencl, as a result).

Maybe it makes sense to implement something similar if fglrx-devel package?